# 调用 xawtv
xawtv
# 调用指定的摄像头
xawtv -d /dev/video0
发现可以正常运行摄像头。
但是
roslaunch usb_cam usb_cam-test.launch
访问摄像头时,只能看到绿色和雪花
查阅资料发现是格式不兼容
查阅相机支持的格式
v4l2-ctl --list-formats-ext -d /dev/video0
<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="color_format" value="yuv422p" /> <!-- 根据相机支持的格式进行设置 -->
<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>
进入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="mjpeg" /> <!-- 使用 MJPEG 格式 -->
<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>
最终运行结果,可以正常访问图像