Introduction - If you have any usage issues, please Google them yourself
Using openCV, we use goodFeaturesToTrack function to get strong edges in the image as the feature point tracking, next to call calcOpticalFlowPyrLK function, input two consecutive images, and select a set of feature points in the first image, the output for this set of points in the next image position. Then filter the resulting trace to get rid of the bad feature points. Then mark the tracking path of the feature points.