38 #include <boost/assign.hpp> 42 #include <opencv2/opencv.hpp> 48 DiagnosticNodelet::onInit();
49 pub_y_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/y", 1);
50 pub_cr_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/cr", 1);
51 pub_cb_ = advertise<sensor_msgs::Image>(*
pnh_,
"output/cb", 1);
68 const sensor_msgs::Image::ConstPtr& image_msg)
71 image_msg, image_msg->encoding);
72 cv::Mat image = cv_ptr->image;
74 std::vector<cv::Mat> ycc_planes;
76 cv::cvtColor(image, ycc_image, CV_BGR2YCrCb);
79 cv::cvtColor(image, ycc_image, CV_RGB2YCrCb);
82 NODELET_ERROR(
"unsupported format to YCC: %s", image_msg->encoding.c_str());
85 cv::split(ycc_image, ycc_planes);
86 cv::Mat
y = ycc_planes[0];
87 cv::Mat cr = ycc_planes[1];
88 cv::Mat
cb = ycc_planes[2];
#define NODELET_ERROR(...)
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())
PLUGINLIB_EXPORT_CLASS(jsk_perception::YCCDecomposer, nodelet::Nodelet)
virtual void unsubscribe()
sensor_msgs::ImagePtr toImageMsg() const