title: how to use SIFT in opencv
body: <p>I am learning C++ and OpenCV these days. Given an image, I want to extract its SIFT features. From <a href="http://docs.opencv.org/modules/nonfree/doc/feature_detection.html" rel="noreferrer">http://docs.opencv.org/modules/nonfree/doc/feature_detection.html</a>, we can know that OpenCV 2.4.8 has the SIFT module. 
  See here: 
  <img src="https://i.stack.imgur.com/UFLs3.jpg" alt="enter image description here"></p>
  
  <p>But I do not know how to use it. Currently, to use SIFT, I need to first call the class SIFT to get a SIFT instance. Then, I need to use <code>SIFT::operator()()</code> to do SIFT. </p>
  
  <p>But what is <code>OutputArray</code> , <code>InputArray</code>,  <code>KeyPoint</code>? Could anyone give a demo to show how to use <code>SIFT</code> class to do SIFT?</p>