COS 496 - Computer Vision |
Spring 2003 |
Course home | Outline and lecture notes | Assignments |
Matlab is available on several OIT machines (look here for details). You should be able run it remotely from any Unix workstation.
Read through any or all of the following for a basic introduction to Matlab
Work through the following tasks using an image of your choice. You do not need to submit any results, but make sure you are comfortable doing the following:
Note: if your version of Matlab doesn't have the rgb2gray function, download rgb2gray.m. Place this in your working directory, and it should be auto-loaded by Matlab.
matrix2 = matrix1(row_min:row_max,col_min:col_max);Indices in Matlab are 1-based (not 0-based as in C). row_max or col_max may be "end" to indicate the last element.
[var1, var2] = func(x)Hint #3: In Matlab, the number of rows is the first dimension and the number of columns is the second.
If you get stuck on any of these, feel free to ask for help, either by emailing smr@cs.princeton.edu or by asking a colleague.
Test your alogrithm on images of your choosing, experimenting with
different values of the parameters sigma (the width of the Gaussian used
for smoothing), T_h (the "high" threshold), and T_l (the "low" threshold).
Also run your algorithm on the following images:
Test your algorithm on the building image above, and on
checker.jpg. (This is a picture of a
target used for camera calibration. Note the barrel distortion in this
lens.) Explore the effects of changing sigma (the width of the Gaussian),
the size of the neighborhood, and the threshold.
Experiment with heuristics for automatically determining the thresholds to
be used for each image. Some of these are mentioned in Trucco and Verri,
but feel free to be creative and come up with your own.
This assignment is due Wednesday, February 19, 2002 at 11:59 PM Eastern
Standard Time. Please see the general
notes on submitting your assignments, as well as the
late policy and the
collaboration policy.
Please submit:
Note that programming in Matlab is not an excuse to write unreadable code.
You are expect to use good programming style, including meaningful variable
names, a comment or three describing what the code is doing, etc.
III. Corner detector (35%)
Implement the variance-based corner detection algorithm, as described in
class and in Section 4.3 of Trucco and Verri. This consists of three
phases:
Hint: "help eig"
Hint: "help sortrows"
IV. Extra credit
Submitting
smr@cs.princeton.edu