
Hi I m developing android application which recognize pattern, It si working as you can see but I have to face with the problem of over matching.I have read that it is caused because my matcher is too sensitive.For matching I use this kind of matcher:
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);
…
matcher.match(descriptor1, descriptorLogo, matches);
I also try to implement knnmatch() but it’s reault I can not draw out with the function Features2d.drawMatches()
Thanks for any answer hopely it will solve my problem
First, in the matches vector, every match has a confidence measure. You can select only those with higer confidence.
Second approach, which will give you also a good performance boost, is to select fewer keypoints by tuning the keypoint extraction algorithm. Read about your descriptor of choice, and see how the input parameters influence the number of selected points. Set those parameters in the constructor. You have to test it a lot, and check that the quality of the final result it not degraded.