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
Apply look-up table to enhance images
Learn histogram equalization, histogram backpropagation, and mean sift
Practice image retrieval by histogram matching.
THE FOLLOWING P6-P8 WILL NOT GIVEN AS HOMEWORKS IN THIS SEMESTER
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.
P6: Feature Matching
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.
P7: Image Alignment
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.
P8: Image Stitching
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.