title: BFMatcher knnMatch
body: <p>I try to implement knnMatch on BFMatcher as follows:</p>
  
  <pre><code>BFMatcher matcher(NORM_L2, true);
  vector&lt;DMatch&gt; matches;
  //matcher.match(descriptors1, descriptors2, matches);
  matcher.knnMatch(descriptors1, descriptors2, matches, 2);
  </code></pre>
  
  <p>And receive the following error:</p>
  
  <pre><code>fiducialMain.cpp: In function ‘void fiducialCalc(cv::Mat, cv::Mat, cv::Mat&amp;, cv::Mat&amp;, int&amp;)’:
  fiducialMain.cpp:98:56: error: no matching function for call to ‘cv::BFMatcher::knnMatch(cv::Mat&amp;, cv::Mat&amp;, std::vector&lt;cv::DMatch&gt;&amp;, int)’
    matcher.knnMatch(descriptors1, descriptors2, matches,2);
                                                          ^
  fiducialMain.cpp:98:56: note: candidates are:
  In file included from fiducialMain.cpp:15:0:
  /usr/local/include/opencv2/features2d/features2d.hpp:1116:18: note: void cv::DescriptorMatcher::knnMatch(const cv::Mat&amp;, const cv::Mat&amp;, std::vector&lt;std::vector&lt;cv::DMatch&gt; &gt;&amp;, int, const cv::Mat&amp;, bool) const
       CV_WRAP void knnMatch( const Mat&amp; queryDescriptors, const Mat&amp; trainDescriptors,
                    ^
  /usr/local/include/opencv2/features2d/features2d.hpp:1116:18: note:   no known conversion for argument 3 from ‘std::vector&lt;cv::DMatch&gt;’ to ‘std::vector&lt;std::vector&lt;cv::DMatch&gt; &gt;&amp;’
  /usr/local/include/opencv2/features2d/features2d.hpp:1130:18: note: void cv::DescriptorMatcher::knnMatch(const cv::Mat&amp;, std::vector&lt;std::vector&lt;cv::DMatch&gt; &gt;&amp;, int, const std::vector&lt;cv::Mat&gt;&amp;, bool)
       CV_WRAP void knnMatch( const Mat&amp; queryDescriptors, CV_OUT vector&lt;vector&lt;DMatch&gt; &gt;&amp; matches, int k,
                    ^
  /usr/local/include/opencv2/features2d/features2d.hpp:1130:18: note:   no known conversion for argument 2 from ‘cv::Mat’ to ‘std::vector&lt;std::vector&lt;cv::DMatch&gt; &gt;&amp;’
  </code></pre>
  
  <p>Can anybody explain this error?</p>