 Download Presentation Introduction to Computer Vision

Introduction to Computer Vision - PowerPoint PPT Presentation

Introduction to Computer Vision. Lecture 15 Morphological Processing Dr. Roger S. Gaborski. In class exercise Tuesday before Thursday’s Quiz. What is the equation for the covariance matrix? Cov (x,y) =. What is the equation for the covariance matrix?. variance (x) = I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation Introduction to Computer Vision

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
1. Introduction to Computer Vision Lecture 15 Morphological Processing Dr. Roger S. Gaborski

2. In class exerciseTuesday before Thursday’s Quiz

3. What is the equation for the covariance matrix? variance (x) = covariance (x, y) = First calculate means for red, green and blue data Then calculate individual covariance values Roger S. Gaborski Roger S. Gaborski 5

4. Covariance MATLAB: cov Diagonal: variances Matrix is symmetric Roger S. Gaborski Roger S. Gaborski 6

5. Covariance MATLAB: cov Diagonal: variances Matrix is symmetric Roger S. Gaborski Roger S. Gaborski 7

6. Image1 has the follow mean values: Red mean value: Mr = 5, Green mean value: Mg = 7 Blue mean value: Mb = 6. In vector format: M = [5; 7; 6] A new pixel P has the following values: R= 7, G= 6, B= 1, In vector format: P= [7;6;1]

7. What is the equation for the Euclidean distance using the terms given above? dEuc(P,M) = = [ (P-M)T (P-M) ]1/2 or = [(Pr-MR)2 + (Pg-Mg)2 + (Pb-Mb)2]1/2 dEuc(P,M) =( [7-5,6-7,1-6]*[7-5; 6-7; 1-6] )1/2 = (30)1/2 = 5.5

8. What is the for the Mahalanobisdistance using the values given above? Need inverse of covariance matrix Then: DM(P,M) = [ (P-M)T C-1(P-M) ]1/2

9. DM(P,M) = [ (P-M)T C-1(P-M) ]1/2 Assume C-1 = [1 0 .5; 0 1 0; .5 0 1] First part: [7-5,6-7,1-6]*[1 0 .5; 0 1 0; .5 0 1] = [2, -1, -5] * [1 0 .5; 0 1 0; .5 0 1] = = [-.5 -1 -4] Second part: [-.5 -1 -4] *[2; -1; -5] = 20, DM(P,M) = sqrt(20)

10. Agenda • Binary morphological processing • Erosion and dilation • Opening and closing • Gray-scale morphological processing • Erosion and dilation • Morphological gradients • Example of Background Removal Roger S. Gaborski 12

11. 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 • Remove Background variation Roger S. Gaborski 13

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

13. 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 15

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

15. 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 17

16. 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 18

17. DILATION Countless translation Vectors Rounded corners Image (A) SE (B) Dilation Roger S. Gaborski 19

18. DILATION Another approach 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 20

19. DILATION Countless translation vectors Square corners Image (A) SE (B) Dilation Roger S. Gaborski 21

20. DILATION Another approach 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 22

21. 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 23

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

23. 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 25

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

25. 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 27

26. 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 28 1 2 3

27. 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 29

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

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

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

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

32. MATLAB Erosion Example ERODED 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 34 Roger S. Gaborski SE = 3x1

33. 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 35 Roger S. Gaborski

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

35. Morphological Opening and Closing Opening (o) 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 37

36. 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 38

37. 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 39

38. 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 40

39. FO = imopen(f,se); figure, imagesc(FO),title('FO') FO (opened image) Original Image Roger S. Gaborski 41

40. 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 42

41. 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 43

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

43. ORIGINAL OPENING CLOSING Roger S. Gaborski 45

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

45. 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 47

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

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

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