Optical flow is a very important concept in image processing. It is the pattern of motion of objects, surfaces, edges, etc. OpenCV has embedded many methods that utilize the Lucas-kanade algorithm. They are cvGoodFeaturesToTrack (used to find meaningful features to track), cvFindCornerSubPix (refines a set of features), and cvCalcOpticalFlowPyrLK (does the actual optical flow calculations). This application demonstrates the fundamentals of optical flow by using cvCalcOpticalFlowPyrLK to track points defined by an end users mouse click.