00001
00002 00004
00005 #if !defined(AFX_MORPHO4C_H__00F0F961_9C56_11D4_B182_F40EF866FB4A__INCLUDED_)
00006 #define AFX_MORPHO4C_H__00F0F961_9C56_11D4_B182_F40EF866FB4A__INCLUDED_
00007
00008 #ifndef SWIG // Remove whatever is not needed by SWIG
00009
00010 #if _MSC_VER >= 1000
00011 #pragma once
00012 #endif // _MSC_VER >= 1000
00013
00014
00015 #include "ImageGrey.h"
00016
00017 #undef min
00018 #undef max
00019 #include <limits>
00020 using namespace std;
00021
00022 #include <Morpho.h>
00023
00024 #endif // SWIG
00025
00044 class CMorpho4c : public CMorpho
00045 {
00047 virtual CImageGrey * dilate(CImageGrey *in, CImageGrey *out);
00049 virtual CImageGrey * erode(CImageGrey *in, CImageGrey *out);
00050
00052 inline void wshed_process_point(LPPIXEL p, LPPIXEL pp,
00053 QPixelT * qpixel, char *flag);
00054
00055 public:
00056 CMorpho4c();
00057 virtual ~CMorpho4c();
00058
00060 CImageGrey * chamfer(CImageGrey *in, short mode = 0);
00062 CImageGrey *geodesicErosion(CImageGrey *mark, CImageGrey *ref, int border);
00064 CImageGrey *geodesicDilation(CImageGrey *mark, CImageGrey *ref, int border);
00065
00067 CImageGrey * watershed(CImageGrey *in);
00068
00070 CImageGrey * skeleton_anchor (CImageGrey *in, CImageGrey *anchor);
00072 CImageGrey * skeletonTalbotVincent (CImageGrey *in, CImageGrey *anchor);
00073
00075 CImageGrey * connectedComponents(CImageGrey *in);
00076
00077 };
00078
00079 #endif // !defined(AFX_MORPHO4C_H__00F0F961_9C56_11D4_B182_F40EF866FB4A__INCLUDED_)