Ubuntu18.04 使用ROS打开外接USB摄像头

20220530 update
更新一个报错的解决方法



20220109 update
补充几个在launch file里面的说明,这几个参数可能影响能不能打开usb摄像头

launch file:

  • "pixel format"里的yuyv指的是原始数据,一般摄像头都能输出yuyvmjpegmjpeg是经过压缩的数据,例如yuyv的图像数据可能每秒10帧,但是mjpeg可以到30帧每秒(FPS)
  • image_widthimage_height对应着摄像头的分辨率,根据实际的情况修改,不知道的话用默认的也可以的

Method

  1. 先装ros的package
cd ~/catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
  1. 编译
cd ..
catkin_make -DCATKIN_WHITELIST_PACKAGES=usb_cam
  1. 查看接入的USB摄像头的设备号
ls /dev/video*

cam_num
会发现有两个编号,我这里的是台式机,没有摄像头,接入USB摄像头后,会出现两个编号,只能使用第一个打开,使用第二个会报错
error

  1. 打开launch文件,设置USB摄像头的编号
cd ~/catkin_ws/src/usb_cam

打开launch文件

<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>

修改里面 <param name="video_device" value="/dev/video0" />的参数就好了。
默认是/dev/video0

  1. 启动摄像头
roslaunch usb_cam usb_cam-test.launch

cam
6. 可能遇到的报错 (20220530 update)
“sh: 1: v4l2-ctl: not found”则需要安装v4l2
运行:sudo apt-get install v4l-utils

Reference

  1. Ubuntu18.04 笔记本电脑使用USB摄像头替代自带摄像头 安装摄像头驱动usb_cam的方法:
    https://www.it610.com/article/1294889087601287168.htm
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值