MATLAB的estimateUncalibratedRectification在数学/几何术语方面做了什么?
它的确切计算结果是什么?
据我了解,如果相机参数未知,那么仅基本矩阵可以从两个图像中计算出来,不基本矩阵。
所以,据我所知,estimateUncalibratedRectification
的结果应该是某种变换T
的模糊,因为基本矩阵 - 如果相机的内在因素可以从两个图像中计算出来参数未知 - 直到任意投影变换都是模糊的。
这是对的吗?
我的猜测是,estimateUncalibratedRectification
计算P1
的投影转换image1
和P2
的另一个投影转换image2
,以便在使用这些时在相应的图像上进行两次变换(P1
和P2
),然后得到的图像(R1
和R2
)将在对应的极线将在的意义上得到纠正相同的行,如下图所示。
我的问题是:这个结果有多么模糊?
我的感觉是,结果转换P1
和P2
在某些转换T
之前是不明确的,但我真的不明白这个T
是什么。
有人可以解释一下estimateUncalibratedRectification
在概念上/数学上/几何上如何运作,并说出T
可以是什么?
换句话说,转化是什么 T
,当应用于R1
和R2
时会产生图片对TR1
和TR2
具有与R1
和R2
相同的修正属性,即相应的极线显示在TR1
和TR2
的匹配行中,就像它们一样在R1
和R2
进行?
这是T
是什么?是否有这样的T
?
PS。:在发布此问题之前,我已经阅读了estimateUncalibratedRectification.m
的代码,但这并没有让我更聪明。
答案 0 :(得分:1)
如果内在函数未知,则结果在投影变换之前是模糊的。换句话说,如果您使用estimateUncalibratedRectification
来纠正一对图像,然后计算视差并进行3D重建,那么您将重建3D场景直到投影变换。直线将是直线,平行线将是平行的,但您的角度和尺寸可能是错误的。
要确定投射变换是什么,您需要更多信息。如果您知道相机内在函数,那么您可以进行缩放重建。换句话说,您可以获得正确的角度和相对尺寸。要获得正确的比例,您需要知道基线(相机之间的距离)或场景中某些参考物体的大小。
更直接的方法是使用Camera Calibrator应用程序或立体相机校准器应用程序校准您的相机。