ROS交流群
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
小强ROS机器人教程(21)___获取usb摄像头30fps的1080p图像流及120fps的VGA分辨率图像流
-
小车默认开机启动的usb摄像头节点,发布的是30fps的VGA(640*480)分辨率的图像流,可以满足大部分的视觉任务要求。usb摄像头硬件实际可以输出120fps的VGA图像流和高达30fps的1080p图像流,本文将介绍获取这两种规格图像的办法。
1.升级usb_cam节点源代码
由于usb2.0带宽问题,输出120fps的VGA视频和30fps的1080p视频,需要采用mjpeg格式。小车自带的usb摄像头ROS驱动包usb_cam,它不能以mjpeg方式读取小车usb摄像头,因此我们需要先升级usb_cam。升级办法请参考这篇帖子:http://community.bwbot.org/topic/144/解决ROS的usb_cam节点无法正常读取mjpeg格式摄像头的方法
2.测试120fps的VGA视频输出
首先关闭小车的开机启动任务
sudo service startup stop
修改usb_cam包中的ov2610mjpg.launch文件内容为下文所示
<launch> <node name="camera_node" pkg="usb_cam" type="usb_cam_node"> <param name="video_device" value="/dev/video0" /> <param name="image_width" value="640" /> <param name="image_height" value="480" /> <param name="framerate" value="120" /> <param name="pixel_format" value="mjpeg" /> <param name="camera_frame_id" value="ov2610" /> <param name="io_method" value="mmap"/> </node> </launch>
启动上述launch文件
roslaunch usb_cam ov2610mjpg.launch
新开一个窗口打印发布的图像topic帧率
rostopic hz /camera_node/image_raw
正常会出现类似下图的输出
subscribed to [/camera_node/image_raw] average rate: 99.497 min: 0.004s max: 0.016s std dev: 0.00246s window: 98 average rate: 99.324 min: 0.004s max: 0.016s std dev: 0.00240s window: 198 average rate: 99.385 min: 0.004s max: 0.016s std dev: 0.00236s window: 297 average rate: 99.247 min: 0.004s max: 0.016s std dev: 0.00236s window: 396 average rate: 99.302 min: 0.004s max: 0.016s std dev: 0.00232s window: 495 average rate: 99.296 min: 0.004s max: 0.016s std dev: 0.00231s window: 595 average rate: 99.249 min: 0.004s max: 0.016s std dev: 0.00230s window: 694
上文输出显示摄像头帧率大概是99fps,并没有达到120fps,这是因为环境光照的影响,如果环境光照亮度充足时是可以达到120帧的。
2.测试30fps的1080p视频输出
首先关闭小车的开机启动任务
sudo service startup stop
修改usb_cam包中的ov2610mjpg.launch文件内容为下文所示<launch> <node name="camera_node" pkg="usb_cam" type="usb_cam_node"> <param name="video_device" value="/dev/video0" /> <param name="image_width" value="1920" /> <param name="image_height" value="1080" /> <param name="framerate" value="30" /> <param name="pixel_format" value="mjpeg" /> <param name="camera_frame_id" value="ov2610" /> <param name="io_method" value="mmap"/> </node> </launch>
启动上述launch文件
roslaunch usb_cam ov2610mjpg.launch
新开一个窗口打印发布的图像topic帧率
rostopic hz /camera_node/image_raw
正常会出现类似下图的输出
xiaoqiang@xiaoqiang-desktop:~$ rostopic hz /camera_node/image_raw subscribed to [/camera_node/image_raw] average rate: 29.986 min: 0.028s max: 0.039s std dev: 0.00318s window: 30 average rate: 29.917 min: 0.028s max: 0.039s std dev: 0.00296s window: 59 average rate: 29.912 min: 0.028s max: 0.039s std dev: 0.00292s window: 89 average rate: 29.853 min: 0.027s max: 0.042s std dev: 0.00308s window: 119 average rate: 29.874 min: 0.027s max: 0.042s std dev: 0.00283s window: 149 average rate: 29.839 min: 0.027s max: 0.042s std dev: 0.00282s window: 179 ^Caverage rate: 29.849 min: 0.027s max: 0.042s std dev: 0.00282s window: 202