摄像头节点用于将图像数据捕获,发布到ROS订阅节点上,可用于后期图像识别、处理、显示等功能。
摄像头节点使用libuvc_camera软件包驱动,该软件包提供了用于USB Video Class(UVC)摄像机的驱动程序。
摄像头节点使用
启动摄像头
通过ssh连接远程节点启动摄像头节点
roslaunch lingao_bringup lingao_camera.launch
运行后会出现以下信息
如出现Unable to set警告可无视
使用rqt_image_view显示图像
刚刚成功启动摄像头节点,现在可使用rqt_image_view工具订阅显示图像
在本机运行rqt_image_view工具:
rosrun rqt_image_view rqt_image_view
选择/camera/rgb/image_raw
即可看到摄像头节点发布的图像数据。
因为是原始图像,数据太大传送速率不够会造成卡顿。可选择压缩图像/camera/rgb/image_raw/compressed
解决卡顿问题。
Web Camera网页视频服务
web网页视频服务使用web_video_server节点服务,该服务订阅图像节点,通过HTTP访问ROS图像视频。
启动网页视频服务
启动摄像头节点和网页视频服务(前面启动过摄像头节点需要先关闭)
roslaunch lingao_bringup lingao_webcamera.launch
下图就是启动成功,可看到服务已监听0.0.0.0:8080
(出现警告可无视)
打开网页视频服务
通过网页查看视频流服务,如无法打开需要将lingaoros改成小车终端IP地址
http://lingaoros:8080/stream?topic=/camera/rgb/image_raw
打开网页照片服务
如果需要单独拍照可通过图片的快照服务,和上面视频流区别不同是stream?
更换为snapshot?
,调用该接口出来的是当前jpeg图片
http://lingaoros:8080/snapshot?topic=/camera/rgb/image_raw
ROS保存图像工具
如果你需要在ros保存图像到现在的目录下可通过image_view工具实现。
保存相片
此工具可让您将图像以jpg / png文件的形式从流(ROS sensor_msgs / Image主题)保存到文件中
rosrun image_view image_saver image:=/camera/rgb/image_raw
保存为视频
video_recorder工具允许您将视频流(ROS sensor_msgs / Image主题)保存到文件中。
rosrun image_view video_recorder image:=/camera/rgb/image_raw _filename:=output.mkv