立体声校准和整流的最小棋盘图像数

时间:2015-04-23 19:39:05

标签: opencv computer-vision camera-calibration stereo-3d

为了对两台相机进行数学校准和校正,棋盘图像对的最小数量是多少?一对被认为是每个摄像机的棋盘的单个视图,以相同场景的左右图像结束。据我所知,我们只需要一对立体声系统,因为立体声校准寻求两个相机之间的关系。

2 个答案:

答案 0 :(得分:4)

立体声校准不仅要求两个摄像机之间的旋转和平移,还要寻找每个摄像机的固有和失真参数。您需要至少两个图像来分别校准每个摄像头,以获得内在函数。如果您已经分别校准每个相机,那么,是的,您可以使用一对棋盘图像来获得R和t。但是,你不会得到很好的准确性。

根据经验,您需要10-20个图像对。您需要足够的图像来覆盖视野,并且能够很好地分布电路板的3D方向。

要校准一对立体相机,首先要分别校准两个相机,然后再对两个相机的参数以及它们之间的旋转和平移进行另一个联合优化。所以一对图像根本不起作用。

修改 OpenCV,Caltech校准工具箱和Computer Vision System Toolbox for MATLAB中使用的摄像机校准算法基于work by Zhengyou Zhang。他的论文比我更好地解释了它。

这里问题的症结在于棋盘上的点是共面的,这是一种退化的配置。你只是无法使用平面板的一个视图来解决内在函数。您需要多个视图,电路板处于不同的3-D方向。电路板在平行平面上的视图不会添加任何信息。

答案 1 :(得分:0)

“一个有3个角的图像给我们6条信息可以用来解决内在和失真。”

我认为这是你的主要错误。这些角落不是独立的。具有100x100棋盘图案的图案在完美世界中不提供比10x10图案更多的信息,因为这些点在同一平面上。

如果你有一个棋盘的单一视图,可以通过焦点补偿距离棋盘更近的距离,这样你就不能(甚至在完美的世界中)能够校准你的相机的内在和外在参数。