title: EMGU 2.4.0 BruteForceMatcher KNNMATCH not working?
body: <p>Here is a snapshot of my code,</p>
  
  <pre><code>Matrix&lt;byte&gt; mask;
  int k = 2;
  VectorOfKeyPoint modelKeyPoints;
  VectorOfKeyPoint observedKeyPoints;
  SURFDetector surfCPU = new SURFDetector(500, false);
  modelKeyPoints = surfCPU.DetectKeyPointsRaw(modelImage, null);
  Matrix&lt;float&gt; modelDescriptors = surfCPU.ComputeDescriptorsRaw(modelImage, null, modelKeyPoints);
  observedKeyPoints = surfCPU.DetectKeyPointsRaw(observedImage, null);
  Matrix&lt;float&gt; observedDescriptors = surfCPU.ComputeDescriptorsRaw(observedImage, null, observedKeyPoints);
  BruteForceMatcher&lt;float&gt; matcher = new BruteForceMatcher&lt;float&gt;(DistanceType.L2);
  matcher.Add(modelDescriptors);
  indices = new Matrix&lt;int&gt;(observedDescriptors.Rows, k);
  using (Matrix&lt;float&gt; dist = new Matrix&lt;float&gt;(observedDescriptors.Rows, k))
  {
        matcher.KnnMatch(observedDescriptors, indices, dist, k, null);
  }
  </code></pre>
  
  <p>I always get the following exception at KnnMatch()</p>
  
  <p><strong>Emgu.CV.Util.CvException occurred
  Message: OpenCV: queryDescriptors.type() == trainDescCollection[0].type()</strong></p>
  
  <p>I have tried so hard to get rid of this exception and no hope :(</p>