Why matchfeatures give wrong answer?

1 view (last 30 days)
Hi guys,
I have two features vector A=[ 85.8038 57.4149; 144.1727 94.1888; 158.8450 189.1278] and B=[ 87.1281 56.5832; 144.0943 94.7689; 158.4395 190.4297]
I run indexPairs = matchFeatures(A,B,'MatchThreshold',0.8) and have expected to achieve this result:
1 1 2 2 3 3 but I took this result: 1 2 3 3
If any body know a solution, please help me.

Accepted Answer

Dima Lisin
Dima Lisin on 3 Sep 2014
Hi Afsaneh,
You are getting this result because matchFeatures normalizes the feature vectors to have a magnitude of 1. This is because matchFeatures is designed to work with patch descriptors, such as SURF or HOG. You seem to be passing in x-y coordinates, for which the normalization and the threshold do not make sense.
  2 Comments
Afsaneh
Afsaneh on 3 Sep 2014
Thanks Dima, yes. I used matchFeatures to match Centroid features.
Dima Lisin
Dima Lisin on 4 Sep 2014
In that case, matchFeatures is not really suitable.

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!