0

我试图在使用 OpenCV 功能匹配时找到不同的选项。

我使用的是 2.4.4 版。

我听说有一个用于蛮力匹配的“模板化”版本 - 我可能可以获得不同的匹配方法......

到目前为止,这就是我发现的——但除了在构造函数中传递匹配方法之外,我看不到如何使用模板版本。它是这样工作的吗?我可以探索其他选择吗?

cv::BFMatcher matcher(use_hamming ? cv::NORM_HAMMING : cv::NORM_L2);
matcher.knnMatch(descriptors2, descriptors1, matches, 2);

谢谢

4

2 回答 2

0

模板检测在 OpenCV 文档中描述:http : //docs.opencv.org/modules/imgproc/doc/object_detection.html?highlight=template%20match#void matchTemplate(InputArray image, InputArray templ, OutputArray result, int method )

您可以在以下位置找到教程:http ://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html?highlight=template%20match

于 2013-11-04T21:22:57.287 回答
0

unxnut 可能建议模板匹配,因为您混合了两种不同的东西:1)模板匹配 - 由 unxnut 建议和 2)在 OpenCV 函数中使用 C++ 模板(这是技术问题,与您的问题无关)。

回答您的问题,BFmatcher 只是管道的一部分。您需要 1)检测功能http://docs.opencv.org/doc/tutorials/features2d/feature_detection/feature_detection.html 2)描述检测到的功能 http://docs.opencv.org/doc/tutorials/features2d/feature_description /feature_description.html 3) 匹配特征(此处使用 BFMatcher。汉明用于二进制特征,如 ORB、FREAK、L2 用于 SIFT 和 SURF) 4) 使用 RANSAC 进行几何验证。

如果您想要整个过程的工作示例,请查看http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

如果您有兴趣了解这个过程,我建议您寻找一些关于此的大学讲座和\或实验室,例如 http://www.cvl.isy.liu.se/education/undergraduate/tsbb15/lectures /讲座-08

于 2013-11-05T20:56:22.940 回答