2017-04-22 80 views
0

我正在尝试使摄像机校准。我正在学习本教程:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_calibration/py_calibration.html。我的问题是:没有ChesseBoardsCorners的代码不工作,我需要使用我自己的图像。我怎样才能做到这一点? 由于FOT警示没有棋盘角的摄像机校准

+0

你能澄清你的问题吗?你的意思是你想使用自己的棋盘校准图像?你是什​​么意思“没有ChessBoardCorners不起作用”? – chloelle

+0

我的意思是我的图片没有棋盘。正因为如此,函数FindChessBoardsCorners总是返回false,并且这会给函数Cameracalibration带来错误。 –

回答

1

根据OpenCV 3.1.0 camera calibration documentation,目前的OpenCV支持三种类型的对象进行校准:

  1. 古典黑白棋盘
  2. 对称圆形图案
  3. 不对称圆图案

这是因为,引用较旧的OpenCV文档时,“3D对象点的坐标及其对应关系必须指定每个视图中的2D投影。这可以通过使用具有已知几何形状和易于检测的特征点的对象来实现。这样的对象被称为校准装备或校准模式,并且OpenCV具有作为校准装置的对棋盘的内置支持。

校准算法的参考文献: Z.Zhang。一种灵活的摄像机标定新技术。 IEEE Transactions on Pattern Analysis and Machine Intelligence,22(11):1330-1334,2000。

J.Y.Bouguet。 MATLAB校准工具。 (http://www.vision.caltech.edu/bouguetj/calib_doc/