如果使用非方形(=非NxN)网格和findChessboardCorners()

时间:2012-07-18 17:14:20

标签: opencv calibration

我在OpenCV论坛上发布了这个,但到目前为止还没有回复,所以在这里尝试。

2.4.0参考手册的第352页有此注释:

  

注意:如果使用非方形(=非NxN)网格和   findChessboardCorners()用于校准,并且calibrateCamera返回   坏值(零失真系数,图像中心很远   从(w / 2-0.5,h / 2-0.5),和/或fx和fy之间的巨大差异   (比例为10:1或更高)),那么你可能已经使用过了   patternSize = cvSize(rows,cols)而不是使用   patternSize = cvSize(cols,rows)infindChessboardCorners()。

这让我很困惑。什么定义棋盘上的行与列? 毕竟,棋盘旋转并移动,同时收集 与calibrateCamera一起使用的数据。

什么是远?我有一个非方形棋盘,1292x964,1 / 3格式 使用4毫米非球面镜头;在全宽范围内,我得到:cx = 639和cy = 550。 理想情况下,那些应该是1292/2 = 646和964/2 = 457;

我是否已经获得了550而预期的457是“大差异”?

我应该在patternSize中交换宽度/高度吗?如果是这样,那是否意味着我 应该在校准期间限制棋盘的旋转 保持棋盘行与列相对于列的概念 相机的成像器?

谢谢, 戴夫托马斯

0 个答案:

没有答案