title: OpenCV tracking using optical flow
body: <p>I use this to functions as a base of my tracking algorithm.</p>
  
  <pre><code>    //1. detect the features
      cv::goodFeaturesToTrack(gray_prev, // the image 
      features,   // the output detected features
      max_count,  // the maximum number of features 
      qlevel,     // quality level
      minDist);   // min distance between two features
  
      // 2. track features
      cv::calcOpticalFlowPyrLK(
      gray_prev, gray, // 2 consecutive images
      points_prev, // input point positions in first im
      points_cur, // output point positions in the 2nd
      status,    // tracking success
      err);      // tracking error
  </code></pre>
  
  <p><code>cv::calcOpticalFlowPyrLK</code> takes vector of points from the previous image as input, and returns appropriate points on the next image. Suppose I have random pixel (x, y) on the previous image, how can I calculate position of this pixel on the next image using OpenCV optical flow function?</p>