Chapter 3 Binary Image Analysis. Types of images ► Digital image = I[r][c] is discrete for I, r, and c.  B[r][c] = binary image - range of I is in {0,1}

Slides:



Advertisements
Similar presentations
Segmentation by Morphological Watersheds
Advertisements

Image Processing Ch2: Digital image Fundamentals Part 2 Prepared by: Tahani Khatib.
Programming Assignment 2 CS 302 Data Structures Dr. George Bebis.
Computational Biology, Part 23 Biological Imaging II Robert F. Murphy Copyright  1996, 1999, All rights reserved.
1 Video Processing Lecture on the image part (8+9) Automatic Perception Volker Krüger Aalborg Media Lab Aalborg University Copenhagen
1Ellen L. Walker ImageJ Java image processing tool from NIH Reads / writes a large variety of images Many image processing operations.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Morphology – Chapter 10. Binary image processing Often it is advantageous to reduce an image from gray level (multiple bits/pixel) to binary (1 bit/pixel)
Each pixel is 0 or 1, background or foreground Image processing to
September 10, 2013Computer Vision Lecture 3: Binary Image Processing 1Thresholding Here, the right image is created from the left image by thresholding,
Chapter 5 Raster –based algorithms in CAC. 5.1 area filling algorithm 5.2 distance transformation graph and skeleton graph generation algorithm 5.3 convolution.
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
Objective of Computer Vision
Computer Vision Basics Image Terminology Binary Operations Filtering Edge Operators.
1 Image filtering
Copyright © 2012 Elsevier Inc. All rights reserved.. Chapter 9 Binary Shape Analysis.
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2013.
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2014.
FEATURE EXTRACTION FOR JAVA CHARACTER RECOGNITION Rudy Adipranata, Liliana, Meiliana Indrawijaya, Gregorius Satia Budhi Informatics Department, Petra Christian.
Chapter 10: Image Segmentation
1. Binary Image B(r,c) 2 0 represents the background 1 represents the foreground
Lecture 5. Morphological Image Processing. 10/6/20152 Introduction ► ► Morphology: a branch of biology that deals with the form and structure of animals.
Chapter 9.  Mathematical morphology: ◦ A useful tool for extracting image components in the representation of region shape.  Boundaries, skeletons,
CS 6825: Binary Image Processing – binary blob metrics
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
Digital Image Processing Chapter 9: Morphological Image Processing 5 September 2007 Digital Image Processing Chapter 9: Morphological Image Processing.
Digital Image Processing CCS331 Relationships of Pixel 1.
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.
Filtering and Enhancing Images. Major operations 1. Matching an image neighborhood with a pattern or mask 2. Convolution (FIR filtering)
1 Regions and Binary Images Hao Jiang Computer Science Department Sept. 25, 2014.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
1 Regions and Binary Images Hao Jiang Computer Science Department Sept. 24, 2009.
CS654: Digital Image Analysis Lecture 5: Pixels Relationships.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS654: Digital Image Analysis
Nottingham Image Analysis School, 23 – 25 June NITS Image Segmentation Guoping Qiu School of Computer Science, University of Nottingham
CSSE463: Image Recognition Day 9 Lab 3 (edges) due Weds, 3:25 pm Lab 3 (edges) due Weds, 3:25 pm Take home quiz due Friday, 4:00 pm. Take home quiz due.
CDS 301 Fall, 2008 Image Visualization Chap. 9 November 11, 2008 Jie Zhang Copyright ©
1 Mathematic Morphology used to extract image components that are useful in the representation and description of region shape, such as boundaries extraction.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Some Basic Relationships Between Pixels Definitions: –f(x,y): digital image –Pixels: q, p –Subset of pixels of f(x,y): S.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Machine Vision ENT 273 Hema C.R. Binary Image Processing Lecture 3.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 11 Representation and.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
Lecture(s) 3-4. Morphological Image Processing. 3/13/20162 Introduction ► ► Morphology: a branch of biology that deals with the form and structure of.
Image Processing Chapter(3) Part 1:Relationships between pixels Prepared by: Hanan Hardan.
Morphological Image Processing (Chapter 9) CSC 446 Lecturer: Nada ALZaben.
Relationship between pixels Neighbors of a pixel – 4-neighbors (N,S,W,E pixels) == N 4 (p). A pixel p at coordinates (x,y) has four horizontal and vertical.
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
ITK 9.3. Level Set Segmentation Shape Detection Segmentation
Digital Camera and Computer Vision Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan, R.O.C.
COMP 9517 Computer Vision Binary Image Analysis 4/15/2018
图像处理技术讲座(3) Digital Image Processing (3) Basic Image Operations
CSE 554 Lecture 1: Binary Pictures
HIT and MISS.
Mean Shift Segmentation
Computer Vision Lecture 5: Binary Image Processing
Image filtering Images by Pawan Sinha.
Binary Image Analysis used in a variety of applications:
CS Digital Image Processing Lecture 5
Computer and Robot Vision I
Digital Image Processing
Morphological Operators
Computer and Robot Vision I
DIGITAL IMAGE PROCESSING Elective 3 (5th Sem.)
Binary Image Analysis used in a variety of applications:
Presentation transcript:

