MATLAB - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

MATLAB

Description:

Remove objects that cannot completely contain a structuring element ... stretchlim computes [low hight] to be mapped into [bottom top] ... – PowerPoint PPT presentation

Number of Views:194
Avg rating:3.0/5.0
Slides: 43
Provided by: gutembergb
Category:
Tags: matlab | hight

less

Transcript and Presenter's Notes

Title: MATLAB


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
  • lt Name, Size, Bytes, Class gt
  • whos
  • Name Size Bytes Class
  • ans 291x240 69840 uint8 array
  • Grand total is 69840 elements using 69840 bytes

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
Histogram Equalization (cont.)
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 Thresholdingto the Image
  • Create a binary thresholded image
  • 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
Apply Thresholdingto 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 DisplayPixels in a Region
  • Interactive selection
  • grain imcrop(labeled)
  • Colormap creation function
  • RGB_label label2rgb(labeled,
  • _at_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 Propertiesof 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 Propertiesof 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
Adding Images (cont.)
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 gt1, darkens lt1)
  • 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
Write a Comment
User Comments (0)
About PowerShow.com