gpt4 book ai didi

java - Android中如何查找匹配的关键点所属的 "train"图像的索引

转载 作者:行者123 更新时间:2023-12-02 00:12:27 24 4
gpt4 key购买 nike

经过几个小时的研究,我仍然找不到匹配的关键点所属的“火车”图像的索引。我的意思是

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com