我正在使用带有C的opencv,我正在尝试获取两个摄像头之间的外部参数(旋转和平移)。
我被告知可以使用棋盘图案进行校准,但我找不到任何好的样品。我该怎么做呢?
修改
给出的建议是用棋盘校准单个相机。如果从两个视图中得到棋盘图像,你会如何找到2个摄像机之间的旋转和平移?
答案 0 :(得分:2)
我使用的是http://www.starlino.com/opencv_qt_stereovision.html的代码。它有一些有用的信息,作者的代码很容易理解和分析,它涵盖了 - 棋盘校准和从立体相机获取深度图像。我认为它基于this OpenCV book
答案 1 :(得分:1)
opencv library here以及opencv书的大约3章
答案 2 :(得分:1)
来自相机的图片只是将一堆颜色样本投影到平面上。假设相机本身创建了具有正方形像素的图片,则给定像素的可能位置是从相机原点到投影像素的平面的矢量。我们将该平面称为图像平面。
一个样本没有给你那么多信息。两个样本告诉您更多 - 相机相对于由三个点创建的平面的位置:两个采样点和摄像机位置。第三个样本告诉你相机在世界上的相对位置;这将是太空中的一个点。
如果您拍摄相同的三个样本并在另一张相机拍摄的照片中找到它们,您将能够确定三个样本中摄像机的相对位置(以及它们的方向基于正确向上和向上的向量图片平面)。要获得正确的距离,您需要知道实际采样点之间的距离。对于棋盘,它是棋盘的物理尺寸。