Description
1) Generate a 4-level Gaussian pyramid (original image is level-1) and the corresponding
Laplacian pyramid of an image (select one from the web). Use the formula in the notes
to first determine a viable image size, and crop the image (if needed) to test the
pyramid code. Use a=0.4 for the Gaussian mask – use separable masks! Write/use
functions for properly reducing and expanding an image. Write your own interpolation
function – do not use Matlab in-built interpolation functions (e.g., interp2). [7 pts]
2) Using the grayscale images (walk.bmp, bg000.bmp) provided on the WWW site,
perform background subtraction 1 to identify the object. Make sure your image is of
type double! Experiment with thresholds and discuss. [2 pts]
3) Using the grayscale images (walk.bmp, bg[000-029].bmp) provided on the WWW
site, perform background subtraction 2 using statistical distances. Experiment with
thresholds and discuss. [5 pts]
4) Dilate the best binary image resulting from problem 3) using: [1 pt]
d_bsIm = bwmorph(bsIm, ‘dilate’);
5) Next perform a connected components algorithm, and keep only the largest region in
L (save/display as an image). [1 pt]
[L, num] = bwlabel(d_bsIm, 8);
Turn in all code, printouts of images, and discussion of results. Make a
“Name_Surname_dotnumber_HW3.fileformat” script to do all tasks and call needed functions.
Upload your code and selected images to Carmen. [2 pts]
MATLAB help: Loading several ordered grayscale images:
for i=1:N
filename = sprintf(‘myimage_%03d.bmp’, i-1); % if starts with 000
Im(:,:,i) = double(imread(filename));
end
The %03d gives a zero-padded number (e.g., 001), and the image storage is now a 3-D cube. To get image 3 from
the cube, use myIm = Im(:,:,3). With such a cube, MATLAB operations such as ‘mean’ can be told to work along
certain dimensions of the cube.