title: TypeError: Required argument 'outImg' (pos 6) not found
body: <p>When I run my python code </p>
  
  <pre><code>import numpy as np
  import cv2
  import matplotlib.pyplot as plt
  
  img1 = cv2.imread('/home/shar/home.jpg',0)          # queryImage
  img2 = cv2.imread('/home/shar/home2.jpg',0) # trainImage
  
  # Initiate SIFT detector
  
  sift = cv2.xfeatures2d.SIFT_create()
  # find the keypoints and descriptors with SIFT
  kp1, des1 = sift.detectAndCompute(img1,None)
  kp2, des2 = sift.detectAndCompute(img2,None)
  
  # BFMatcher with default params
  bf = cv2.BFMatcher()
  matches = bf.knnMatch(des1,des2, k=2)
  
  # Apply ratio test
  good = []
  for m,n in matches:
      if m.distance &lt; 0.75*n.distance:
          good.append([m])
  
  # cv2.drawMatchesKnn expects list of lists as matches.
  img3 = cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,flags=2)
  
  
  plt.imshow(img3),plt.show()
  </code></pre>
  
  <p>From this line</p>
  
  <pre><code>img3 = cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,flags=2)
  </code></pre>
  
  <p>I get this error</p>
  
  <pre><code>TypeError: Required argument 'outImg' (pos 6) not found
  </code></pre>
  
  <p>I am using python3 and opencv3 </p>