37 #ifndef JSK_PERCEPTION_MORPHOLOGICAL_OPERATOR_H_ 
   38 #define JSK_PERCEPTION_MORPHOLOGICAL_OPERATOR_H_ 
   40 #include <jsk_topic_tools/diagnostic_nodelet.h> 
   41 #include <sensor_msgs/Image.h> 
   42 #include <dynamic_reconfigure/server.h> 
   43 #include <jsk_perception/MorphologicalMaskImageOperatorConfig.h> 
   44 #include <opencv2/opencv.hpp> 
   49   class MorphologicalImageOperatorNodelet:
 
   50     public jsk_topic_tools::DiagnosticNodelet
 
   53     typedef jsk_perception::MorphologicalMaskImageOperatorConfig 
Config;
 
   55       DiagnosticNodelet(name) {}
 
   61     virtual void imageCallback(
const sensor_msgs::Image::ConstPtr& image_msg);
 
   62     virtual void apply(
const cv::Mat& input, cv::Mat& 
output, 
const cv::Mat& element) = 0;
 
   75   class MorphologicalImageOperator: 
public MorphologicalImageOperatorNodelet
 
   82       const cv::Mat& input, cv::Mat& 
output, 
const cv::Mat& element);
 
   92   class Dilate: 
public MorphologicalImageOperator
 
   98   class Opening: 
public MorphologicalImageOperator
 
  104   class Closing: 
public MorphologicalImageOperator