1 / 85

Introduction to Computer Vision

Introduction to Computer Vision. Lecture Morphological Processing Dr. Roger S. Gaborski. Agenda. Binary morphological processing Erosion and dilation Opening and closing Gray-scale morphological processing Erosion and dilation Morphological gradients. Roger S. Gaborski. 2.

odell
Télécharger la présentation

Introduction to Computer Vision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Computer Vision Lecture Morphological Processing Dr. Roger S. Gaborski

  2. Agenda • Binary morphological processing • Erosion and dilation • Opening and closing • Gray-scale morphological processing • Erosion and dilation • Morphological gradients Roger S. Gaborski 2

  3. Introduction • Morphology: a branch of biology dealing with the form and structure of creatures • Mathematical morphology: • Extract image components based on shape e.g. boundaries, skeletons, convex hull, etc • Image denoise e.g. reduce noise after edge detection Roger S. Gaborski 3

  4. 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 4

  5. 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 Background pixels are set to 0 and appear black Foreground pixels (objects) are 1 and appear white Roger S. Gaborski 5

  6. Chapter 9 Morphological Image Processing A-B = A- (A∩B) From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 6

  7. Translation of Object A by vector b Define Translate object A by vector b: At = { t I2 : t = a+b, a  A } Where I2is the two dimensional image space that contains the image Definition of DILATION is the UNION of all the translations: A B = U {t I2 : t = a+b, a  A} for all b’s in B Roger S. Gaborski 7

  8. DILATION A A1= A B B B a a 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 = U Atwhere the set union U 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

  9. DILATION – B has 2 Elements A A2 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 objects A1 and A2. NOT THE INTERSECTION Roger S. Gaborski 9

  10. DILATION Image (A) SE (B) 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 Dilation Roger S. Gaborski 10

  11. DILATION Countless translation Vectors Another approach Rounded corners Image (A) SE (B) Dilation Roger S. Gaborski 11

  12. DILATION Square corners Image (A) SE (B) 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 Dilation Roger S. Gaborski 12

  13. DILATION Countless translation vectors Another approach Square corners Image (A) SE (B) Dilation Roger S. Gaborski 13

  14. 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 14

  15. Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 15

  16. Chapter 9 Morphological Image Processing Image A Image B ~ A A U B A ∩B A-B = A ∩(~B) From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 16

  17. SE Original Image Translation Process Dilated Image From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 17

  18. 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 = • 0 0 1 • 0 1 0 • 1 0 0 • >> ctr=floor(size(se)+1)/2 • ctr = • 2 2 1 2 3 1 2 3 Roger S. Gaborski 18

  19. MATLAB Dilation Example Im (original image) Im2 (dialated image) >> Im = zeros([13 19]); >> Im(6,6:8)=1; >> Im2 = imdilate(Im,se); 1 2 3 Roger S. Gaborski 19 1 2 3

  20. MATLAB Dilation Example INPUT IMAGE DILATED IMAGE >> 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) 1 2 3 4 5 SE 1 2 3 4 5 Roger S. Gaborski 20

  21. MATLAB Dilation Example INPUT IMAGE DILATED IMAGE I I2 1 2 3 4 5 >> I(6:9,6:13)=1; >> figure, imagesc(I) >> I2=imdilate(I,SE); >> figure, imagesc(I2) SE 1 2 3 4 5 Roger S. Gaborski 21

  22. MATLAB Dilation Example DILATED IMAGE INPUT IMAGE I I2 SE = 1 1 1 1 1 1 1 1 1 Roger S. Gaborski 22

  23. Chapter 9 Morphological Image Processing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 23

  24. 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 24

  25. SE Original Image Translation Process Eroded Image From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 25

  26. MATLAB Erosion Example REODED IMAGE 2 pixel wide INPUT IMAGE >> I=zeros(13, 19); I(6:9,6:13)=1; >> figure, imagesc(I) >> I2=imerode(I,SE); >> figure, imagesc(I2) 1 2 3 1 2 3 26 Roger S. Gaborski SE = 3x1

  27. Chapter 9 Morphological Image Processing Original Image Erosion with a disk of radius 10 From: Digital Image Processing, Gonzalez,Woods And Eddins Erosion with a disk of radius 5 Erosion with a disk of radius 20 27 Roger S. Gaborski

  28. Combinations In most morphological applications dilation and erosion are used in combination May use same or different structuring elements Roger S. Gaborski 28

  29. Morphological Opening and Closing Opening of A by B A o B = (AO B)  B; imopen(A, B) Erosion of A by B, followed by the dilation of the result by B Closing of A by B  A B = (A  B) O B; imclose(A, B) Dilation of A by B, followed by the erosion of the result by B Roger S. Gaborski 29

  30. 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 30

  31. 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 0 f (original image) fe (eroded image) FIRST - EROSION >> se = strel('square', 20); fe = imerode(f,se); figure, imagesc(fe),title('fe') Roger S. Gaborski 31

  32. Dilation of Previous Result Outputs 1 at center of SE when at least one element of SE overlaps object fe (eroded image) fd (dilated image) SECOND - DILATION >> se = strel('square', 20); fd = imdilate(fe,se); figure, imagesc(fd),title('fd') Roger S. Gaborski 32

  33. FO = imopen(f,se); figure, imagesc(FO),title('FO') FO (opened image) fd (dilated image in previous slide) Roger S. Gaborski 33

  34. What if we increased size of SE for DILATION operation?? se = 25 se = 30 se = strel('square', 30); fd = imdilate(fe,se); figure, imagesc(fd),title('fd') se = strel('square', 25); fd = imdilate(fe,se); figure, imagesc(fd),title('fd') Roger S. Gaborski 34

  35. 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 35

  36. Erosion of the result by B Erosion- if any element of structuring element overlaps with background output is 0 Roger S. Gaborski 36

  37. ORIGINAL OPENING CLOSING Roger S. Gaborski 37

  38. Chapter 9 Morphological Image Processing original image opening opening + closing From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 38

  39. Hit or Miss Transformation Usage: to identify specified configuration of pixels, e.g. isolated foreground pixels pixels at end of lines (end points) Definition A B = (A B1) ∩(AcB2) A eroded by B1, intersects A complement eroded by B2 (two different structuring elements: B1 , B2) Roger S. Gaborski 39

  40. Hit or Miss Example Find cross shape pixel configuration: MATLAB Function: C = bwhitmiss(A, B1, B2) Roger S. Gaborski 40

  41. 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 41 From: Digital Image Processing, Gonzalez,Woods And Eddins

  42. 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 42 From: Digital Image Processing, Gonzalez,Woods And Eddins

  43. 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 43 From: Digital Image Processing, Gonzalez,Woods And Eddins

  44. 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 44 From: Digital Image Processing, Gonzalez,Woods And Eddins

  45. 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 45 From: Digital Image Processing, Gonzalez,Woods And Eddins

  46. 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 46 From: Digital Image Processing, Gonzalez,Woods And Eddins

  47. Hit or Miss Have all the pixels in B1 (hits all pixels in B1), but none of the pixels in B2 (misses all pixels in B2) More precisely, hit-and-miss operation Roger S. Gaborski 47

  48. 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 = Don’t Care about SE Roger S. Gaborski 48

  49. Chapter 9 Morphological Image Processing G = bwhitmiss(f, B1, B2); Figure, imshow(g) From: Digital Image Processing, Gonzalez,Woods And Eddins Roger S. Gaborski 49

  50. bwmorph(f, operation, n) Implements various morphological operations based on combinations of dilations, erosions and look up table operations. f: input binary image operation: a string specifying the desired operation n: a positive integer specifying iteration times (default: 1) Roger S. Gaborski 50

More Related