- Goal: Build OpenCV project and learn to access(read/write) image pixels.
- Practice some basic image processing functions: add noise, color reduction, image enhancement, image addition.
- Learn to access pixels by different ways: scanning an image with pointers, scanning an image with iterators.
- Learn to write efficient image scanning loops.
- Extra: Study the Video IO and Video Analysis modules of OpenCV.
- Goal: Histogram processing for image enhancement
- Know histogram
- Apply look-up table to enhance images
- Learn histogram equalization, histogram backpropagation, and mean sift
- Practice image retrieval by histogram matching.
- Goal: Learn image filters
- Remove noise by blurring filters: Gaussian, mean and median filters.
- Detect edges by directional filters: sobel and laplacian files.
- Goal: Learn to implement Harris corner detector
- Practice Harris corner detector by OpenCV
- Understand the effect of parameters of Harris detector
- Goal: Learn how to implement keypoint detection
- Learn to code several keypoint detection algorithms (GFTT, SIFT, SURF, FAST, BRISK, ORB) implemented by OpenCV.
- Compare the multiscale detection capability of these algorithms.
- Goal: Learn to implement feature matching of several local feature descriptors
- Understand two keypoint matching methods: template matching and feature descriptor matching.
- Implement the OpenCV feature matching method for 5 keypoint descriptors: SIFT, SURF, ORB, BRISK, FREAK.
- Goal: Learn how to implement image alignment
- Align two images by feature matching, find their homography, and warp the transformed image into an aligned image.
- Goal: Learn to stitch images and obtain panorama
- Practice a stitching software and learn to obtain good results by adjusting the software's settings and parameters.
- Practice a tutorial C++ code and learn to stitch your images by hand-written program codes.