00001 #ifndef FACE_CONTOUR_DETECTOR_FILTERS_MASKBLUR_H_ 00002 # define FACE_CONTOUR_DETECTOR_FILTERS_MASKBLUR_H_ 00003 00004 # include <opencv/cv.h> 00005 # include <face_contour_detector/Bgr8.h> 00006 00007 namespace face_contour_detector { 00008 namespace filters { 00009 00012 class MaskBlur { 00013 public: 00017 MaskBlur(int blurWidth, Bgr8 blurColor); 00022 void SetMask(const cv::Mat& mask, unsigned char maskTrue = 0, unsigned char maskFalse = 255); 00026 virtual void Apply(const cv::Mat& input, cv::Mat& output) const; 00027 private: 00028 int m_blurWidth; 00029 Bgr8 m_blurColor; 00030 unsigned char m_maskTrue; 00031 unsigned char m_maskFalse; 00032 const cv::Mat* m_maskPtr; 00033 00034 }; 00035 } 00036 } 00037 00038 #endif /* FACE_CONTOUR_DETECTOR_FILTERS_MASKBLUR_H_ */