$30
ECE4580 Homework #7
Problem 1. (25 pts) Using the left and right camera views from the stereo problem Homework 4, Problem 2, and
the known homogeneous matrix description of the right camera frame with respect to the left camera frame, identify
the epipolar lines for the right image given the three (homogeneous form) left image points
~rL,1 =
175.000
13.000
1.000
, ~rL,2 =
168.000
156.000
1.000
, ~rL,3 =
475.000
40.000
1.000
.
The camera projection matrix is
Ψ =
400 0 320
0 −400 240
0 0 1
,
and the camera resolution is 640 × 480, for both cameras. To make life easier, the old stereo extrinsic parameters, the
camera projection matrix, and the image coordinates for the left camera are located in the file epipolar.mat.
(1) What is the essential matrix E associated to this stereo camera system?
(b) What is the fundamental matrix F associated to this stereo camera system?
(b) What are the equations for the epipolar lines in the right camera of the points viewed in the left camera? You
can either return in the form of
ax + by + c = 0,
or in the form
y = mx + b.
Note: Since these lines should be in image coords, the fundamental matrix should be used to generate the
epipolar equations.
(c) Plot the epipolar lines for the right image plane (limit the axis to the image resolution limits) and indicate which
ones actually cross the right camera image plane.
(d) Suppose that the projections of the given three points onto the right camera are
(a) ?
196.000
300.000 ?
(b) ?
559.000
119.000 ?
(c) ?
280.000
289.000 ?
.
Identify which are the corresponding points on the left image by seeing where they plot relative to the epipolar
lines. (The points are also provided in the given Matlab file).
Problem 2. (15 pts) Use imfilter to perform a Gaussian blur on an image. An nrows x ncols Gaussian template can
be obtained in the following method:
h = fspecial(’gaussian’, [nrows ncols], sd);
where sd is the standard deviation of the Gaussian (type ‘help fspecial’ for more info), and where nrows and ncols
are be the number of rows and columns, respectively, of the image. Call the function smooth.m. Amongst the homework files there is a Matlab file called blurme that contains a simple image of a square. blur it with different standard
deviations and explain what happens. In the homework document, include both your code and the square image
smoothed with a standard deviation of 2.
Apply the code to another image of choice (can be from the homework, from the web, or wherever). Turn in a
before and after, along with the standard deviation selected.
Note: the options nrows and ncols indicate the size of the convolution kernel window to use. It is not the size
of the image to filter. Using the image size will give a huge convolution kernel; way bigger than is needed. In general
the window should be as big, or bigger, than twice the standard deviation.
1
Problem 3. (30 pts) Using Matlab’s cross-correlation function, find the occurences of a template patch tI in the
image I found when loading the template.mat Matlab file. Where in the image is the template found? What
would you like to have seen returned?
Note: Matlab actually has two ways to perform the cross-correlation. Through the function xcorr2, or through
imfilter with the added option ’corr’ passed as an argument. Peaks in the cross-correlation indicate strong
matches against the template.
Problem 4. (25 pts) By Saturday (at the latest), each group should receive a baby step to perform for the following
Thursday. Your homework is to complete that baby step and communicate the results to the graduate contact student
assigned to your group by Thursday night preferably (Friday morning at the latest).
2