我有一个项目,我必须使用 OpneCV 来获取相机矩阵,我运行 OpenCV 示例项目,我的问题是如何检查保存数据是否正确?因为对于我的第一个例子,她就是我得到的:
<Camera_Matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
如果您有兴趣检查您的数据是否正确保存,请回读您的矩阵。这可以通过 FileStorage 类 openCV 来完成。这是一个写入示例,您可以在同一页面上找到读取功能。
如果您想知道您的矩阵是否有意义,请先使用完整性检查。一个最简单的相机矩阵由以下条目组成:
[外汇,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 = 180deg ; 仅当您使用非常宽的角度长度(所谓的鱼眼)时,才会发生这种情况。如果不是这种情况,请检查您的校准程序。你用了什么代码?
你的矩阵看起来不错,3x3 矩阵。
当您说保存数据时,您要录制视频吗?
但我建议你参考 openCV 的问答。
http://answers.opencv.org/questions/
在这个论坛上问你的问题。