为什么基于flann的描述符匹配器每次匹配不同的关键点?(Why does the flann based descriptor matcher match to different keypoints everytime?)
这是正常的吗? 当我尝试使用蛮力匹配器时,结果每次都是一致的,但不是flann。 少量关键点将匹配不同的地方。 我使用Android包装器编写代码,关键点检测器和描述符是SURF,如下所示:
Mat queryDescriptors = new Mat(); Mat trainDescriptors = new Mat(); DescriptorExtractor surfDE = DescriptorExtractor.create(DescriptorExtractor.SURF); surfDE.compute(queryImage, queryKeyPoints, queryDescriptors); surfDE.compute(trainImage, trainKeyPoints, trainDescriptors); DescriptorMatcher dm = DescriptorMatcher.create(DescriptorMatcher.FLANNBASED); List<DMatch> matches = new ArrayList<DMatch>(); dm.match(queryDescriptors, trainDescriptors, matches);Is it normal? When I tried the brute force matcher, the result is consistent everytime, but flann is not. A small amount of keypoints will match to different places. I am writing the code using the Android wrapper, the keypoint detector and descriptor is SURF, something like this:
Mat queryDescriptors = new Mat(); Mat trainDescriptors = new Mat(); DescriptorExtractor surfDE = DescriptorExtractor.create(DescriptorExtractor.SURF); surfDE.compute(queryImage, queryKeyPoints, queryDescriptors); surfDE.compute(trainImage, trainKeyPoints, trainDescriptors); DescriptorMatcher dm = DescriptorMatcher.create(DescriptorMatcher.FLANNBASED); List<DMatch> matches = new ArrayList<DMatch>(); dm.match(queryDescriptors, trainDescriptors, matches);最满意答案
据安德烈介绍, 这就是原因 ! 所以是的,这是正常的。 要找到更多的人将不得不剖析算法!
According to Andrey, this is the reason! So yes, it is normal. To find more one would have to dissect the algorithms!
更多推荐
发布评论