9. 相机标定

对于这两个矩阵,OpenCV官方解释如下:

\mathbf{camera \ intrinsic \ matrix \ A } = \begin{bmatrix} f_{x} & 0 & c_{x}\\ 0 & f_{y} & c_{y} \\ 0 & 0 & 1 \end{bmatrix}

distCoeffs: (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]) of 4, 5, 8, 12 or 14 elements.

进行相机标定可以求出上述两个矩阵,相机标定可以用 OpenCV,也可以用 matlab,下面我们介绍用OpenCV进行相机标定。

        为得到相机的 cameraMatrix 和 distCoeffs 两个矩阵,我们进行相机标定程序,采用OpenCV例程代码(opencv\samples\cpp\tutorial_code\calib3d\camera_calibration\)

其中:

        camera_calibration.cpp : 程序源文件

        in_VID5.xml : 程序的输入参数文件,将程序编译后改名为 default.xml (要求和编译的可执行二进制程序同级目录),每一个参数都有很好的注释。包含输入图片、视频、还是直接调用摄像头,标定板类型、标定板大小、输出文件等等。

        VID5.xml :如果输入为图片,在此处键入图片路径。

注意事项:

        如果使用视频进行标定,有热键 ‘u’ 和 ‘g’ 。

        输入尺寸影响标定结果。

        在标定好后焦距不要变化。

第一版,有错误欢迎指出,有什么不足想到补充。

你可能感兴趣的:(opencv,c++)