北京网站制作策划,做外贸的平台有哪些,自己做产品网站,房地产开发公司有哪些部门1. /usb_cam/image_raw 类型: sensor_msgs/Image 内容: 摄像头采集的原始图像数据。 用途: 图像处理和分析#xff0c;例如使用 OpenCV 处理图像。视频流可达10MB/s 图像流查看#xff0c;例如用 rqt_image_view 进行显示#xff1a;
2./usb_cam/image_raw/compressed …1. /usb_cam/image_raw 类型: sensor_msgs/Image 内容: 摄像头采集的原始图像数据。 用途: 图像处理和分析例如使用 OpenCV 处理图像。视频流可达10MB/s 图像流查看例如用 rqt_image_view 进行显示
2./usb_cam/image_raw/compressed 类型: sensor_msgs/CompressedImage 内容: 对 /usb_cam/image_raw 的压缩版本。 压缩格式: jpeg 或 png具体取决于参数设置。其中jpeg是有损压缩压缩率更高更快png是无损压缩压缩时间更长一般视频流用jpeg压缩图片或者深度图可以用png压缩。且他们都是对单帧图片进行压缩没有考虑帧之间的联系因此视频压缩率较低。 用途: 降低网络带宽占用用于远程传输视频流。视频流可达1MB/s 可以通过 rqt_image_view 或其他工具直接查看压缩图像。 注意: 此话题默认可能未启用需通过 image_transport 插件启用压缩功能。
sudo apt install ros-noetic-image-transport-plugins -y
3./usb_cam/image_raw/theora如果启用 image_transport 和 Theora 插件 类型: theora_image_transport/TheoraPacket 内容: theora不是H.264 压缩的视频流。theora是一个开源的编码解码库相较于H264性能差一些也不支持硬件加速默认是cpu软件编码解码。但是是image tranport默认就支持的插件。theora相较于jpeg和png考虑了帧之间的联系因此编码后体积更小我理解每帧只传输了帧之间的差异。 用途: 实现高效的图像流压缩和传输。视频流可达50KB/s 适用于带宽较低的网络环境。 使用方法: 需启用 image_transport 插件
sudo apt install ros-noetic-image-transport-plugins -y
读取这些话题除了image_raw可以直接用ros subscriber订阅其余经过压缩编码的图片话题都不能用ros subscriber以sensor_msgs/Image形式订阅而是需要订阅相应的格式并进行解码这个过程image_transport包已经做好了在发布和订阅时用image_transport的API替代nodehandle就行
使用image_transport订阅和发布
#include ros/ros.h
#include image_transport/image_transport.hvoid imageCallback(const sensor_msgs::ImageConstPtr msg)
{// ...
}ros::NodeHandle nh;
image_transport::ImageTransport it(nh);// 自动会发布带compressed后缀、theora后缀的话题和image_transport plugins有关
image_transport::Publisher pub it.advertise(/usb_cam/image_raw, 1);// 订阅压缩后的话题注意回调函数里仍然是sensor_msgs::Image话题类型
// 因为image_transport已经自动根据话题名采用jpeg/png/theora方式解码了
image_transport::Subscriber sub it.subscribe(/usb_cam/image_raw/compressed, 1, imageCallback);
image_transport::Subscriber sub it.subscribe(/usb_cam/image_raw/theora, 1, imageCallback);
查看有哪些plugin rosrun image_transport list_transports
动态调整压缩参数
rosrun rqt_reconfigure rqt_reconfigure
如果不使用动态调整工具可以直接通过 ROS 参数服务器修改相关参数。例如
rosparam set /image_transport/theora/quality 25
rosparam set /image_transport/theora/keyframe_frequency 30
rosparam set /image_transport/theora/target_bitrate 500000测试话题带宽
rostopic bw /usb_cam/image_raw