geodesic_dilation.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __FIREVISION_FILTERS_MORPHOLOGY_GEODESIC_DILATION_H_
00026 #define __FIREVISION_FILTERS_MORPHOLOGY_GEODESIC_DILATION_H_
00027
00028 #include <filters/morphology/morphologicalfilter.h>
00029
00030 class FilterDilation;
00031 class FilterMin;
00032 class ImageDiff;
00033 class ROI;
00034
00035 class FilterGeodesicDilation : public MorphologicalFilter
00036 {
00037 public:
00038 FilterGeodesicDilation(unsigned int se_size = 3);
00039 virtual ~FilterGeodesicDilation();
00040
00041 virtual void apply();
00042
00043 virtual unsigned int num_iterations();
00044
00045 static const unsigned int MARKER;
00046 static const unsigned int MASK;
00047
00048 private:
00049 unsigned char *isotropic_se;
00050 unsigned int se_size;
00051
00052 FilterDilation *dilate;
00053 FilterMin *min;
00054
00055 ImageDiff *diff;
00056
00057 unsigned int iterations;
00058
00059 };
00060
00061 #endif