title: Matching algorithm for MSER features?
body: <p>How can the following work?</p>
  
  <p>I am seeking for <code>MSER</code> feature points and then pairing them with <a href="http://www.mathworks.com/help/vision/ref/matchfeatures.html?searchHighlight=match%20features" rel="nofollow noreferrer"><code>matchFeatures</code></a> function.</p>
  
  <pre><code>% file1 = 'roofs1.jpg';
  % file2 = 'roofs2.jpg';
  
  file1 = 'cameraman.tif';
  
  
  I1 = imread(file1);
  
  %I2 = imread(file2);
  I2 = imrotate(I1, 45);
  
  % I1 = rgb2gray(I1);
  % I2 = rgb2gray(I2);
  
  % %Find the SURF features.
  % points1 = detectSURFFeatures(I1);
  % points2 = detectSURFFeatures(I2); 
  
  points1 = detectMSERFeatures(I1);
  points2 = detectMSERFeatures(I2); 
  
  %Extract the features.
  [f1, vpts1] = extractFeatures(I1, points1);
  [f2, vpts2] = extractFeatures(I2, points2);
  
  %Retrieve the locations of matched points. The SURF featurevectors are already normalized.
  indexPairs = matchFeatures(f1, f2, 'Prenormalized', true) ;
  matched_pts1 = vpts1(indexPairs(:, 1));
  matched_pts2 = vpts2(indexPairs(:, 2));
  
  
  figure; showMatchedFeatures(I1,I2,matched_pts1,matched_pts2,'montage');
  legend('matched points 1','matched points 2');
  </code></pre>
  
  <p>Apparently it works fine</p>
  
  <p><img src="https://i.stack.imgur.com/Cj5wk.jpg" alt="enter image description here"></p>
  
  <p>But how it can be? <a href="http://www.mathworks.com/help/vision/ref/mserregionsclass.html?searchHighlight=MSERRegions" rel="nofollow noreferrer"><code>MSERRegions</code></a> contains only ellipses. How can they paired? It is apparently not enough information!</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>I found that <a href="http://www.mathworks.com/help/vision/ref/extractfeatures.html?searchHighlight=extractFeatures" rel="nofollow noreferrer"><code>extractFeatures</code></a> function returns SURF feature vectors from MSER points. So it compares 64-dimensional SURF vectors.</p>