CS 376b Introduction to Computer Vision 02 / 18 / 2008 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
CS 206 Introduction to Computer Science II 01 / 20 / 2009 Instructor: Michael Eckmann.
Advertisements

CS 376b Introduction to Computer Vision 04 / 21 / 2008 Instructor: Michael Eckmann.
Introduction to Morphological Operators
CS 206 Introduction to Computer Science II 04 / 28 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 03 / 20 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 08 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 10 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 01 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 12 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 16 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 26 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 17 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 27 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 03 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 02 / 20 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 04 / 09 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 02 / 11 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 16 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 19 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 02 / 25 / 2009 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 04 / 07 / 2010 Instructor: Michael Eckmann.
GUIDED BY: C.VENKATESH PRESENTED BY: S.FAHIMUDDIN C.VAMSI KRISHNA ASST.PROFESSOR M.V.KRISHNA REDDY (DEPT.ECE)
CS 206 Introduction to Computer Science II 09 / 30 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 02 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 03 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 29 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
Lecture 5. Morphological Image Processing. 10/6/20152 Introduction ► ► Morphology: a branch of biology that deals with the form and structure of animals.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
Chapter 3 cont’d. Binary Image Analysis. Binary image morphology (nonlinear image processing)
CS 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 28 / 2008 Instructor: Michael Eckmann.
Digital Image Processing CSC331 Morphological image processing 1.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 18 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 18 / 2009 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 02 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 01 / 30 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 02 / 02 / 2009 Instructor: Michael Eckmann.
CS654: Digital Image Analysis
CS 376b Introduction to Computer Vision 02 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 12 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
Figure 1 Single platelets Small aggregates Medium aggregates Large aggregates No adhesion.
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
Digital Image Processing Morphological Image Processing.
CS 102 Computers In Context (Multimedia)‏ 04 / 27 / 2009 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann.
Lecture(s) 3-4. Morphological Image Processing. 3/13/20162 Introduction ► ► Morphology: a branch of biology that deals with the form and structure of.
Morphological Image Processing (Chapter 9) CSC 446 Lecturer: Nada ALZaben.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Digital Image Processing (Digitaalinen kuvankäsittely) Exercise 5
CSE 554 Lecture 1: Binary Pictures
Introduction to Morphological Operators
CS Digital Image Processing Lecture 5
Presentation transcript:

CS 376b Introduction to Computer Vision 02 / 18 / 2008 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions binary morphological operators –erosion –dilation –opening –closing –conditional dilation AND, OR, NOT, MINUS

Michael Eckmann - Skidmore College - CS Spring 2008 structuring element a structuring element is a typically small binary image representing some shape, and a structuring element has an origin –e.g. a 3x3 square of all 1-pixels, with center as origin –a 5x5 binary image with a diamond shape of 1-pixels, others 0's –let's look at others in figure 3.12 on p. 64 a structuring element is applied to a binary image by hovering the origin pixel over each pixel in the image one at a time –only the 1-pixels in the structuring element matter (the 0-pixels are not compared)‏ –if the structuring element fits, this means that all the 1-pixels in the structuring element correspond to 1-pixels in the image –if the structuring element hits, this means that at least one 1-pixels in the structuring element corresponds to a 1-pixel in the image

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology binary image morphological operations –image is f, structuring element is s, resulting image is g –dilation – increase the size of regions f dilated by s results in g where g contains a 1 if s hits f, 0 otherwise –erosion – decrease the size of regions f eroded by s results in g where g contains a 1 if s fits f, 0 otherwise

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology binary image morphological operations –image is f, structuring element is s, resulting image is g –closing – closes up holes within regions –f closed by s results in g, which is the result of f dilated by s and then eroded by s –opening – get rid of jutting out portions of regions –f opened by s results in g, which is the result of f eroded by s and then dilated by s Both opening and closing are idempotent –this means after one closing of f by s, further closings by s do not change the result –same for opening

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology binary image morphological operations –let's look at examples in figure 3.13 –as well as a program that performs these operations w/ structuring elements 5x5 diamond, 7x7 disk, vertical line 5, horizontal line 5, lshaped11x11 whiteSquareHollow.png whiteSquareHollow2.png whiteSquare2.png (use diamonds and disks)‏ whiteSquareNoisy2.png char_aNoisy.png

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology Other simple operations that can be done to binary images –f and g are binary images of the same dimensions –AND: f AND g results in h where h contains a 1 iff f and g both contain a 1 –OR: f OR g results in h where h contains a 1 if either f and/or g contain a 1 –NOT: NOT f results in h where all 0's in f result in 1's in h and all 1's in f result in 0's in h –MINUS: f MINUS g results in h where 1 minus 0 = 1 all others 0

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology in your own time, look at the gear-tooth inspection example and follow each step closely to understand how this uses the operators we just learned and why consider the following problem: –exercise 3.8 a thresholded satellite image of a region is generated such that the water pixels are 1's, and bridges that cross the water are 0's (they are fairly thin)‏ –how to make the bridge pixels 1's so that it looks all like water –how to detect the bridges as separate objects

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology binary image morphological operations –conditional dilation let's look at the example on page 72 an image B is first eroded to find only regions containing vertical lines of >= 3 1-pixels (note: this is not part of the conditional dilation) --- this results in an image C D is a 3x3 square structuring element then, C is conditionally dilated by D with respect to B which –repeatedly dilates C by D while only retaining 1's that are in B –this is done until there are no further changes –this is a nice operator to “select” only certain regions with a particular structural property (which was determined by the original erosion)‏

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology Tomorrow, you will do a lab on binary morphology –to prepare, you should read the parts of chapter 3 dealing with this topic and understand fully the gear-tooth example For the rest of today's class, break up into groups of two or three and type up your planning in pseudocode of how you would go about implementing functions for erosion and dilation. Each should take in a binary image and a structuring element which is also a binary image, as well as an origin of the structuring element. –I'm not sure we can store 1 bit per pixel in an IplImage --- the depth field doesn't say we can use IPL_DEPTH_1U although this is defined as a constant. If we can't we can use IPL_DEPTH_8U and treat as zero and as one for binary images. Then type up pseudocode for implementing opening and closing. Send me via what you have by the end of class today.