据我所知,在计算基本矩阵之前,最好对2D关键点进行归一化。
此函数的Matlab版本可在http://www.csse.uwa.edu.au/~pk/研究/MatrabFns/投影/归一化2dpts.m
问题是,如果OpenCV findFundamentalMat在计算前应用规范化?
我也对此感到好奇,所以我决定检查一下。调试到2.4.9版本的实现中,我发现:
如果您使用的是CV_FM_RANSAC方法,那么它使用的是7点算法,而没有执行任何规范化。
文件:fundam.cpp关于350线
如果指定CV_FM_8POINT,则它会估计并应用缩放。然而,这使用了所有匹配,包括异常值
文件:第490行附近的fundam.cpp