我使用两个投影矩阵P1和P2(例如我使用dinosaur dataset)并且我需要计算基本矩阵F. 所以我使用了两个Matlab函数:
这些功能应该做同样的事情,但我有不同的F值!怎么可能?哪个是正确的功能?
如果在两个不同的图像中两个点X1和X2“相同”,则X2 ^ T * F * X1 = 0 ...... 因此,我通过使用SURF从两个旋转图像(5度)中找到了两个相应的点,但是这两个图形中X2 ^ T * F * X1从不等于零。 有任何想法吗?
相反,如果我使用此函数从匹配点计算F:
我有X2 ^ T * F * X1 = 0 ....显然F与我用其他两个函数的两个F不同...
答案 0 :(得分:2)
嗯,有一件事,很可能这些点不是彼此完美旋转的版本。 SURF使用了许多近似值,双线性插值和一系列破坏真实旋转不变性的东西。所以可能不存在这样一个基本矩阵(如果两组点之间没有线性关系。)是的,即使你进行点匹配也是如此。
那就是说,如果匹配真的很好,你的X2^T*F*X1
可能应该很小,但如果对于任何真实的图像它都是零,我会感到惊讶。
答案 1 :(得分:2)
基本矩阵仅在达到比例时是唯一的。
因此,即使您有不同的基本矩阵,两者都可以正确显示图像。