ROS2基于image_transport的压缩图像传输

通过设置压缩传输参数,降低节点间图像传输带宽。

在节点间传输原图的带宽占用很大,为了提升传输速度,可以设置图片在传输过程中采取压缩格式。

参考:https://github.com/ros-perception/image_transport_tutorials

1. 安装压缩传输的插件:compressed_image_transport

#安装指定插件

$ sudo apt-get install ros-eloquent-compressed-image-transport

#或者安装图像传输相关的所有插件

$ sudo apt-get install ros-eloquent-image-transport-plugins

2. 查看节点信息

安装前:

#Terminal 1,运行图像发布节点

$ ros2 run image_trans image_publisher

#Terminal 2,查看当前节点信息

$ ros2 topic list

attachments-2022-08-ya6cC67A630dc34953534.png

可以看到只有传输原图的/camera/image主题

安装好插件后,再运行发布节点并查看节点信息如下:

attachments-2022-08-OJ3oqGN4630dc3560fd20.png

增加了压缩图像传输主题。

3. 压缩图像的传输

#Terminal 1,启动图像发布节点

$ ros2 run image_trans image_publisher

#Terminal 2,启动图像接收节点,通过参数设置指定压缩传输

$ ros2 run image_trans image_subscriber --ros-args --remap _image_transport:=compressed

image_subscriber就可以订阅主题/camera/image/compressed,该主题带有/camera/image上发布的相同图像的jpg压缩版本。

4. 带宽比较

#不指定参数,传输原图时,Terminal3查看/camera/image主题的带宽占用

ros2 topic bw /camera/image

attachments-2022-08-HOJDha9o630dc396b17f1.png

#指定参数,Terminal3查看/camera/image/compressed主题的带宽占用

ros2 topic bw /camera/image/compressed

attachments-2022-08-plWhif7T630dc3a20f75b.png

 可以看出压缩传输比原图传输快很多。

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
王家瑶
王家瑶

5 篇文章

作家榜 »

  1. Panda-admin 37 文章
  2. 解弘艺 17 文章
  3. 高曾谊 16 文章
  4. 旺仔牛奶opo 15 文章
  5. 胡中天 14 文章
  6. LH 14 文章
  7. 罗柏荣 13 文章
  8. 林晨 12 文章