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.
Program and test images
Search the sample code of "Chapter 9 Describing and Matching Interest Points" by yourself.
Write programs that can read test images and run the two feature matching methods by OpenCV.
You have to test your program by your images. You should take photos of an object with different scales and viewpoints.
Create a web page with descriptions, explanation and pictures for your programs.
Requirements of the report page:
For each program code, you have to write 4 parts: (1) goal of this code, (2) theory and principle of the code, (3) code segment explanation, and (4) result comparison or analysis.
(1) template matching,
(2) knn matching,
(3) radius matching,
(4) cross check,
(5) ratio test.
You have to explain at least two important OpenCV methods: cv::matchTemplate function and cv::BFMatcher class. Note that the cv::BFMatcher class has three match functions: match(), knnMatch() and radiusMatch().
You have to explain the most important code segments in your program.
Use the Notre-Dame images and your images to run your programs.
Change parameters of algorithm's functions to get different result images.
Compare and discuss the result images, and explain why the change of parameters can produce different results.
Submit your web address by Google Classroom.