The goal of this assignment is extract corner features from photographs.
Part 1 – Harris Corners (60 points):
Write a program that loads an image, extracts Harris Corners using the algorithm discussed in class, and
displays the corners overlaid on the image. Your program may not make use of any existing
functions/code that extract features. Start by using the checkerboard image to test your code.
Part 2 – Ranking Corners (20 points):
After you’ve assigned “cornerness” measurements to every pixel, use the following three techniques to
choose corners and compare them.
1) Find the max “cornerness” measurement in the image. Label all pixels whose “cornerness” is
greater than a certain percentage of this value (i.e. 10%) as corners. The exact percentage you
use will probably change based on the image.
2) Label the n pixels in the entire image with the highest “cornerness” values as corners.
3) Partition your image into small sections (i.e. 100×100 pixel neighborhoods). Label the n pixels
in each neighborhood with the highest “cornerness” values for that neighborhood as corners.
For all of these approaches, play with the parameters (percentage, neighborhood size, n). You’ll probably
use different values for different images to get good corners.
Part 3 – Data (5 points):
Run your code on at least five additional images that have differences in content, lighting, rendering style,
(landscape, cityscape, people, animals, still-life, drawing, painting, day, night, inside, outside, etc.). Feel
free to take your own photographs.
Report and Submission (15 points):
Submit yoursource code and a PDF of a report. The report should include a description of the assignment
and of the Harris Corner algorithm, equations used, images of your results (on 6+ images), and any issues
encountered. For at least one image, show the results for all three corner ranking criteria. On every
image you include, specify what approach and parameter values you used to extract corners. Include
observations on how the algorithm performs on different types of data. Embed the images in your file.
Each section should be labeled and images should be referenced with figure numbers. Do not upload
separate image files.
Bonus (10/15 points):
Visualize the range of “cornerness” values computed for an image. You can do this in grayscale for up
to 10 points or RGB for up to 15 as shown below.