ls /dev/video* //插上摄像头后打开终端查看是否检测到摄像头
注:此时会出现两个设备号:/dev/video0和/dev/video1,一个是Video Capture,一个是Metadata Capture,但是只能使用/dev/video0调用,使用/dev/video1调取视频会报错。
mkdir -p camera_ws/src
cd camera_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ../
catkin_make
cd ~/camera_ws
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
注:在终端中使用source命令设置的环境变量只能在当前终端中生效,如果希望环境变量在所有终端中生效,则需要在终端的配置文件中加入环境变量的设置:echo “source /camera_ws/devel/setup.bash”>>/.bashrc
rosbag record -a -O test.bag -x "(.*)/compressed(.*)"
<launch>
<node pkg="rosbag" type="play" name="rosbag" args="-d 2 /home/tcgd/Bags/test.bag"/>
<node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
<remap from="image" to="/usb_cam/image_raw"/>
node>
launch>
roslaunch export.launch
运行完后即可在~/.ros文件夹中找到生成的jpg格式的图片,可将图片文件移动到指定文件夹
mv ~/.ros/frame*.jpg ~/Pictures/sequences/00
问题描述:[WARN]: Camera calibration file /home/tcgd/.ros/camera_info/head_camera.yaml not found.
解决方法:利用ros和棋盘格进行相机标定,参考:: 使用ros标定相机的内参和外参.
问题描述:[WARN]: [head_camera] does not match name narrow_stereo in file /home/tcgd/.ros/camera_info/head_camera.yaml
解决方法:将所在文件中的 narrow_stereo 改成 head_camera.
问题描述:[WARN]: unknown control ‘focus_auto’
解决方法:暂未解决,不影响使用
[1] ROS下使用单目/双目摄像头发布图像话题.
[2] 使用ros标定相机的内参和外参.
[3] rosbag数据记录及转换图片、视频.
[4] 提取rosbag包中的图像或视频.