MATLAB: Matchfeatures give wrong answer

Computer Vision Toolbox

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.

Best Answer

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.