ROS下使用单目/双目摄像头发布图像话题

1、此贴记录一下作者在ros中使用摄像头的方法,如有错误和不足请在评论区批评指正,手上有三种摄像头(1、单目摄像头 2、双目摄像头_俩usb端口 3、双目摄像头_单usb端口)不同摄像头的launch文件略有不同;

2、准备工作,使用下面命令查看是否检测到视频设备,如果电脑自身没有摄像头的话,单目和双目单usb端口摄像头会显示/dev/vedio0 双目俩usb端口会显示/dev/vedio0 /dev/vedio1记住插入摄像头的端口号;

ls /dev/video*    //插上摄像头后打开终端查看是否检测到摄像头

 

3、准备工作,下载usb_cam包,该包将摄像头图像通过sensor_msgs::Image消息发布出去

mkdir -p  camera_ws/src                                       //新建工作空间
cd camera_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git        //克隆功能包
cd ..
catkin_make                                                   //编译

4、准备工作,修改src/usb_cam/launch/usb_cam-test.launch,单目的launch文件如图,将第三行摄像头端口/dev/video0改为你的端口,第六行参数像素格式,usb_cam支持三种yuyv mjpeg  uyvy先设置为yuyv移动摄像头如果画面很卡顿那就轮流试试mjpeg和uyuv

<launch>
  <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
    <param name="video_device" value="/dev/video0" />
    <param name="image_width" value="640" />
    <param name="image_height" value="480" />
    <param name="pixel_format" value="yuyv" />
    <param name="camera_frame_id" value="usb_cam" />
    <param name="io_method" value="mmap"/>
  </node>
  <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
    <remap from="image" to="/usb_cam/image_raw"/>
    <param name="autosize" value="true" />
  </node>
</launch>

5、运行单目摄像头

cd ~/camera_ws
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

6、运行双目俩usb端口摄像头,复制一份usb_cam-test.launch重命名后覆盖删除原内容为如下内容,然后运行步骤与上面单目相同,只是launch文件名不同

<launch>
  <group ns="camera1">
      <node name="usb_cam1" pkg="usb_cam" type="usb_cam_node" output="screen" >
        <param name="video_device" value="/dev/video0" />
        <param name="image_width" value="640" />
        <param name="image_height" value="480" />
        <param name="pixel_format" value="yuyv" />
        <param name="camera_frame_id" value="usb_cam" />
        <param name="io_method" value="mmap"/>
      </node>
  </group>

  <group ns="camera2">
      <node name="usb_cam2" pkg="usb_cam" type="usb_cam_node" output="screen" >
        <param name="video_device" value="/dev/video1" />
        <param name="image_width" value="640" />
        <param name="image_height" value="480" />
        <param name="pixel_format" value="yuyv" />
        <param name="camera_frame_id" value="usb_cam" />
        <param name="io_method" value="mmap"/>
      </node>
  </group>
</launch>

7、运行双目单usb端口摄像头,launch文件与第四步单目的相同,只是改第四第五行分辨率640*480为2560*720,如果不改分辨率640*480只有双目其中一个摄像头的画面,2560*720是两个1280*720的图像,改完分辨率运行步骤与单目相同

        <param name="image_width" value="2560" />
        <param name="image_height" value="720" />

8、使用rostopic list 可以查看到topic,单目和双目单usb端口是一个/usb_cam/image_raw话题,双目双端口是两个/usb_cam/image_raw话题。标定工作和分割双目单usb端口2560*720图像话题为俩1280*720 图像话题工作后面再更新

  • 5
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值