从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(二):相机测试与标定

从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录二:相机测试与标定

前文:从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录一:安装与配置

1 相机测试

# 安装功能包
sudo apt-get install ros-kinetic-usb-cam
# 查看相机参数
v4l2-ctl -d /dev/video0 --all

找到关键信息

Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'YUYV'
	Field             : None
	Bytes per Line    : 2560
	Size Image        : 1843200
	Colorspace        : sRGB
	Transfer Function : Rec. 709
	YCbCr Encoding    : ITU-R 601
	Quantization      : Default
	Flags             : 

根据相机信息修改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" />
    <param name="image_width" value="1280" />
    <param name="image_height" value="720" />
    <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>
# 终端A运行ROS
roscore
# 终端B启动相机
roslaunch usb_cam usb_cam-test.launch
# 可视化工具
rqt_image_view

注意:若没有根据具体相机信息修改 .launch 直接启动,会造成相机重影。

至此,相机测试完毕。

2 相机标定

# 终端A运行ROS
roscore
# 终端B启动相机
roslaunch usb_cam usb_cam-test.launch
# 终端C运行标定程序
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.028  image:=/usb_cam/image_raw camera:=/usb_cam

在这里插入图片描述
标定界面出现后,按照x(左右)、y(上下)、size(前后)、skew(倾斜)等方式移动棋盘,直到x,y,size,skew的进度条都变成绿色为止,此时可以按下CALIBRATE按钮,等一段时间就可以完成标定,按SAVE保存。

在这里插入图片描述在命令行中也能看到标定参数:

[narrow_stereo]

camera matrix
1687.489515 0.000000 662.738160
0.000000 3396.359901 304.647354
0.000000 0.000000 1.000000

distortion
-0.990358 1.149552 -0.004646 0.012376 0.000000

rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000

projection
1424.105713 0.000000 686.928499 0.000000
0.000000 3351.880859 302.856478 0.000000
0.000000 0.000000 1.000000 0.000000

将标定参数保存为.yaml格式,参考TUMx.yaml。

# Camera calibration and distortion parameters (OpenCV) 
Camera.fx: 1489.876054
Camera.fy: 1602.478527
Camera.cx: 629.614838
Camera.cy: 127.471095

Camera.k1: -0.763016
Camera.k2: 0.529416
Camera.p1: 0.074944
Camera.p2: -0.008440
Camera.k3: 0.000000

为进一步SLAM做准备。

猜你喜欢

转载自blog.csdn.net/FRIGIDWINTER/article/details/119934932