title: Finding matches between images with OpenCV dense SIFT
body: <p>I've implemented a dense feature detector using OpenCV following one of the answers to this <a href="https://stackoverflow.com/questions/20146570/opencv-python-dense-sift">question</a>. </p>
  
  <pre><code>sift = cv2.SIFT()
  dense=cv2.FeatureDetector_create("Dense")
  kp1=dense.detect(template_detect)
  des1=sift.compute(template_detect,kp1)
  kp2=dense.detect(image_detect)
  des2=sift.compute(image_detect,kp2)
  </code></pre>
  
  <p>It works well, however, I'm interested in comparing these two images to try and find matches between them. However when try to implement it like below I get the error "TypeError: queryDescriptors is not a numerical tuple".</p>
  
  <pre><code>bf = cv2.BFMatcher(cv2.NORM_L2, crossCheck=True)
  matches = bf.match(des1,des2)
  matches = sorted(matches, key = lambda x:x.distance)
  img3 = cv2.drawMatches(template_detect,kp1,image_detect,kp2,matches[:4], 2, None)
  </code></pre>
  
  <p>Is there a better way I should be trying to implement key point matches between the images?</p>