ROS学习十二、图像传输Image_transport使用

前言

本篇简要记录ros中的图像传输可包image_transport。ROS在图像传输时,为了节省带宽,先将图像压缩后再做传输,如图像话题/realsense/color/image_raw/compressed就是压缩后的图像,图像被接收后还需要解压才能使用。

安装

一般装ROS时都带了这个包:

sudo apt-get install ros-melodic-image-transport

使用方法

将被压缩的图像类型sensor_msgs/CompressedImage 转换成sensor_msgs/Image 类型:

rosrun image_transport republish compressed in:=/realsense/color/image_raw/compressed raw out:=/realsense/color/image_raw
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我明白了。为了回答你的问题,我先介绍一下这两个类的背景。 ros::Subscriber 是 ROS 框架中的一个类,用于订阅 ROS 中的消息。其中的 ros 是 Robot Operating System 的缩写,是一个用于机器人开发的软件平台。ROS 中的消息包含了许多不同类型的数据,例如图像、激光扫描数据、IMU 数据等等。开发者可以使用 ros::Subscriber 来订阅感兴趣的消息,然后在回调函数中处理这些消息。具体来说,图像通常是以 sensor_msgs/Image 类型的消息发布的,开发者可以使用 ros::Subscriber<sensor_msgs::Image> 来订阅这些消息。 image_transport::Subscriber 同样是 ROS 框架中的一个类,但是它是在 image_transport 包中定义的。与 ros::Subscriber 不同,image_transport::Subscriber 是专门用于订阅图像数据的。image_transport 包提供了一个更高效的图像传输方式,可以大大减少图像传输的带宽占用和延迟。在使用 image_transport::Subscriber 订阅图像时,需要指定图像传输方式,例如 JPEG 或 PNG 等等。这样可以在传输过程中对图像进行压缩,以减小数据的大小。由于压缩会导致一定的损失,因此需要根据具体的应用来决定压缩的程度。 总之,ros::Subscriber 和 image_transport::Subscriber 都可以用于订阅图像,但是它们的实现方式有所不同。在处理图像数据时,image_transport::Subscriber 更高效,因为它在传输过程中对图像进行了压缩。但是,它需要额外的传输方式来支持这种高效的传输方式,因此在使用时需要更加小心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值