Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OpenCV特征匹配时的选项_Opencv_Image Processing_Feature Detection - Fatal编程技术网

使用OpenCV特征匹配时的选项

使用OpenCV特征匹配时的选项,opencv,image-processing,feature-detection,Opencv,Image Processing,Feature Detection,我试图在使用OpenCV功能匹配时找到不同的选项 我使用的是2.4.4版 我听说有一个“模板”版本的蛮力匹配-我可能能够得到不同的匹配方法 到目前为止,这就是我发现的-但是除了在构造函数中传递匹配方法之外,我看不到如何使用模板版本。这就是它的工作原理吗?我可以探索其他的选择吗 cv::BFMatcher matcher(use_hamming ? cv::NORM_HAMMING : cv::NORM_L2); matcher.knnMatch(descriptors2, descriptors

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

我使用的是2.4.4版

我听说有一个“模板”版本的蛮力匹配-我可能能够得到不同的匹配方法

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

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

谢谢

模板检测在OpenCV文档中的matchTemplate(输入阵列图像、输入阵列模板、输出阵列结果、int方法)中进行了描述


您可以在以下网址找到教程:

unxnut可能建议模板匹配,因为您混合了两种不同的内容: 1) 模板匹配-由unxnut和 2)在OpenCV函数中使用C++模板(这是技术问题,与你的问题无关)。 回答您的问题,BFmatcher只是管道的一部分。你需要 1) 检测特征 2) 描述检测到的特征 3) 匹配特征(这里使用BFMatcher。Hamming表示二进制特征,如ORB、FREAK、L2表示SIFT和SURF) 4) 使用RANSAC进行几何验证

如果您想了解整个流程的工作示例,请参阅

如果你有兴趣了解这个过程,我建议你找一些关于这个过程的大学讲座和/或实验室,例如。

我查看了建议的信息-看起来它执行的操作与我正在查找的功能匹配操作完全不同-是否正确?这一过程不需要寻找特征,而是需要了解重叠图像区域,并计算匹配精度的值——因此,这将更多地是一系列操作中的最终测试,而不是特征匹配的替代方法?您可能会在answers.opencv.org中得到更好的响应。谢谢,我实际上是在寻找关于使用模板匹配方法而不是适合构造函数类型的枚举的建议。这可能允许我使用自定义匹配方法。对不起,我不能很好地表达自己。我想我必须尝试使用类模板从BFMatcher继承。