导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    小强ROS机器人教程(21)___获取usb摄像头30fps的1080p图像流及120fps的VGA分辨率图像流

    产品服务
    1
    1
    4930
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • xiaoqiang
      xiaoqiang 最后由 weijiz 编辑

      小强主页

      小车默认开机启动的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
      

      小强主页
      返回目录

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Copyright © 2015-2023 BlueWhale community