HW1 : MATLAB warmup
Due: 10/13 11:59pm EEE Dropbox
Using MATLAB [60 points]
The goal of this problem set is to become familiar with basic MATLAB commands, practice manipulating vectors and matrices, and try out basic image display and plotting functions. If you are unsure what a MATLAB function does, check the reference manual (at the command line, type "help" and then the command name).
- Read instructions for submitting homeworks.
- Read info on MATLAB @ UCI
- I recommend working through this concise MATLAB tutorial. Open an interactive
session in MATLAB and test the commands in the tutorial by typing them at
the prompt. (You can skip this step if you are already familiar with
MATLAB.)
- Describe (in words where appropriate) the result of each of the following MATLAB commands. Use the help command as needed, but try to determine the output without entering the commands into MATLAB. Do not submit a screenshot of the result of typing these command.
- >> x = randperm(5);
- >> a = [1:10];
>> b = a([1:3:end]);
- >> f = [1501:2000];
>> g = find(f > 1850);
>> h = f(g);
- >> x = 22.*ones(1,10);
>> y = sum(x);
- >> a = [1:1000];
>> b = a([end:-1:1]);
- Use "imread" to load in a grayscale image of your choice and take a
100x100 sub-region of it. Given the 100 x 100 uint8 matrix representing that
image, write a few lines of code to do each of the following. Try to avoid
using loops.
- Sort all the intensities in A, put the result in a single 10,000-dimensional vector x,
and plot the values in x.
- Display a figure showing a histogram of A's intensities with 32 bins.
- Create and display a new binary image the same size as A, which is white
wherever the intensity in A is greater than a threshold t, and black everywhere
else.
- Display the bottom right quadrant of A.
- Generate a new image (matrix), which is the same as A, but with A's mean
intensity value subtracted from each pixel. Set any negative values to 0.
- Use rand to write a function that returns the roll of a six-sided die.
- Let y be the vector: y = [1:6]. Use the reshape command to form a new matrix z
whose first column is [1, 2, 3]', and whose second column is [4, 5, 6]'.
- Use the min and find functions to set x to the minimum value that occurs
in A. Find the first occurrence of this minimum value in A
and set r to the row it occurs in and c to the column it
occurs in.
- Let v be the vector: v = [1 8 8 2 1 3 9 8]. Use the unique function to
compute the total number of unique values that occur in v.
Programming: computed average images [40 points]
- Write a program that will average a collection of images, compute the standard deviations at each
pixel, and display the results.
The images below give some examples that were generated by averaging "100 unique
commemorative photographs culled from the internet" by Jason Salavon. Your program will do something similar.
Download the images provided on the course website for this assignment here . There are two sets,
set1 and set2. Notice that they are all the same size within a single set. Then write code to do
these things per set of images:
- Compute the average image in grayscale.
- Compute the average image in color, by averaging per RGB channel.
- Compute a matrix holding the grayscale images' standard deviation at each pixel (i.e.,
X(i,j) holds the standard deviation across all the images' gray pixel intensities at row i, column j).
- Display each of the above
Apply these steps to the two sets, separately. In your write-up, briefly explain the results -- why
do they look the way they do?
Hints
Acknowledgements
Original version of this assignment was prepared by Kristen Grauman.
|