Chapter 3 Binary Image Analysis

Types of images ► Digital image = I[r][c] is discrete for I, r, and c.  B[r][c] = binary image - range of I is in {0,1}  B’[r][c] – complement or inverse of B = 1 if B[r][c]=0 = 0 if B[r][c]=1  Gray-scale image = range of I is in {min, min+1,…,max-1,max}  Multispectral image = vector-valued ► Ex. Color image = range is in { | (r,g,b) in {0,1,…,max} }

How do we create binary images? ► By selecting (foreground) pixels of interest and thereby separating them from background pixels = segmentation  Ex. Thresholding = selecting ranges of gray (or color) values ► Ex.  1 if value>100  0 otherwise  0 = background  1 = foreground

Pixel and its neighbors ► 4-neighbors/4-adjacent/4-connected  {,,, }  Or as displacements: ► {,,, } ► How about 8-adjacent?  Distances?

Masks

► Mask = set of pixel positions and corresponding values called weights ► Mask origin = usually center ► How? 1.Calculate sum of products ► Boundary 1.Replicate nearest pixel value 2.Use 0 2.Normalize (or an amplitude shift will occur) Applying masks to images

► Derived from convolution: ► Discrete form is cross correlation: ► where f is the input image, h is the mask/filter kernel, and g is the output image result

Convolution ► See for some nice animations.

1*40+2*40+1*80+ 2*40+4*40+2*80+ 1*40+2*40+1*80 =800

1*40+2*80+1*80+ 2*40+4*80+2*80+ 1*40+2*80+1*80 =1120

But what about borders? ► When we are missing data at the edges, we typically do one of the following: 1.Copy to the missing value, the nearest neighboring value. 2.Use 0 for the missing value(s). (Regardless, it really doesn’t matter, but we need to consistently do something.)

1*40+2*40+1*40+ 2*40+4*40+2*40+ 1*40+2*40+1*40 =640 Method 1: copy nearest

The importance of normalizing the result. ► Otherwise, the values might get larger and larger (brighter and brighter).

=16 640/16

Counting objects (instead of holes) ► If we complement our masks from the hole counting algorithm, we can count objects! ► (Or if we complement our image, we can count objects!)

I don’t care for this format!

Object counting assumptions (complement of hole counting assumptions) 1. All image border pixels must be 0s. 2. Each region of 1s (objects) must be 4- connected. 3. Objects must also be simply connected (not contain any holes).

Implement object counting algorithm ► Check assumptions 1 and 2.  (Skip 3 for now.) ► Report number of objects. ► Exercise 3.1 p Efficiency of counting objects.  What is the maximum number of times that the function count_objects examines each pixel of the image?  How can functions external_match and internal_match be coded to be as efficient as possibly?

More object analysis ► So far, we can count objects!  But how big are they?  What shape are they?

Paths There exists a path from (x 1,y 1 ) to (x n,y n ) iff there exists a sequence (x 1,y 1 ), (x 2,y 2 ), …, (x n,y n ) s.t. all (x i,y i ) and (x i+1,y i+1 ) are (4- or 8-) connected and B(x i,y i )=B(x i+1,y i+1 ).

Connected component A connected component of value v is a set of pixels C with: 1.each having value v 2.and for every c and d in C, there exists a path from c to d.

Objects are 1s (and white) here.

Labels ► 0 = background (not part of any object) ► 1 = first labeled object ► 2 = second labeled object ► … ► -1 = part of an unlabeled object (ready for labeling)

I don’t care for this format! Recursive connected components algorithm: 3 functions

I don’t care for this format! Recursive connected components algorithm // 0 --> 0; 1 --> -1 // incremented before use so first will actually be 1

I don’t care for this format! Recursive connected components algorithm (Why not use r and c instead of L and P, respectively?)

I don’t care for this format! Recursive connected components algorithm <-- What does this mean/do? <-- recursion! This is an example of a flood fill algorithm (see for nice animations).

Begin skip other algorithms in this section.

End skip.