38 #include <boost/assign.hpp> 42 #include <opencv2/opencv.hpp> 48 DiagnosticNodelet::onInit();
49 pub_r_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/red", 1);
50 pub_g_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/green", 1);
51 pub_b_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/blue", 1);
68 const sensor_msgs::Image::ConstPtr& image_msg)
70 if ((image_msg->width == 0) && (image_msg->height == 0)) {
75 image_msg, image_msg->encoding);
76 cv::Mat image = cv_ptr->image;
78 cv::cvtColor(image, image, CV_RGB2BGR);
80 std::vector<cv::Mat> bgr_planes;
81 cv::split(image, bgr_planes);
82 cv::Mat red = bgr_planes[2];
83 cv::Mat blue = bgr_planes[0];
84 cv::Mat green = bgr_planes[1];
PLUGINLIB_EXPORT_CLASS(jsk_perception::RGBDecomposer, nodelet::Nodelet)
void publish(const boost::shared_ptr< M > &message) const
virtual void decompose(const sensor_msgs::Image::ConstPtr &image_msg)
std::vector< std::string > V_string
CvImagePtr toCvCopy(const sensor_msgs::ImageConstPtr &source, const std::string &encoding=std::string())
virtual void unsubscribe()
sensor_msgs::ImagePtr toImageMsg() const