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