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 namespace firevision {
00031 #if 0
00032 }
00033 #endif
00034
00035 class FilterDilation;
00036 class FilterMin;
00037 class ImageDiff;
00038 class ROI;
00039
00040 class FilterGeodesicDilation : public MorphologicalFilter
00041 {
00042 public:
00043 FilterGeodesicDilation(unsigned int se_size = 3);
00044 virtual ~FilterGeodesicDilation();
00045
00046 virtual void apply();
00047
00048 virtual unsigned int num_iterations();
00049
00050 static const unsigned int MARKER;
00051 static const unsigned int MASK;
00052
00053 private:
00054 unsigned char *isotropic_se;
00055 unsigned int se_size;
00056
00057 FilterDilation *dilate;
00058 FilterMin *min;
00059
00060 ImageDiff *diff;
00061
00062 unsigned int iterations;
00063
00064 };
00065
00066 }
00067
00068 #endif