Programming Homework
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.
THE FOLLOWING P6-P8 WILL NOT GIVEN AS HOMEWORKS IN THIS SEMESTER
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.