4

哪种方法最适合比较两张图像并丢弃异常点?在 find_obj.cpp opencv 示例中,他们使用 FLANN,但不丢弃异常值。

我见过一些方法,比如使用 Kmeans 或图表。

4

1 回答 1

2

有一种相当可靠且有效的方法来拒绝噪声点并确定您的兴趣点之间的转换。通常用于拒绝异常值的算法称为 RANSAC (http://en.wikipedia.org/wiki/RANSAC),用于确定转换的算法可以采用多种形式,但最新的技术被称为五点算法,可以在这里找到- MATLAB 实现可以在这里找到。请注意,即使您不关心两个图像之间的精确旋转,您也需要确定转换——这就是识别异常值的方式。

不幸的是,我不知道两者结合的成熟实现。您可能需要自己做一些工作来实现 RANSAC 并将其与五点算法集成。

OpenCV 的实现对您的任务来说太过分了(这意味着它可以工作,但会花费比必要更多的时间),但可以开箱即用。感兴趣的函数称为 cv::findFundamentalMat (http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-findfundamentalmat)

于 2011-08-09T16:03:05.170 回答