ros-noetic采集单目USB相机数据

1、查看USB相机端口号

ls /dev/video* //插上摄像头后打开终端查看是否检测到摄像头

:此时会出现两个设备号:/dev/video0和/dev/video1,一个是Video Capture,一个是Metadata Capture,但是只能使用/dev/video0调用,使用/dev/video1调取视频会报错。

2、下载usb_cam功能包

mkdir -p  camera_ws/src                                       
cd camera_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git        
cd ../
catkin_make  

3、运行launch文件

cd ~/camera_ws
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

:在终端中使用source命令设置的环境变量只能在当前终端中生效,如果希望环境变量在所有终端中生效,则需要在终端的配置文件中加入环境变量的设置:echo “source /camera_ws/devel/setup.bash”>>/.bashrc

4、记录相机数据

rosbag record -a -O test.bag -x "(.*)/compressed(.*)"
  • 注1:-a选项表示将当前发布的所有 topic 数据都录制保存到一个 bag 文件中。
  • 注2:大写-O指定录制的bag包的全称,即test.bag;小写的-o指定录制的bag包的前缀,如test_2022-12-06-08-55-55.bag;不指定时,只以时间命名,如2022-12-05-13-04-56.bag。
  • 注3:-x选项记录压缩主题

5、bag转换成jpg图像

5.1 创建export.launch

<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>
  • 注1:export.launch可在任意路径下创建,但终端需在相同路径下打开,roslaunch才能找到export.launch
  • 注2:需要修改两个地方,一个是第一行node标签中的test.bag路径;另一个是第三行remap标签中的要订阅的主题的名字,"/usb_cam/image_raw"要与usb_cam-test.launch发布的主题的名字相同。若不相同则无法转换。

5.2 运行export.launch

roslaunch export.launch

运行完后即可在~/.ros文件夹中找到生成的jpg格式的图片,可将图片文件移动到指定文件夹

mv ~/.ros/frame*.jpg ~/Pictures/sequences/00

6、遇到的问题

6.1 Camera calibration

问题描述:[WARN]: Camera calibration file /home/tcgd/.ros/camera_info/head_camera.yaml not found.
解决方法:利用ros和棋盘格进行相机标定,参考:: 使用ros标定相机的内参和外参.

6.2 head_camera

问题描述:[WARN]: [head_camera] does not match name narrow_stereo in file /home/tcgd/.ros/camera_info/head_camera.yaml
解决方法:将所在文件中的 narrow_stereo 改成 head_camera.

6.3 focus_auto

问题描述:[WARN]: unknown control ‘focus_auto’
解决方法:暂未解决,不影响使用

7、参考链接

[1] ROS下使用单目/双目摄像头发布图像话题.
[2] 使用ros标定相机的内参和外参.
[3] rosbag数据记录及转换图片、视频.
[4] 提取rosbag包中的图像或视频.

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值