用opencv校准相机,它是如何工作的,我如何移动我的棋盘

use*_*874 5 opencv camera-calibration

我正在使用openCV的calibrateCamera功能来校准我的相机.我从教程实现开始,但似乎有些不对劲.

相机正在向下看桌子,我使用的棋盘面积约占我总图像的1/2或1/4.因为我的目标是跟踪在这张桌子上滑动的扁平物体,所以我也将棋盘滑过这张桌子.

所以我的第一个问题是:我可以将棋盘移到这张桌子上吗?或者我是否必须进行一些3D动作以获得一些好的结果?因为我想知道:该功能如何猜测桌子和相机之间的距离?他只猜测了他的焦点,他只有一只"眼睛",所以没有深度视觉.

我的第二个问题:血腥的东西是如何起作用的?:p任何人都可以告诉我这个函数的一些实现吗?

谢谢!

Eng*_*ine 4

相机标定需要点的种子来计算相机矩阵和相机中心点的位置以及畸变矩阵,如果你想使用棋盘你必须考虑它的尺寸(我从来没有使用过Circles函数,因为棋盘的检测更容易),棋盘的尺寸应该是pair X unpair数,这样你就可以得到正确的旋转矩阵!校准函数需要至少 8x 组棋盘角,并且(我使用 30 告诉 50)这取决于你想要的精确度。校准函数的返回值是重投影误差,如果校准是,则该误差应该接近于零好的。相机校准采用所用棋盘的尺寸(您可以使用不同的棋盘尺寸)和尺寸(以毫米或厘米甚至米等为单位。)您的结果将取决于您给定的尺寸。顺便说一句,获得棋盘角后,您必须使用函数对其进行细化,CornerSubPix您可以在函数参数中设置细化的程度。

在互联网上你可以找到很多关于这个主题的文档。

http://www.ics.uci.edu/~majumder/vispercep/cameracalib.pdf

我希望它有帮助!