【发布时间】:2015-07-11 08:39:27
【问题描述】:
我使用 ros-indigo 和 ubuntu 14.04。我使用 usb_cam 从摄像头获取帧,但我现在无法执行相同的任务。
如果我运行rosbuild_ws/package_dir$ roslaunch camera.launch 命令,我会得到以下输出:
Unable to open camera calibration file [/home/user/.ros/camera_info/head_camera.yaml]
[ WARN] [1436602681.552893640]: Camera calibration file /home/user/.ros/camera_info/head_camera.yaml not found.
[ INFO] [1436602681.552918876]: Starting 'head_camera' (/dev/video0) at 640x480 via mmap (yuyv) at 30 FPS
[ WARN] [1436602681.584193482]: unknown control 'white_balance_temperature_auto'
[ WARN] [1436602681.587047162]: unknown control 'focus_auto'
为了处理这些错误和警告,我尝试安装 usb_Cam。我运行rosdep install usb_cam,终端显示#All required rosdeps installed successfully。我使用roscd usb_cam 转到 usb_cam 文件夹。
然后我运行下面的命令:
/opt/ros/indigo/share/usb_cam$ rosmake usb_cam
No Makefile in package usb_cam
[ rosmake ] Results:
[ rosmake ] Built 39 packages with 0 failures.
[ rosmake ] Summary output to directory
最后,我运行rosbuild_ws/package_dir$ roslaunch camera.launch,但我得到了同样的信息。我看不到从 USB 相机拍摄的帧。如何使用 usb_cam 从 USB cam 获取帧?
camera.launch 的内容:
<!-- This will read a camera and show a streaming feed in a display window. -->
<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>
【问题讨论】: