2013-04-04 111 views
0

我有一个项目,我必须使用OpneCV来获取相机矩阵,我运行OpenCV示例项目,我的问题是可以检查保存数据是否正确?因为我的第一个例子中她的EIS我得到什么:使用OpenCV的摄像机校准

<Camera_Matrix type_id="opencv-matrix"> 
<rows>3</rows> 
<cols>3</cols> 

d
4.0608614269653586e + 001 0 3.1950000000000000e + 0.002 4.0608614269653586e + 001 + 2.3950000000000000e 0.002 0.1。

回答

0

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

当你说保存数据,你想录制一个视频?

但是我将你引用到openCV的Q &。

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

询问关于这个论坛您的问题。

1

如果您有兴趣检查数据是否保存正确,请阅读您的矩阵。这可以通过FileStorage类openCV完成。以下是write的示例,您可以在同一页面上找到阅读功能。

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

[fx,0,cx; 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 = 180度; 只有使用非常广角的角度(所谓的鱼眼)才会发生这种情况。如果不是这种情况,请检查您的校准程序。你使用了什么代码?