作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
经过几个小时的研究,我仍然找不到匹配的关键点所属的“火车”图像的索引。我的意思是
FeatureDetector surfDetector = FeatureDetector.create(FeatureDetector.FAST);
MatOfKeyPoint vector = new MatOfKeyPoint();
surfDetector.detect( mImg, vector );
DescriptorExtractor siftDescriptor =DescriptorExtractor.create(DescriptorExtractor.BRIEF);
Mat descriptors=new Mat();
siftDescriptor.compute(mImg, vector, descriptors);
DescriptorMatcher matcherBruteForce=DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_SL2);
List<MatOfDMatch> matches = new ArrayList<MatOfDMatch>();
matcherBruteForce.match(descriptors, descriptors, matches, 2);
我只是用同一张图像作为例子,之后如何找到匹配的关键点所属的“火车”图像的索引?
最佳答案
我认为您遗漏了一些东西:可能您尝试找到一个特定的对象,并且尝试在多个图像的集合中找到与该对象的关键点“最佳匹配”的图像你正在寻找。只需查看您提供的示例代码,您就可以提取未知图像的所有 SIFT/SURF 关键点,并在对象关键点和当前图像之间应用匹配器。您需要的是某种指标来告诉您图像之间的匹配程度。最简单的是计算匹配关键点的数量。然后,您只需要记住集合中的哪张图像导致了最大数量的匹配关键点。匹配关键点的数量可能不是最好的度量标准,您应该查阅有关使用 SIFT 和相关方法进行对象检测的大量文献,以找到最适合您的目的的度量标准。
顺便说一句,您的代码非常困惑:您声明了一个名为 surfDetector 的特征检测器,但实例化了一个“FAST”检测器。您声明一个名为 siftDescriptor 的特征提取器,但实例化一个“BRIEF”提取器。我建议您保留相同的检测器和提取器(如果存在),例如SURF 探测器/提取器。
关于java - Android中如何查找匹配的关键点所属的 "train"图像的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474102/
我是一名优秀的程序员,十分优秀!