20220530 update
更新一个报错的解决方法
20220109 update
补充几个在launch file里面的说明,这几个参数可能影响能不能打开usb摄像头
launch file:
- "pixel format"里的
yuyv
指的是原始数据,一般摄像头都能输出yuyv
和mjpeg
,mjpeg
是经过压缩的数据,例如yuyv
的图像数据可能每秒10帧,但是mjpeg
可以到30帧每秒(FPS) image_width
和image_height
对应着摄像头的分辨率,根据实际的情况修改,不知道的话用默认的也可以的
Method
- 先装ros的package
cd ~/catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
- 编译
cd ..
catkin_make -DCATKIN_WHITELIST_PACKAGES=usb_cam
- 查看接入的USB摄像头的设备号
ls /dev/video*
会发现有两个编号,我这里的是台式机,没有摄像头,接入USB摄像头后,会出现两个编号,只能使用第一个打开,使用第二个会报错
- 打开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
- 启动摄像头
roslaunch usb_cam usb_cam-test.launch
6. 可能遇到的报错 (20220530 update)
“sh: 1: v4l2-ctl: not found”则需要安装v4l2
运行:sudo apt-get install v4l-utils
Reference
- Ubuntu18.04 笔记本电脑使用USB摄像头替代自带摄像头 安装摄像头驱动usb_cam的方法:
https://www.it610.com/article/1294889087601287168.htm