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

Slides:



Advertisements
Similar presentations
Morphology The shape of things to come Courtesy Luca Galuzzi (Lucag)
Advertisements

Binary Image Analysis Selim Aksoy Department of Computer Engineering Bilkent University
CS 206 Introduction to Computer Science II 03 / 23 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 27 / 2009 Instructor: Michael Eckmann.
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
Each pixel is 0 or 1, background or foreground Image processing to
CS 206 Introduction to Computer Science II 04 / 28 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 11 / Veterans Day 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 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 06 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 31 / 2008 Happy Halloween!!! Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 01 / 2009 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 17 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 04 / 2009 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.
1 Binary Image Analysis Binary image analysis consists of a set of image analysis operations that are used to produce or process binary images, usually.
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 11 / 03 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 18 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 16 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 25 / 2009 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 04 / 09 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 09 / 2009 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 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
Binary Image Analysis. YOU HAVE TO READ THE BOOK! reminder.
CS 206 Introduction to Computer Science II 09 / 19 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 28 / 2009 Instructor: Michael Eckmann.
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.
Chap 3 : Binary Image Analysis. Counting Foreground Objects.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 08 / 2008 Instructor: Michael Eckmann.
1 Binary Image Analysis Binary image analysis consists of a set of image analysis operations that are used to produce or process binary images, usually.
Introduction Image geometry studies rotation, translation, scaling, distortion, etc. Image topology studies, e.g., (i) the number of occurrences.
CS 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
Digital Camera and Computer Vision Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan, R.O.C.
1 Regions and Binary Images Hao Jiang Computer Science Department Sept. 25, 2014.
1 Regions and Binary Images Hao Jiang Computer Science Department Sept. 24, 2009.
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 10 / 02 / 2009 Instructor: Michael Eckmann.
Low level Computer Vision 1. Thresholding 2. Convolution 3. Morphological Operations 4. Connected Component Extraction 5. Feature Extraction 1.
CS 106 Introduction to Computer Science I 03 / 02 / 2007 Instructor: Michael Eckmann.
Nottingham Image Analysis School, 23 – 25 June NITS Image Segmentation Guoping Qiu School of Computer Science, University of Nottingham
CS 376b Introduction to Computer Vision 02 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Digital Camera and Computer Vision Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan, R.O.C.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
COMP 9517 Computer Vision Binary Image Analysis 4/15/2018
Binary Image Analysis Gokberk Cinbis
Binary Image Analysis used in a variety of applications:
Department of Computer Engineering
Disjoint Sets DS.S.1 Chapter 8 Overview Dynamic Equivalence Classes
Binary Image Analysis used in a variety of applications:
Presentation transcript:

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

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions hole counting algorithm from ch. 1 connected components using union-find masks and application of masks binary morphological operators

Michael Eckmann - Skidmore College - CS Spring 2008 hole counting external corners internal corners these are sufficient as long as the holes are “4-connected” and simple (e.g. no donuts)‏

Michael Eckmann - Skidmore College - CS Spring 2008 hole counting algorithm

Michael Eckmann - Skidmore College - CS Spring 2008 hole counting algorithm

Michael Eckmann - Skidmore College - CS Spring 2008 connected components using union-find A connected components labeling of a binary image B is a labeled image LB in which the value of each pixel is the label of its connected component. The union-find data structure stores a collection of disjoint sets and allows the efficient implementation of union and find. –contains trees where each tree contains one of the disjoint sets –can be stored as an array of parents where index=label and array[index]=parent label union – construct the union of two sets –given the two sets' labels AND the union-find data structure find --- find the “root label” of a set examples on the board of trees and a parent array (fig. 3.9)‏

Michael Eckmann - Skidmore College - CS Spring 2008 connected components using union-find X: label of first set, Y: label of second set, PARENT: array w/ union-find data structure union (X, Y, PARENT)‏ { j:=X k:=Y while (PARENT[j] != 0) { j:=PARENT[j]; } while (PARENT[k] != 0) { k:=PARENT[k]; } if (j != k) then PARENT[k]:=j; } (from algorithm 3.4 in Shapiro/Stockman “Computer Vision”)‏

Michael Eckmann - Skidmore College - CS Spring 2008 connected components using union-find X: label of set, PARENT: array w/ union-find data structure find (X, PARENT)‏ { j:=X while (PARENT[j] != 0) { j:=PARENT[j]; } return j; } (from algorithm 3.3 in Shapiro/Stockman “Computer Vision”)‏

Michael Eckmann - Skidmore College - CS Spring 2008 connected components using union-find Now, the classical connected-components using union-find is: –PASS 1: travel each row from left to right if see a foreground pixel, examine the label of pixel above and to left –if only one is labeled, then make current pixel that same label –if neither above or left pixel has labels (i.e. they are background pixels), then pick a new label for current pixel –if they are both labeled, then label the current pixel the lesser of the two labels –if above and left pixel have different labels, enter the equivalence class into the union-find data structure (perform a union of the two sets)‏ all foreground pixels have been labeled and we have a set of equivalence classes for all labels

Michael Eckmann - Skidmore College - CS Spring 2008 connected components using union-find classical connected-components using union-find (cont.)‏ –PASS 2: relabel the labels of the pixels with the root label of the equivalence class in the union-find data structure (using the find algorithm to determine this root label)‏ see Algorithm 3.6 on page 65 in Shapiro and Stockman Let's do an example on the board.

Michael Eckmann - Skidmore College - CS Spring 2008 masks a mask is a set of pixel positions whose values are weights a mask has an origin, which is usually in the center of symmetrical masks (example of symmetrical vs. non-symmetrical masks on board)‏ masks are applied to images to alter their pixel values based on the pixels in their neighborhoods –compute a new value by multiplying the corresponding weights in the mask with the values of the image pixels and sum up (and usually divide by sum of weights)‏ –replace pixel value with this new value for pixels near top/bottom/left/right of image, usually add phantom rows or columns of identical pixels when applying a mask to these pixels look at an example on the board

Michael Eckmann - Skidmore College - CS Spring 2008 binary morphology a structuring element is a typically small binary image representing some shape binary image morphological operations –dilation – increase the size of regions –erosion – decrease the size of regions –closing – closes up holes within regions –is a dilation followed by an erosion –opening – get rid of jutting out portions of regions –is an erosion followed by a dilation let's look at examples in figure 3.13