相机校准使用OpenCV

Camera Calibration using OpenCV

本文关键字:OpenCV 相机      更新时间:2023-10-16

我有一个项目,我必须使用OpneCV来获得相机矩阵,我运行OpenCV样本项目,我的问题是谁可以检查保存数据是否正确?因为在我的第一个例子中,她就是我得到的:

<Camera_Matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<<p>
d/dt>4.0608614269653586 e + 001 0。3.1950000000000000 e + 002 0。4.0608614269653586e+001 2.3950000000000000e+002 00. 1 .

如果您有兴趣检查您的数据是否正确保存,请读取您的矩阵。这可以通过FileStorage类openCV来实现。下面是一个写函数的例子,你可以在同一个页面上找到一个读函数。

如果你想知道你的矩阵是否有意义,首先使用一个完整性检查。最简单的相机矩阵由以下条目组成:

[x, 0, x;0、fy、cy;[0,0,1]

如果像素是正方形,则fx=fy, cx=w/2和cy=h/2近似。看起来你的矩阵可能是正确的,因为你使用了640x480的图像,你的焦距大约是40像素。然而,后者看起来很可疑:你的相机的视场(FOV)可以通过以下公式计算:tan2(FOV/2) = w*0.5/f = 320/40= 80,由此得出FOV = 180deg;只有当你使用一个非常宽的角度长度(所谓的鱼眼)才会发生这种情况。如果不是这种情况,请检查校准程序。你用的是什么密码?

你的矩阵看起来不错,3x3矩阵。

当你说保存数据时,你要录制视频吗?

但是我建议你参考openCV的Q&A。

http://answers.opencv.org/questions/

在论坛上提问