我似乎无法确定在哪里可以找到stereoCalibrate()方法的输入数组。opencv文档将其描述为"校准模式点的矢量中的矢量",这似乎必须来自对象检测校准。然而,我已经为我的相机进行了opencv源代码校准,校准信息保存到的xml文件除了objectPoints之外,什么都有。我在哪里/如何确定此参数?
以下是文档链接:http://docs.opencv.org/master/d9/d0c/group__calib3d.html#ga246253dcc6de2e0376c599e7d692303a
谢谢,Rowan
来自立体声校准示例:
for( i = 0; i < nimages; i++ )
{
for( j = 0; j < boardSize.height; j++ )
{
for( k = 0; k < boardSize.width; k++ )
{
objectPoints[i].push_back(Point3f(k*squareSize, j*squareSize, 0));
}
}
}
目标点是从相机帧中检测到的点,通常是棋盘、圆网格。
通常,你应该打印出棋盘(或其他图案),打开相机,抓取不同旋转和距离的棋盘框架。简单的检测算法可以找到棋盘的角点、目标点。将的这些点填充到校准函数中。您将获得相机的内在矩阵和外在矩阵,并将它们保存在xml/yml文件中。
在xml/yml文件中不会放置任何对象点。