跨多个图像的相机校准

c opencv computer-vision camera-calibration

1104 观看

2回复

83 作者的声誉

拍摄一个相机并移动它以拍摄同一物体的两个图像,从不同的视点,应该能够计算与这两个场景相关的矩阵。在OpenCV中,这是如何实现的?

作者: soxarered 的来源 发布者: 2011 年 3 月 19 日

回应 (2)


1

5826 作者的声誉

决定

如果所述物体是像OpenCV使用的棋盘那样的校准图案,那么ChrisO提到的相机校准程序将为您提供相机内在函数(焦距,主点和镜头失真)以及相机外部(它们在哪里)相对空间)。

如果你有一般对象,那么你需要建立一组2D对应关系,你可以将它们提供给cvFindFundamentalMat。这找到了与两种观点相关的基本矩阵。即,对于摄像机1中的每个点x和摄像机2中的对应点x',x'Fx = 0.您可以类似地找到epipoles等。这使用8点算法,其需要至少8个点对应点对应。

您可以手动或通过MSER / Affine Harris + SIFT的强大功能提取器和匹配器获得对应关系。

作者: peakxu 发布者: 21.03.2011 01:59

0

1 作者的声誉

首先,如果你想校准一个摄像机,你不应该移动它甚至一毫米,因为外部参数在两个不同的位置会有所不同,如果想要高精度校准你可能想拍摄多张相同图案的照片放置它在不同的位置,而你没有改变相机的位置,那么你可以采取每张照片的校准结果的平均值。但是,如果你的意思是你假设在另一个位置移动相机作为另一个具有不同参数的相机的刺激,那么你应该知道你已经改变相机多少厘米,以便将距离应用到相机第二位的源坐标。实际上,第二种方法是我为我的一个项目所做的,并获得了更好的结果。我希望我的经验很有用。

作者: Maedeh 发布者: 15.08.2019 08:01
32x32