title: Python - Sift Class SIFT.compute
body: <p>I am trying to retrieve descriptors for key points that I have already found. I am using the following lines of code:</p>
  
  <pre><code>sift = cv2.SIFT()
  self.features,des = sift.compute(self.gray,self.features)
  </code></pre>
  
  <p>However, I am receiving the error:</p>
  
  <pre><code>'cv2.SIFT' object has no attribute 'compute'
  </code></pre>
  
  <p>I don't understand why, because according to this link (<a href="http://docs.opencv.org/trunk/modules/nonfree/doc/feature_detection.html" rel="nofollow">http://docs.opencv.org/trunk/modules/nonfree/doc/feature_detection.html</a>), this should be possible.</p>
  
  <p>Would anyone know what is going on here?</p>
  
  <p>I also noticed that:</p>
  
  <pre><code>cv2.SIFT.detectAndCompute(image, mask[, descriptors[, useProvidedKeypoints]]) → keypoints, descriptors¶
  </code></pre>
  
  <p>allows you to use already detected keypoints... would someone be able to tell me how to input the arguments correctly for this function to work? I don't need to use the <code>mask</code> argument by the way.</p>
  
  <p>Thank you for your help.</p>