1. image_transport的subscriber与publisher进行ROS节点之间的图像收发
// 发布
image_transport::ImageTransport it(n);
image_transport::Publisher pub = it.advertise("video_image", 1);
sensor_msgs::ImagePtr msg;
//显示
cv::imshow( "video", cv_bridge::toCvShare(msg, "bgr8")->image );
//获得Mat类型图像数据
cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8)->image; //将ROS消息中的图象信息提取,生成新cv类型的图象,复制给CvImage指针
cv_bridge::toCvShare(msg, “bgr8”)->image表示的是一副图像,它将ROS中的消息msg通过cv_bridge的toCvShare函数转换成OpenCV的图像格式,也是按照bgr8进行编码,结果是一个指针,加上->image就是图像了。这句话后面一定要加上cv::waitKey(30); 要不然无法显示接收到的图像。
// 订阅
image_transport