Download presentation
1
Introduction to Computer Vision
Lecture 16 Dr. Roger S. Gaborski
2
Binary Morphological Processing
Non-linear image processing technique Order of sequence of operations is important Linear: (3+2)*3 = (5)*3=15 3*3+2*3=9+6=15 Non-linear: (3+2)2 + (5)2 =25 [sum, then square] (3)2 + (2)2 =9+4=13 [square, then sum] Based on geometric structure Used for edge detection, noise removal and feature extraction Used to ‘understand’ the shape/form of a binary image Roger S. Gaborski
3
Image – Set of Pixels Basic idea is to treat an object within an image as a set of pixels (or coordinates of pixels) In binary images, pixels that are ‘off’, set to 0, are background and appear black. Foreground pixels (objects) are 1 and appear white Roger S. Gaborski
4
Neighborhood Set of pixels defined by their location relation to the pixel of interest Defined by structuring element Specified by connectivity Connectivity- ‘4-connected’ ‘8-connected’ Roger S. Gaborski
5
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
6
Translation of Object A by vector b
Define Translation ob object A by vector b: At = { t I2 : t = a+b, a A } Where I2 is the two dimensional image space that contains the image Definition of DILATION is the UNION of all the translations: A B = { t I2 : t = a+b, a A } for all b’s in B Roger S. Gaborski
7
DILATION A A1 Object B is one point located at (a,0) A1: Object A is translated by object B Since dilation is the union of all the translations, A B = At where the set union is for all the b’s in B, the dilation of rectangle A in the positive x direction by a results in rectangle A1 (same size as A, just translated to the right) Roger S. Gaborski
8
DILATION – B has 2 Elements
A A1 (part of A1 is under A2) -a a a a Object B is 2 points, (a,0), (-a,0) There are two translations of A as result of two elements in B Dilation is defined as the UNION of the objectsA1 and A2. NOT THE INTERSECTION Roger S. Gaborski
9
DILATION Rounded corners
Round Structuring Element (SE) can be interpreted as rolling the SE around the contour of the object. New object has rounded corners and is larger by ½ width of the SE Roger S. Gaborski
10
DILATION Rounded corners
Square Structuring Element (SE) can be interpreted as moving the SE around the contour of the object. New object has square corners and is larger by ½ width of the SE Roger S. Gaborski
11
DILATION The shape of B determines the final shape of the dilated object. B acts as a geometric filter that changes the geometric structure of A Roger S. Gaborski
12
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
13
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
14
Roger S. Gaborski From: Digital Image Processing, Gonzalez,Woods
And Eddins Roger S. Gaborski
15
imdilate IM2 = IMDILATE(IM,NHOOD) dilates the image IM, where NHOOD is a matrix of 0s and 1s that specifies the structuring element neighborhood. This is equivalent to the syntax IIMDILATE(IM, STREL(NHOOD)). IMDILATE determines the center element of the neighborhood by FLOOR((SIZE(NHOOD) + 1)/2). >> se = imrotate(eye(3),90) se = >> ctr=floor(size(se)+1)/2 ctr = Roger S. Gaborski
16
>> I = zeros([13 19]); >> I(6,6:8)=1;
>> I2 = imdilate(I,se); Roger S. Gaborski
17
MATLAB Dilation Example
>> I = zeros([13 19]); >> I(6, 6:12)=1; >> SE = imrotate(eye(5),90); >> I2=imdilate(I,SE); >> figure, imagesc(I) >> figure, imagesc(SE) >> figure, imagesc(I2) Roger S. Gaborski
18
INPUT IMAGE DILATED IMAGE SE Roger S. Gaborski
19
>> figure, imagesc(I) >> I2=imdilate(I,SE);
Roger S. Gaborski
20
I I2 SE = Roger S. Gaborski
21
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
22
Dilation and Erosion DILATION: Adds pixels to the boundary of an object EROSIN: Removes pixels from the boundary of an object Number of pixels added or removed depends on size and shape of structuring element Roger S. Gaborski
23
Roger S. Gaborski From: Digital Image Processing, Gonzalez,Woods
And Eddins Roger S. Gaborski
24
MATLAB Erosion Example
2 pixel wide SE = 3x3 I3=imerode(I2,SE); Roger S. Gaborski
25
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
26
Combinations In most morphological applications dilation and erosion are used in combination May use same or different structuring elements Roger S. Gaborski
27
Morphological Opening and Closing
Opening of A by B A B Erosion of A by B, followed by the dilation of the result by B Closing of A by B A B Dilation of A by B, followed by the erosion of the result by B MATLAB: imopen(A, B) imclose(A,B) Roger S. Gaborski
28
MATLAB Function strel strel constructs structuring elements with various shapes and sizes Syntax: se = strel(shape, parameters) Example: se = strel(‘octagon’, R); R is the dimension – see help function Roger S. Gaborski
29
Opening of A by B A B Erosion of A by B, followed by the dilation of the result by B Erosion- if any element of structuring element overlaps with background output is zero FIRST - EROSION >> se = strel('square', 20);fe = imerode(f,se);figure, imagesc(fe),title('fe') Roger S. Gaborski
30
Dilation of Previous Result
Outputs 1 at center of SE when at least one element of SE overlaps object SECOND - DILATION >> se = strel('square', 20);fd = imdilate(fe,se);figure, imagesc(fd),title('fd') Roger S. Gaborski
31
FO=imopen(f,se); figure, imagesc(FO),title('FO')
Roger S. Gaborski
32
What if we increased size of SE for DILATION operation??
se = se = 30 se = strel('square', 25);fd = imdilate(fe,se);figure, imagesc(fd),title('fd') se = strel('square', 30);fd = imdilate(fe,se);figure, imagesc(fd),title('fd') Roger S. Gaborski
33
Closing of A by B A B Dilation of A by B
Outputs 1 at center of SE when at least one element of SE overlaps object se = strel('square', 20);fd = imdilate(f,se);figure, imagesc(fd),title('fd') Roger S. Gaborski
34
Erosion of the result by B
Erosion- if any element of structuring element overlaps with background output is zero Roger S. Gaborski
35
ORIGINAL OPENING CLOSING Roger S. Gaborski
36
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
37
Hit or Miss Transformation
Useful to identify specified configuration of pixels, such as, isolated foreground pixels or pixels at end of lines (end points) A B = (A B1) (Ac B2) A eroded by B1, intersection A complement eroded by B2 (two different structuring elements) Roger S. Gaborski
38
Hit or Miss Example Find cross shape pixel configuration: 1
1 MATLAB Function: C = bwhitmiss(A, B1, B2) Roger S. Gaborski
39
Complement of Original Image and B2
Original Image A and B1 A eroded by B1 Complement of Original Image and B2 Erosion of A complement And B2 Intersection of eroded images Roger S. Gaborski From: Digital Image Processing, Gonzalez,Woods And Eddins
40
Hit or Miss Have all the pixels in B1, but none of the pixels in B2
Roger S. Gaborski
41
Hit or Miss Example #2 Locate upper left hand corner pixels of objects in an image Pixels that have east and south neighbors (Hits) and no NE, N, NW, W, SW Pixels (Misses) B1 = B2 = 1 1 Don’t Care about SE Roger S. Gaborski
42
Morphological Image Processing
Chapter 9 Morphological Image Processing G = bwhitmiss(f, B1, B2); Figure, imshow(g) From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
43
bwmorph(f, operation, n)
Implements various morphological operations based on combinations of dilations, erosions and look up table operations. Example: Thinning >> f = imread(‘fingerprint_cleaned.tif’); >> g = bwmorph(f, ‘thin’, 1); >> g2 = bwmorph(f, ‘thin’, 2); >> g3 = bwmorph(f, ‘thin’, Inf); Roger S. Gaborski
44
Morphological Image Processing
Chapter 9 Morphological Image Processing Input Roger S. Gaborski From: Digital Image Processing, Gonzalez,Woods And Eddins
45
Roger S. Gaborski From: Digital Image Processing, Gonzalez,Woods
And Eddins Roger S. Gaborski
46
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
47
Labeling Connected Components
Label objects in an image 4-Neighbors 8-Neighbors p p Roger S. Gaborski
48
4 and 8 Connect Input Image – Connect Connect Roger S. Gaborski
49
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
50
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
51
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
52
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
53
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
54
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
55
Reflection Dilation definition:
“Dilation of A by B is the set consisting of all structuring element origin locations where the reflected and translated B overlaps at least some portion of A” If structuring element is symmetric with respect to origin, reflection of B has no effect Roger S. Gaborski
56
Morphological Image Processing
Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.