【发布时间】:2014-03-01 03:16:11
【问题描述】:
我正在实现立体匹配,并且作为预处理,我正在尝试在没有相机校准的情况下校正图像。 我正在使用冲浪检测器来检测和匹配图像上的特征并尝试对齐它们。找到所有匹配项后,我使用此函数删除所有不在核线上的内容:
[fMatrix, epipolarInliers, status] = estimateFundamentalMatrix(...
matchedPoints1, matchedPoints2, 'Method', 'RANSAC', ...
'NumTrials', 10000, 'DistanceThreshold', 0.1, 'Confidence', 99.99);
inlierPoints1 = matchedPoints1(epipolarInliers, :);
inlierPoints2 = matchedPoints2(epipolarInliers, :);
figure; showMatchedFeatures(I1, I2, inlierPoints1, inlierPoints2);
legend('Inlier points in I1', 'Inlier points in I2');
问题是,如果我使用相同的数据运行此函数,我仍然会得到不同的结果,从而导致每次运行相同数据时产生的视差图存在差异 完全匹配的点仍然相同,但每次运行中的内联点都不同。 在这里你可以看到一些匹配的结果不同:
更新:我认为差异是由 RANSAC 方法引起的,但是使用 LMedS、MSAC,我仍然在相同的数据上得到不同的结果
【问题讨论】:
标签: matlab feature-detection surf matlab-cvst disparity-mapping