《计算机视觉算法:基于OpenCV的计算机应用开发》(基于opencv的计算机视觉技术实现)
869
2022-05-29
准备双目摄像头:
准备标定板
标定的开始阶段最需要用到的标定板,可以直接从opencv官网上能下载到:
http://docs.opencv.org/2.4/_downloads/pattern.png
具体如下:
然后,建议固定到盒子上,方便等下拍照。
采集图片
建议左右摄像头,同时拍照,分别保存起来,可以参考 opencv 双目摄像头拍照
保存大约20到30张图片,MATLAB2016的这个工具十分挑剔,如果角度不好的话,将使用不了,因此在采集图像时,最好多的采集一些,拍的时候要拍到全部;注意事项:是测量好屏幕上每个方格的大小,这个标定的时候会用到,比如20mm。
一、 标定步骤
1. 调出标定工具箱
在命令行输入stereoCameraCalibrator,出现如下界面:
2. 勾选相应的选项
然后将上面的“Skew”、“Tangential Distortion”以及“2 Coefficients”等选项选上,将“3 Coefficients”选项去掉,如下:
3. 载入图像
然后点击 Add images(添加图像),出现如下界面:
Camera 1 代表左摄像头,Camera 2 代表右摄像头,分别选择存放着左右图像的文件夹,需要特别注意的是棋盘格的边长应该根据打印的实际大小填写 (例如20mm),单位可以选择
然后点击OK,程序会自动检测采集的图像到底有多少可以使用,可以说MATLAB2016的这个工具十分挑剔,如果角度不好的话,将使用不了,因此在采集图像时,最好多的采集一些。(此处只是为了说明标定步骤,所以使用的图像较少)。
4. 标定
点击按钮,开始标定:
5. 校准
从下图可以看到,平均的标定误差以及 标定过程中误差较大的的图像对。
点击选择不想接受的误差直方图,可以直接在左边的图像对中找到对应的图像,右键选择“Remove and Recalibrate”:
可以重复上述步骤,直到认为误差满足标定需求为止。
6. 导出参数
点击选择Export camera parameters, 并点击“OK”。
二、 参数读取
标定结束后,会得到如下标定参数:
CameraParameters1与CameraParameters2为左右摄像头的内部参数,RotationOfCamera2与TranslationOfCamera2为两个摄像头的旋转、平移参数。
1. 两个摄像头的平移和旋转参数
平移参数可直接使用;但旋转参数需进行转置才能使用。
2. 摄像机内参矩阵
双击框框这里:
CameraParameters1与CameraParameters2中包含如下文件:
IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,需要先转置再使用。
例如:左相机的参数,点击CameraParameters1
IntrinsicMatrix 存放的是摄像头的内参
RadialDistortion 和 TangentialDistortion 中存放的是畸变参数
先看一下 IntrinsicMatrix 参数,双击一下 IntrinsicMatrix
这个和OpenCV中是转置的关系,注意不要搞错。
对应
即:
420.758142829981 -0.457820850080972 344.440839504749
0 423.157176819330 242.870587685168
0 0 1
3. 畸变参数
RadialDistortion 和TangentialDistortion 中存放的是畸变参数,
RadialDistortion 为 径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。
TangentialDistortion 为 切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。
不过在使用时,需要注意参数的排放顺序,即K1,K2,P1,P2,K3。切记不可弄错,否则后续的立体匹配会出现很大的偏差。
例如, 左相机为例:
RadialDistortion :0.016004928431323 , 0.041062484186359 对应 K1,K2 ; K3默认为0
TangentialDistortion :0.005480700176874 , 0.003979285309815 对应 P1,P2
所以在opencv中使用时,K1,K2,P1,P2,K3顺序 :
0.016004928431323 , 0.041062484186359 , 0.005480700176874 , 0.003979285309815 ,0
希望对你有帮助。
MATLAB 机器视觉
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。