ROS中msg消息转成Mat类型的图像,并将图像保存

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值