Upcoming SlideShare
×

# Matlab

1,564
-1

Published on

Published in: Technology, Art & Photos
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
1,564
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
159
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Matlab

1. 1. MATLAB Image Processing Toolbox
2. 2. Introduction  Collection of functions (MATLAB files) that supports a wide range of image processing operations  Documentation  www.mathworks.com
3. 3. Read an Image  Read in an image  Validates the graphic format (bmp, hdf, jpeg, pcx, png, tiff, xwd)  Store it in an array clear, close all I = imread(‘pout.tif`); [X, map] = imread(‘pout.tif’);
4. 4. Display an Image imshow(I)
5. 5. Check the Image in Memory  < Name, Size, Bytes, Class > whos Name Size Bytes Class ans 291x240 69840 uint8 array Grand total is 69840 elements using 69840 bytes uint8 uint16 double [0, 255] [0, 65535] [0, 1]
6. 6. Histogram Equalization  Histogram: distribution of intensities figure, imhist(I)  Equalize Image (contrast) I2 = histeq(I); figure, imshow(I2) figure, imhist(I2)
7. 7. Histogram Equalization (cont.)
8. 8. Histogram Equalization (cont.)
9. 9. Write the Image  Validates the extension  Writes the image to disk imwrite(I2, ’pout2.png’); imwrite(I2, ‘pout2.png’, ‘BitDepth’, 4);
10. 10. Morphological Opening  Remove objects that cannot completely contain a structuring element  Estimate background illumination clear, close all I = imread(‘rice.tif’); imshow(I) background = imopen(I, strel(‘disk’, 15)); imshow(background)
11. 11. Morphological Opening (cont.)
12. 12. Subtract Images  Create a more uniform background I2 = imsubtract(I, background); figure, imshow(I2)
13. 13. Adjust the Image Contrast  stretchlim computes [low hight] to be mapped into [bottom top] I3 = imadjust(I2, stretchlim(I2), [0 1]); figure, imshow(I3)
14. 14. Apply Thresholding to the Image  Create a binary thresholded image 1. 2. Compute a threshold to convert the intensity image to binary Perform thresholding creating a logical matrix (binary image) level = graythresh(I3); bw = im2bw(I3, level); figure, imshow(bw)
15. 15. Apply Thresholding to the Image (cont.)
16. 16. Labeling Connected Components  Determine the number of objects in the image  Accuracy (size of objects, approximated background, connectivity parameter, touching objects) [labeled, numObjects] = bwlabel(bw, 4); numObjects {= 80} max(labeled(:))
17. 17. Select and Display Pixels in a Region  Interactive selection grain = imcrop(labeled)  Colormap creation function RGB_label = label2rgb(labeled, @spring, ‘c’, ‘shuffle’); imshow(RGB_label); rect = [15 25 10 10]; roi = imcrop(labeled, rect)
18. 18. Object Properties  Measure object or region properties graindata = regionprops(labeled, ‘basic’) graindata(51).Area {296} graindata(51).BoundingBox {142.5 89.5 24.0 26.0} graindata(51).Centroid {155.3953 102.1791}  Create a vector which holds just one property for each object allgrains = [graindata.Area]; whos
19. 19. Statistical Properties of Objects max(allgrains) { 695 }  Return the component label of a grain size biggrain = find(allgrains == 695) { 68 }  Mean grain size mean(allgrains)  Histogram (#bins) hist(allgrains, 20) { 249 }
20. 20. Statistical Properties of Objects (cont.)
21. 21. Storage Classes  double (64-bit), uint8 (8-bit), and uint16 (16-bit)  Converting (rescale or offset) double im2double (automatic rescale and offsetting) RGB2 = im2uint8(RGB1); im2uint16 imapprox (reduce number of colors: indexed images)
22. 22. Image Types  Index  Data matrix (uint8, uint16, double)  Colormap matrix (m x 3 array of double [0 1])  Intensity (black = 0, white = ∞)  Binary (0, 1) B = logical(uint8(round(A))); (logical flag on) B = +A; (logical flag off)  RGB (m x n x 3 of truecolor)
23. 23. Converting Image Types      dither gray2ind grayslice im2bw ind2gray     ind2rgb mat2gray rgb2gray rgb2ind
24. 24. Multiframe Image Arrays  Same size, #planes, colormap  Store separate images into one multiframe array A = cat(4, A1, A2, A3, A4, A5)  Extract frames from a multiframe array FRM3 = MULTI(:, :, :, 3)  Display a frame imshow(MULTI(:, :, :, 7))
25. 25. Image Arithmetic     imabsdiff imadd imcomplement imdivide  imlincomb  immultiply  imsubtract
26. 26. Adding Images I = imread(‘rice.tif’); J = imread(‘cameraman.tif’); K = imadd(I, J); imshow(K)  Brighten an image results saturation RGB = imread(‘flowers.tif’); RGB2 = imadd(RGB, 50); subplot(1, 2, 1); imshow(RGB); subplot(1, 2, 2); imshow(RGB2);
29. 29. Subtracting Images  Background of a scene rice = imread(‘rice.tif’); background = imopen(rice, strel(‘disk’, 15)); rice2 = imsubtract(rice, background); imshow(rice), figure, imshow(rice2);  Negative values imabsdiff
30. 30. Subtracting Images (cont.)
31. 31. Multiplying Images  Scaling: multiply by a constant  (brightens >1, darkens <1)  Preserves relative contrast I = imread(‘moon.tif’); J = immultiply(I, 1.2); imshow(I); figure, imshow(J)
32. 32. Multiplying Images (cont.)
33. 33. Dividing Images (Ratioing) I = imread(‘rice.tif’); background = imopen(I, strel(‘disk’, 15)); Ip = imdivide(I, background); imshow(Ip, [])  Linear combination only truncates the final result K = imlincomb(.5, I, .5, I2);
34. 34. Dividing Images (cont.)
35. 35. Coordinate Systems  Pixel Coordinates    Discrete unit (integer) (r, c)  = (1, 1) 123  Spatial Coordinates    Continuous unit (x, y) = (0.5, 0.5)
36. 36. Non-default Spatial Coordinate System A = magic(5); x = [19.5 23.5]; y = [8.0 12.0]; image(A, ‘xData’, x, ‘yData’, y), axis image, colormap(jet(25))
37. 37. Spatial Transformations  Map pixel locations in an input image to new locations in an output image    Resizing Rotation Cropping
38. 38. Resizing Images  Change the size of an image I = imread(‘ic.tif’); J = imresize(I, 1.25); K = imresize(I, [100 150]); figure, imshow(J) figure, imshow(K)
39. 39. Resizing Images (cont.)
40. 40. Rotating Images  Rotate an image by an angle in degrees I = imread(‘ic.tif’); J = imrotate(I, 35, ‘bilinear’); imshow(I) figure, imshow(J)
41. 41. Rotating Images (cont.)
42. 42. Cropping Images  Extract a rectangular portion of an image imshow ic.tif I = imcrop;
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.