Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB Image Processing Toolbox. Introduction  Collection of functions (MATLAB files) that supports a wide range of image processing operations  Documentation.

Similar presentations


Presentation on theme: "MATLAB Image Processing Toolbox. Introduction  Collection of functions (MATLAB files) that supports a wide range of image processing operations  Documentation."— Presentation transcript:

1 MATLAB Image Processing Toolbox

2 Introduction  Collection of functions (MATLAB files) that supports a wide range of image processing operations  Documentation www.mathworks.com

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 Display an Image imshow(I)

5 Check the Image in Memory  whos Name Size Bytes Class ans 291x240 69840 uint8 array Grand total is 69840 elements using 69840 bytes uint8[0, 255] uint16[0, 65535] double[0, 1]

6 Histogram Equalization  Histogram: distribution of intensities figure, imhist(I)  Equalize Image (contrast) I2 = histeq(I); figure, imshow(I2) figure, imhist(I2)

7 Histogram Equalization (cont.)

8

9 Write the Image  Validates the extension  Writes the image to disk imwrite(I2, ’pout2.png’); imwrite(I2, ‘pout2.png’, ‘BitDepth’, 4);

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 Morphological Opening (cont.)

12 Subtract Images  Create a more uniform background I2 = imsubtract(I, background); figure, imshow(I2)

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 Apply Thresholding to the Image  Create a binary thresholded image 1. Compute a threshold to convert the intensity image to binary 2. Perform thresholding creating a logical matrix (binary image) level = graythresh(I3); bw = im2bw(I3, level); figure, imshow(bw)

15 Apply Thresholding to the Image (cont.)

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 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 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 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) { 249 }  Histogram (#bins) hist(allgrains, 20)

20 Statistical Properties of Objects (cont.)

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 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 Converting Image Types  dither  gray2ind  grayslice  im2bw  ind2gray  ind2rgb  mat2gray  rgb2gray  rgb2ind

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 Image Arithmetic  imabsdiff  imadd  imcomplement  imdivide  imlincomb  immultiply  imsubtract

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);

27 Adding Images (cont.)

28

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 Subtracting Images (cont.)

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 Multiplying Images (cont.)

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 Dividing Images (cont.)

35 Coordinate Systems  Pixel Coordinates Discrete unit (integer) (r, c)  = (1, 1)  Spatial Coordinates Continuous unit (x, y)  = (0.5, 0.5) 123

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 Spatial Transformations  Map pixel locations in an input image to new locations in an output image Resizing Rotation Cropping

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 Resizing Images (cont.)

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 Rotating Images (cont.)

42 Cropping Images  Extract a rectangular portion of an image imshow ic.tif I = imcrop;


Download ppt "MATLAB Image Processing Toolbox. Introduction  Collection of functions (MATLAB files) that supports a wide range of image processing operations  Documentation."

Similar presentations


Ads by Google