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

Slides:



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

CS 376b Introduction to Computer Vision 04 / 21 / 2008 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 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 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 / 17 / 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.
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.
Objective of Computer Vision
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 376b Introduction to Computer Vision 02 / 18 / 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 206 Introduction to Computer Science II 04 / 29 / 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.
Objective of Computer Vision
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 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 02 / 05 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 10 / 28 / 2009 Instructor: Michael Eckmann.
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2014.
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 102 Computers In Context (Multimedia)‏ 01 / 28 / 2009 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 08 / 2008 Instructor: Michael Eckmann.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
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.
Chapter 2 : Imaging and Image Representation Computer Vision Lab. Chonbuk National University.
infinity-project.org Engineering education for today’s classroom 2 Outline How Can We Use Digital Images? A Digital Image is a Matrix Manipulating Images.
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.
Computer Vision Introduction to Digital Images.
1 Regions and Binary Images Hao Jiang Computer Science Department Sept. 24, 2009.
CS 376b Introduction to Computer Vision 03 / 18 / 2008 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
Low level Computer Vision 1. Thresholding 2. Convolution 3. Morphological Operations 4. Connected Component Extraction 5. Feature Extraction 1.
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.
CS 376b Introduction to Computer Vision 03 / 17 / 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.
CS 325 Introduction to Computer Graphics 03 / 10 / 2010 Instructor: Michael Eckmann.
Digital Image Processing, Spring ECES 682 Digital Image Processing Week 8 Oleh Tretiak ECE Department Drexel University.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Digital Image Processing CCS331 Relationships of Pixel 1.
COMP 9517 Computer Vision Binary Image Analysis 4/15/2018
CSE 554 Lecture 1: Binary Pictures
Binary Image Analysis Gokberk Cinbis
Department of Computer Engineering
Disjoint Sets DS.S.1 Chapter 8 Overview Dynamic Equivalence Classes
Computer and Robot Vision I
Computer and Robot Vision I
DIGITAL IMAGE PROCESSING Elective 3 (5th Sem.)
Presentation transcript:

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

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions Image acquisition/formation and representation –some definitions quantization problems compression comment frames of reference hole counting algorithm from ch. 1 connected components using union-find masks and application of masks

Michael Eckmann - Skidmore College - CS Spring 2008 Problems in digital images quantization effects converting a continuous range to a discrete range (we'll see one type of problem with this shortly)‏

Michael Eckmann - Skidmore College - CS Spring 2008 some definitions analog image –“infinite” precision in space and intensity value digital image –discrete 2D array of limited precision intensity values grey-scale image –one intensity per pixel (e.g. if one byte intensity range is 0-255)‏ multispectral image –a vector of values at each pixel (for color, usually 3 values representing values for red, green and blue)‏ binary image –each pixel has value 0 or 1

Michael Eckmann - Skidmore College - CS Spring 2008 some definitions labelled image –all pixel values are from some finite alphabet –usually generated from a digital image based on some way to decide which label a pixel gets –example on board picture function –f(x,y) where x and y are spatial variables and f(x,y) is the intensity at x,y

from Shapiro & Stockman figure 2.9 in “Computer Vision” quantization problems example

Michael Eckmann - Skidmore College - CS Spring 2008 compression comment run coding is used as part of some compression algorithms to give you a sense of how an image can be losslessly compressed using run length coding –count runs of 0's and runs of 1's example using 1 byte (8 bits) greyscale image –divide up your image into 8 “bit planes” each plane is a binary image run code each binary image note 127 -> 128 problem –solution --- first convert all to a “grey code” which has the property that successive greyscale differences differ in only 1 bit

Michael Eckmann - Skidmore College - CS Spring 2008 frames of reference world (W)‏ object (O)‏ camera (C)‏ real image (F)‏ pixel (I)‏

Michael Eckmann - Skidmore College - CS Spring 2008 frames of reference

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 they are labeled, then label the current pixel the lower of the two labels)‏ –if neither above or left pixel has labels (i.e. they are background pixels), then pick a new label for current pixel –if both 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 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 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