本章节以单目摄像头为例。
ROS 以自己的sensor_msgs/Image消息格式传递图像,无法直接进行图像处理,但是提供的【CvBridge】可以完美转换和被转换图像数据格式。【CvBridge】是一个 ROS 库,相当于ROS和Opencv之间的桥梁。
OpenCV和ROS图像数据转换如下图所示:
下面有三个案例来展示如何使用CvBridge进行数据转换。
1、单目摄像头
驱动摄像头之前,需要在宿主机能够识别出摄像头设备;进入docker容器时候,需要挂载这个usb设备才能在docker容器中,识别到相机。配套的宿主机已经搭建好的环境,不需要额外配置,如果在新的宿主机上,则需要在启动文件上添加上这个。
--device=/dev/video0 \
--device=/dev/video1 \
1.1、启动相机
1.1.1、源码路径
cd ~/opt/ros/humble/share/usb_cam/
1.1.2、安装步骤
以启动单目摄像头为例,可以使用指令直接下载ros2的摄像头驱动文件。
注意:出厂的docker镜像已经安装好了,无需重复安装。