我可以重复使用由2个不同相机拍摄的2个不同相同场景图像计算出的Homography矩阵吗?

时间:2012-06-14 02:15:56

标签: opencv 2d coordinates homography correspondence

我正在尝试学习OpenCV。我有关于单应性和极线几何的问题。

假设我使用cvFindHomography()函数计算单应性,使用两个静态图像的匹配特征点,两个摄像头来自两个不同的视点。

如果我重复使用单应矩阵从相机2(左)拍摄的图像中检测相机1(右)中的相应点(是因为我知道x' = H.x其中x'是左图像',这是错误的吗? 2d同质特征点,x是右图像'2d对应的同质特征点,H是单应矩阵),其中camera1和camera2中的2d点不用于计算单应矩阵?

我的意思是,我可以重复使用这两个摄像机的计算单应矩阵来找到任何不用于计算单应矩阵的图像的对应点吗?

当用固定图像确定时,我使用哪个图像是否重要?或者我每次都需要计算它?

1 个答案:

答案 0 :(得分:8)

只要相机不再移动且场景不会改变,您就可以使用单应性将点从一个图像投影到另一个图像。

据我所知,那些相机(校准过的)会拍照,然后你会一直使用这两张照片。好吧,如果你计算单应性,那么你可以从两个图像中投射你想要的所有点。当然,你会得到一些错误,但这是由于图像中的噪声和影响线性方法所使用的线性方法的非线性。

如果您继续使用相机拍摄图像,那么您必须为每一对新图像再次计算单应性,因为您不知道先验场景将如何变化。