ROS图像和OpenCV图像相互转换
【只谈干货】ROS图像和OpenCV图像的相互转换
sensor_msgs::Image转Mat
void chatterCallback(const sensor_msgs::Image::ConstPtr& msg)
{
cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);
Mat img = cv_ptr -> image;
cv::imshow("image", img);
cv::waitKey(1);
}
Mat转sensor_msgs::Image
while (ros::ok())
{
Mat image;
sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg();
chatter_pub.publish(msg);
ros::spinOnce();
loop_rate.sleep();
}