利用ROS中image_transport将sensor_msgs/CompressedImage转为sensor_msgs/Image

image_transport的ROS官网:http://wiki.ros.org/image_transport

image_transport的具体用法:

rosrun image_transport republish [in_transport] in:=<in_base_topic> [out_transport] out:=<out_base_topic>

具体例子:上海交大开源的一组数据 gate_03.bag

可以发现 /camera/color/image_raw/compressed 这个话题对应的类型为 sensor_msgs/CompressedImage

用VINS等开源程序处理数据时必须为 sensor_msgs/Image 类型

用 image_transport 可以将类型 sensor_msgs/CompressedImage 换为 sensor_msgs/Image

具体做法为:

在执行

rosbag play XXXX.bag

前,先执行命令

打开一个终端执行命令:

rosrun image_transport republish compressed in:=/camera/left/image_raw raw out:=/camera/left/image_raw

即可。

注:out后面路径不必与in路径一致,用程序接收out后的topic即可

 

posted @ 2022-02-21 14:55  無常  阅读(3375)  评论(0编辑  收藏  举报