kinectv1彩色相机和深度相机的内参标定
- 说明
- 一、标定板
- 二、打开相机和标定程序
- 三、打开标定包(标定彩色相机)
- 四、标定深度相机
- 五、结果
说明
使用camera_calibration标定包对kinectv1彩色相机和深度相机的内参进行标定
一、标定板
下载链接
说明:标定板为8x6,可以用A4纸打印出来,square边长为24.5mm,即0.0245m,作为标定输入参数。黑板棋盘版的点从里面的点开始数。
二、打开相机和标定程序
roslaunch freenect_launch freenect.launch
打开相机(kinect驱动的安装见博客 kinect-v1版的环境配置和使用)
rostopic list
列出话题
三、打开标定包(标定彩色相机)
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/camera/rgb/image_raw camera:=/camera/rgb
注意:camera:=/camera/rgb一定要输入,不然后面保存不了,当然要改成自己的话题
注意:8x6中间的乘是字母x
注意:
x:表示标定板在视野中的左右位置,左右移动使绿色条变满
y:表示标定板在视野中的前后的位置,前后移动使绿色条变满
size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近,上下移动使绿色条变满
skew:标定板在视野中的倾斜位置,不断旋转标定板使绿色条变满
注意:
CALIBRATE被激活后,点击CALIBRATE按钮,稍等1-2分钟,SAVE按钮和COMMIT按钮被激活,点击save校准数据会被保存到/temp文件夹下;点击COMMIT将结果保存到/home/.ros/camera_info/head_camera.yaml
。
四、标定深度相机
rosrun camera_calibration cameracalibrator.py image:=/camera/ir/image_raw camera:=/camera/ir --size 8x6 --square 0.024
注意:深度相机标定的时候尽量在暗处,遮光最好,用不透光的物品把红外发射装置遮住。
五、结果
image_width: 640
image_height: 480
camera_name: rgb_A22593W01131223A
camera_matrix: **//相机矩阵,即内参矩阵**
rows: 3
cols: 3
data: [576.2010093732916, 0, 333.7638119169971, 0, 575.8066271149149, 239.9059593076319, 0, 0, 1]
distortion_model: plumb_bob
distortion_coefficients: **//畸变系数**
rows: 1
cols: 5
data: [0.1076528441484293, -0.1213037606263155, 0.0003280501169193647, 0.005797686900416189, 0]
rectification_matrix:
rows: 3
cols: 3
data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
projection_matrix: **//投影矩阵,即相机坐标系到图像坐标系转换的矩阵**
rows: 3
cols: 4
data: [589.6998291015625, 0, 337.1583730036364, 0, 0, 592.9710083007812, 240.0480758415888, 0, 0, 0, 1, 0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)