title: Best way of matching FREAK descriptors?
body: <p>So I'm making an application with the use of FAST detectors and FREAK descriptors. When it comes to the matching I wanted to use the BRUTEFORCE_HAMMING matching, but I don't get the expected results (gives more matches with images that have nothing to do with the original, then images that look alike)</p>
  
  <p>I tried the following code</p>
  
  <pre><code> MatOfDMatch matches = new MatOfDMatch();
  
          matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);
          matcher.match(descriptors,descriptors1,matches);
          MatOfDMatch goedematches = new MatOfDMatch();
  
          double max_dist = 0;
          double min_dist = 100;
          //if (descriptors.cols() == descriptors1.cols())
          //{
          for( int i = 0; i &lt; descriptors.rows(); i++ )
          { double dist = matches.toArray()[i].distance;
            if( dist &lt; min_dist ) min_dist = dist;
            if( dist &gt; max_dist ) max_dist = dist;
          }
          // should only draw good matches
         for( int i = 0; i &lt; descriptors.rows(); i++ )
          {  MatOfDMatch temp = new MatOfDMatch();
             if( matches.toArray()[i].distance &lt;= 2*min_dist )
             {   temp.fromArray(matches.toArray()[i]);
                 goedematches.push_back(temp); 
                 }        
         // }
          }
  
         Log.d("LOG!", "Number of good matches= " + goedematches.size());
  </code></pre>
  
  <p>But it gives back "bad" results. So my question is, are there other methods of doing this matching with FREAK descriptors? (I use the OpenCV Library 2.4.4 and the Java wrapper, so no C-code)</p>