在使用usb_cam调用摄像头时,不显示摄像头画面,首先检查是否启动roscore,若还是不行,则修改usb_cam包文件下的launch文件夹中的usb_cam-test.launch文件,修改为如下:
<launch>
<node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
<param name="video_device" value="/dev/video0" /> <!--usb cam is vedio2, laptop default camera is vedio0-->
<param name="image_width" value="640" /> <!--resolution has to be correct-->
<param name="image_height" value="480" /> <!--my camera type is USBFHD08S, 1920*1080 or 1280*720 or 640*360, smaller resolution gains larger fps-->
<param name="pixel_format" value="yuyv" /> <!--my camera type is USBFHD08S which is 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>
其中需要修改的参数有:
1.第三行的value="/dev/video0",若外接摄像头,则修改为value="/dev/video2",若是笔记本本身的摄像头则不需要修改;
2.第四第五行的输出图像宽度和高度也需要修改,具体数值需要查看摄像头本身;
3.第六行的pixel_format(像素格式)也需要修改为和摄像头参数一致,若文中的格式不行,则修改yuyv为mjepg试试。