opening.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 #ifndef __FIREVISION_FILTER_MORPHOLOGY_OPENING_H_
00025 #define __FIREVISION_FILTER_MORPHOLOGY_OPENING_H_
00026
00027 #include <filters/morphology/morphologicalfilter.h>
00028
00029 namespace firevision {
00030 #if 0
00031 }
00032 #endif
00033
00034 class FilterDilation;
00035 class FilterErosion;
00036
00037 class FilterOpening : public MorphologicalFilter
00038 {
00039 public:
00040 FilterOpening();
00041 virtual ~FilterOpening();
00042
00043 virtual void set_src_buffer(unsigned char *buf, ROI *roi,
00044 orientation_t ori = ORI_HORIZONTAL,
00045 unsigned int buffer_num = 0);
00046
00047 virtual void set_src_buffer(unsigned char *buf, ROI *roi,
00048 unsigned int buffer_num);
00049
00050 virtual void set_dst_buffer(unsigned char *buf, ROI *roi);
00051
00052 virtual void set_structuring_element(unsigned char *se,
00053 unsigned int se_width, unsigned int se_height,
00054 unsigned int se_anchor_x, unsigned int se_anchor_y);
00055
00056 virtual void apply();
00057
00058 private:
00059 FilterDilation *dilate;
00060 FilterErosion *erode;
00061 };
00062
00063 }
00064
00065 #endif