Please put your name (or names if you work in a group) here:
Name: Melvin Wolf and Osama-al-Wardi
- Fork the current repository
- Read the OpenCV documentation about the Good-Features-to-Track: Shi-Tomasi Corner Detector
- Implement the feature detection and extraction using the
cv.goodFeaturesToTrack()
method. Detect features every 300-th frame and draw them on every frame from web-camera. Please extract between 50 and 200 features. (We extract 50)
- Read the OpenCV documentation about the Lukas-Kanade method: Lucas-Kanade Optical Flow
- Implement optical flow estimation using the
cv.calcOpticalFlowPyrLK()
method. Calculate Optical Flow between every subsequent 2 frames from web-camera using the features achieved in Problem 2.1. - The features are newly detected every 300th frames, i.e. approximately once in every 10 seconds. In between the features location at the image will not change.
- Visualize the Optical flow, using the displacement vectors calculated in Problem 2.2. For this use the OpenCV drawing functions.
- Now please move the detected features from Problem 2.1 by the displacement vectors alculated in Problem 2.2 and draw them with the new position in every frame from web-camera. If this is implemented correctly, the features will move with the moving objects in your video stream.
Please do not copy-paste the example code from the OpenCV documentation, but try to understand the example code and implement the solution to the problem by yourself.