0% found this document useful (0 votes)
139 views78 pages

Digital Image Processing (CS/ECE 545) Lecture 8: Regions in Binary Images (Part 2) and Color (Part 1)

1. The document discusses region labeling in binary images and color images. It covers sequential region labeling, preliminary labeling, resolving label collisions, and finding region contours. 2. It also discusses combining region labeling with contour finding through a multi-step algorithm. Representing image regions using logical masks and run length encoding is also covered. 3. Different methods for representing labeled regions are discussed, including chain codes, differential chain codes, shape numbers, and Fourier descriptors. Properties and types of features that can be extracted from labeled regions are also summarized.

Uploaded by

Me trai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views78 pages

Digital Image Processing (CS/ECE 545) Lecture 8: Regions in Binary Images (Part 2) and Color (Part 1)

1. The document discusses region labeling in binary images and color images. It covers sequential region labeling, preliminary labeling, resolving label collisions, and finding region contours. 2. It also discusses combining region labeling with contour finding through a multi-step algorithm. Representing image regions using logical masks and run length encoding is also covered. 3. Different methods for representing labeled regions are discussed, including chain codes, differential chain codes, shape numbers, and Fourier descriptors. Properties and types of features that can be extracted from labeled regions are also summarized.

Uploaded by

Me trai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

Digital 

Image Processing (CS/ECE 545) 
Lecture 8: Regions in Binary Images 
(Part 2) and Color (Part 1)

Prof Emmanuel Agu
Computer Science Dept.
Worcester Polytechnic Institute (WPI)
Recall: Sequential Region Labeling
 2 steps:
1. Preliminary labeling of image regions
2. Resolving cases where more than one label occurs (been previously 
labeled)
 Even though algorithm is complex (especially 2nd stage), it is 
preferred because it has lower memory requirements
 First step: preliminary labeling
 Check following pixels depending on if we consider 4‐
connected or 8‐connected neighbors
Recall: Preliminary Labeling: Propagating 
Labels
 First foreground pixel [1] is found
 All neighbors in N(u,v) are background pixels [0]
 Assign pixel the first label [2]
Recall: Preliminary Labeling: Propagating 
Labels
 In next step, exactly on neighbor in N(u,v) marked with label 2, 
so propagate this value [2]
Recall: Preliminary Labeling: Propagating 
Labels
 Continue checking pixels as above
 At step below, there are two neighboring pixels and they have 
differing labels (2 and 5) 
 One of these values is propagated (2 in this case), and collision 
<2,5> is registered 
Recall: Preliminary Labeling: Label 
Collisions
 At the end of labeling step
 All foreground pixels have been provisionally marked
 All collisions between labels (red circles) have been registered
 Labels and collisions correspond to edges of undirected graph
Recall: Resolving Collisions
 Once all distinct labels within single region have been 
collected, assign labels of all pixels in region to be the same 
(e.g. assign all labels to have the smallest original label. E.g. [2]
Region Labeling: Result
Region Contours
 After finding regions, find region contours (outlines)
 Sounds easy, but it is non‐trivial!
 Morphological operations can be used to find boundary 
pixels (interior and exterior)
 We want ordered sequence of pixels that traces 
boundaries
Inner vs Outer Contours
 Outer contour:  
 lies along outside of foreground (dark) region
 Only 1 exists
 Inner contour:
 Due to holes, there may be more than 1 inner contour
Inner vs Outer Contours
 Complicated by regions connected by thin line 1 pixel wide
 Contour may run through same pixel multiple times, from 
different directions
 Implication: we cannot use return to a starting pixel as 
condition to terminate contour
 Region with 1 pixel will also have contour
General Strategy for Finding Contours
 Two steps:
 Find all connected regions in image
 For each region proceed around it starting from pixel selected from its 
border
 Works well, but implementation requires good record 
keeping
Combining Region Labeling and 
Contour Finding
 Identifies and labels regions
 Traces inner and outer contours
 Step 1 (fig (a)): 
 Image is traversed from top left to 
lower right. 
 If there’s a transition from  
foreground pixel to previously 
unmarked foreground pixel (A), A lies 
on outer edge of a new region
 A new label is allocated and starting 
from point A, pixels on the edge along 
outer contour are visited and labeled 
until A is reached again (fig a)
 Background pixels directly bordering 
region are labeled ‐1
Combining Region Labeling and 
Contour Finding
 Step 2 (fig (b) & (c)):
 If there’s transition from 
foreground pixel B to unmarked 
background pixel, B lies on inner 
contour. 
 Starting from point B inner 
contour  is traversed. Pixels along 
inner contour are found and 
labeled with label from 
surrounding region (fig ( c )) till 
arriving back at B
Combining Region Labeling and 
Contour Finding
 Step 3 (fig (d)):
 When foreground pixel does not 
lie on contour (not an edge), this 
means neighboring pixel to left 
has already been labeled (fig 
11.9(d)) and this label is 
propagated to current pixel
Complete code in
appendix D of text

Algorithm for 
Combining Region 
Labeling and 
Contour Finding 
Algorithm for 
Combining Region 
Labeling and 
Contour Finding 
Result of Combining Region Labeling and 
Contour Finding 
 Outer contours shown as black polygon lines running through 
centers of contour pixels
 Inner contours drawn in white
 Contours of single pixel regions marked by small circles filled 
with corresponding color
Result of Combining Region Labeling and 
Contour Finding (Larger section)
 Outer contours marked in black
 Inner contours drawn in white
Representing Image Regions
 Matrix is useful for storing images
 Matrix representation requires same (large) memory allocation 
even if image content is small (e.g. 2 lines)
 Regions in image can be represented using logical mask
 Area within region assigned value true
 Area outside region assigned value false
 Called bitmap since boolean values can be represented by 1 bit

Original Image Logical (big) mask Masked Image


Run Length Encoding (RLE)
 Sequences of adjacent foreground pixels can be represented 
compactly as runs
 Run: Maximal length sequence of adjacent pixels of same 
type within row or column
 Runs of arbitrary length can be encoded as:

Starting pixel

Example
Run Length Encoding (RLE)
 RLE used as simple lossless compression method
 Forms foundation for fax transmission
 Used in several codecs including TIFF, GIF and JPEG
Chain Codes
 Region representation using contour encoding
 Contour beginning at start point xS represented by sequence 
of directional changes it describes on a discrete raster image
 Essentially, each possible direction is assigned a number
 Length of resulting path approximates true length of contour
Differential Chain Codes
 Contour R is defined as sequence of points

 To encode region R, 
 Store starting point
 Instead of storing sequence of point coordinates, store  relative 
direction (8 possibilities) each point lies away from the previous point. 
i.e. create elements of its chain code sequence                                      by

Where
2
3 0,1 1
-1,1 1,1
 Code is defined by table below
4 -1,0 1,0 0

-1,-1 1,-1
5 0,-1
6 7
Differential Chain Code
 Comparison of 2 different absolute chain codes is difficult
 Differential Chain Code: Encode change in direction along 
discrete contour
 An absolute element chain code                                     can be 
converted element by element to differential chain code with 
elements given by
Differential Chain Code Example
 Differential Chain Code for the following figure is:

Example: 7 – 6 = 1
Shape Numbers
 Digits of differential chain code frequently interpreted as 
number to base b 
 b = 4 for 4‐connected contour
 b = 8 for 8‐connected contour

 We can shift the chain code sequence cyclically
 Example: shifting chain code cyclically by 2 positions gives
Shape Number
 We can shift the sequence cyclically until the numeric value is 
maximized denoted as

 The resulting code is called the shape number
 To compare 2 differential codes, they must have same 
starting point
 Shape number does not have this requirement
 In general chain codes are not useful for determining 
similarity between regions because
 Arbitrary rotations have too great of an impact on them
 Cannot handle scaling or distortions
Fourier Descriptors
 Interprete 2D contour as a sequence of values [z0, z1, ….zM‐1 ] in 
complex plane, where

 Coefficients of the 1D Fourier spectrum of this function provide 
a shape description of the contour in frequency space
Properties of Binary Regions
 Human descriptions of regions based on their properties:
 “a red rectangle on a blue background”
 “sunset at the beach with two dogs playing in the sand”
 Not yet possible for computers to generate such descriptors
 Alternatively, computers can calculate mathematical 
properties of image or region to use for classification
 Using features to classify images is fundamental part of 
pattern recognition
Types of Features

 Shape features

 Geometric features

 Statistical shape properties

 Moment‐Based Geometrical Properties

 Topological Properties
Shape Features
 Feature: numerical or qualitative value computable from 
values and coordinates of pixels in region
 Example feature: One of simplest features is size which is the 
total number of pixels in region
 Feature vector: 
 Combination of different features 
 Used as a sort of “signature” for the region for classification or 
comparison
 Desirable properties of features
 Simple to calculate
 Not affected by translation, rotations and scaling
Geometric Features
 Region R of binary image = 2D distribution of foreground 
points within discrete plane
 Perimeter: Length of region’s outer contour
 Note that the region R must be connected
 For 4‐neighborhood, measured length of contour is larger 
than it’s actual length
 Good approximation for 8‐connected chain code

 Formula leads to overestimation. Good fix: multiply by 0.95 
Geometric Features
 Area: Simply count image pixels that make up region

 Area of connected region (without holes): that is defined by 
M coordinate points can be estimated using the Gaussian 
area formula for polygons as
Geometric Features
 Compactness and Roundness: is the relationship between a 
region’s area and its perimeter. i.e. A / P2
 Invariant to translation, rotation and scaling. 
 When applied to circular region ratio has value of 1/ 4π
 Thus, normalizing against filled circle creates feature sensitive 
to roundness or circularity
Geometric Features
 Bounding Box: mininimal axis‐parallel rectangle that encloses all 
points in R

 Convex Hull: Smallest polygon that fits all points in R
 Convexity: relationship between length of convex hull and perimeter of 
the region
 Density: the ratio between area of the region and area of the convex hull

Bounding box Convex Hull


Statistical Shape Properties
 View points as being statistically distributed in 2D space
 Can be applied to regions that are not connected
 Central moments measure characteristic properties with 
respect to its midpoint or centroid
 Centroid:  of a binary region is the arithmetic mean of all (x,y) 
coordinates in the region
Statistical Shape Properties
 Moments: Centroid is only specific case of more general 
concept of moment
 Ordinary moment of the order p,q for a discrete (image) 
function I(u,v) is
Taking the pth moment in u direction
And qth moment in v direction

 Area of a binary region is zero‐order moment
Statistical Shape Properties
 Similarly centroid can be expressed as 

 Moments are concrete physical properties of a region
Review: Moments of Statistical Data
 Moments used to quantify how skewed data is
 Example: Given the numbers, 3, 2, 3.7, 5, 2.7 and 3 
the relative symmetry or skewness can be 
determined by calculating moments
 Third moment formula: For each point X, calculate:

 We can calculate 2nd, 3rd, 4th, etc moments
Statistical Shape Properties
 Central moments: 
 Use the region’s centroid as reference to calculate translation‐invariant 
region features
 Shifts the origin to the region’s centroid (Note: ordinary moment does not)
 Order p, q central moments can be calculated as:

 For binary image with I(u,v) = 1
Statistical Shape Properties
 Values of central moments depends on:
 Distances of all region points to centroid
 Absolute size of the region
 Size‐invariant features can be obtained by scaling central 
moments uniformly by some factor s

 Normalized central moments:

for (p + q) >= 2
Code to 
Compute 
Moments
Moment‐Based Geometrical Properties
 Several interesting features can be derived from moments
 Orientation: describes direction of major axis that runs 
through centroid and along the widest part of the region
Moment‐Based Geometrical Properties
 Sometimes called the major axis of rotation since rotating the 
region around the major axis requires the least effort than 
about any other axis

 Direction of major axis can be calculated from central moments

 Result is in the range [‐90, 90]
Moment‐Based Geometrical Properties
 Might want to plot region’s orientation as a line or arrow
 Using the parametric equation of a line

Start
Direction
point
vector

 Region’s orientation vector xd can be computed as 

where
Moment‐Based Geometric Properties
 Eccentricity: Ratio of lengths of major axis and minor axis
 Expresses how elongated the region is

 The lengths of the major and minor axis are
Moment‐Based Geometrical Properties
 Example images with orientation and eccentricity overlaid
Moment‐Based Geometrical Properties
 Normalized central moments not affected by translation 
or uniform scaling of a region but changed by rotation
 Moments called Hu’s moments (seven combinations of  
normalized central moments) are invariant to translation, 
scaling and rotation
Projections
 Horizontal projection of 
row v0 is sum of pixel 
intensity values in row v0
 Vertical projection of 
row u0 is sum of pixel 
intensity values in row u0
 For binary image, 
projection is count of 
foreground pixels in 
corresponding row or 
column
Projections
 Image projections are 1d representations of image contents
 Vertical and horizontal projections of image I(u,v) defined as
Code to Compute Vertical and Horizontal 
Projections
Topological Properties
 Capture the structure of a region
 Invariant under strong image transformations
 Number of holes is simple, robust feature 
 Euler number: Number of connected regions  – number of 
holes

 Topological features often combined with numerical features 
(e.g. in Optical Character Recognition (OCR))
Basics Of Color
 Elements of color:
What is color?

 Color is defined many ways 
 Physical definition
 Wavelength of photons
 Electromagnetic spectrum: infra‐red to ultra‐violet
 But so much more than that…
 Excitation of photosensitive molecules in eye
 Electrical impulses through optical nerves
 Interpretation by brain
Introduction
 Color description: Red, greyish blue, white, dark 
green…
 Computer Scientist:
 Hue: dominant wavelength, color we see
 Saturation
 how pure the mixture of wavelength is
 How far is the color from gray (pink is less saturated than 
red, sky blue is less saturated than royal blue)
 Lightness/brightness: how intense/bright is the light
Recall: The Human Eye
 The eye:
 The retina
 Rods
 Cones
 Color!
Recall: The Human Eye
 The center of the retina is a densely packed region 
called the fovea.  
 Eye has about 6‐ 7 million cones
 Cones much denser here than the periphery
The Human Eye
 Rods: 
 relatively insensitive to color, detail
 Good at seeing in dim light, general object form
 Human eye can distinguish 
 128 different hues of color
 20 different saturations of a given hue
 Visible spectrum: about 380nm to 720nm
 Hue, luminance, saturation useful for describing 
color
 Given a color, tough to derive HSL though 
Tristimulus theory
 3 types of cones
 Loosely identify as R, G, and B 
cones
 Each is sensitive to its own 
spectrum of wavelengths
 Combination of cone cell 
stimulations give perception of 
COLOR
The Human Eye: Cones
 Three types of cones:
 L or R, most sensitive to red light (610 nm) 
 M or G, most sensitive to green light (560 nm)
 S or B, most sensitive to blue light (430 nm)

 Color blindness results from missing cone type(s)
The Human Eye: Seeing Color

 The tristimulus curve shows 
overlaps, and different levels 
of responses
 Eyes more sensitive around 
550nm, can distinquish 
smaller differences
 What color do we see best?
 Yellow‐green at 550 nm
 What color do we see worst?
 Blue at 440 nm
Color Spaces
 Three types of cones suggests color is a 3D quantity.  
 How to define 3D color space?
 Color matching idea: 
 shine given wavelength () on a screen
 Mix three other wavelengths (R,G,B) on same screen.  
 Have user adjust intensity of RGB until colors are identical:
Color Spaces
 Alternate lingo may be better for other domains
 Artists: tint, tone shade
 Computer Graphics/Imaging: Hue, saturation, 
luminance
 Many different color spaces
 RGB
 CMY
 HLS 
 HSV Color Model
 And more…..
Combining Colors: Additive and 
Subtractive
Remove components
Add components
from white

Additive (e.g. RGB) Subtractive (e.g gCMYK)

 Some color spaces are additive, others are subtractive


 Examples: Additive (light) and subtractive (paint)
RGB Color Space
 Define colors with (r, g, b) amounts of red, green, blue
 Additive, most popular
 Maximum value = 255 or 1.0 if normalized 
 (0,0,0) = black, (1,1,1) = White
 Equal amounts of R,G, B = gray (lies on cube white‐black diagonal)
RGB Color Images
 RGB image is shown with 
corresponding RGB channels
 The fruits are mostly yellow and 
red hence high values in R and G 
channels
 Values in B channel are small 
except for bright highlights on 
fruit
 Tabletop is violet which contains 
higher values in B channel
 Most operations we have studied 
so far in grayscale can work on 
color images by performing 
operation on each channel (RGB)
CMY
 Subtractive
 For printing
 Cyan, Magenta, Yellow
 Sometimes black (K) is also 
used for richer black
 (c, m, y) means subtract the  
compliments of C (red) M 
(green) and Y (blue)
RGB – CMY Relationship
 Interesting to put RGB and CMY in 
same cube
 R,G,B and C,M,Y lie at vertices
 Perception of RGB may be non‐
linear
HLS
 Hue, Lightness, Saturation
 Based on warped RGB cube
 Look from (1,1,1) to (0,0,0) or RGB 
cube
 All hues then lie on hexagon
 Express hue as angle in degrees
 0 degrees: red
HSV Color Space
 More intuitive color space
 H = Hue
Value
 S = Saturation Saturation
 V = Value (or brightness)
 Based on artist Tint, Shade, 
Tone
Hue
 Similar to HLS in concept
Examples of Color Distribution of 
Natural Images in 3 Color Spaces

Natural scenes
HSV

RGB YUV
Converting Color Spaces
 Converting between color models can also be 
expressed as such a matrix transform:

 2.739  1.110 0.138 


R G B   X Y Z   1.145 2.029  0.333
 0.424 0.033 1.105 
Conversion to Grayscale
 Simplest way to convert color to grayscale

 Resulting image will be too dark in red and green areas
 Alternative approach is use a weighted sum of RGB

 Original weights for analog TV

 Newer ITU weights for digital color encoding
Hueless (Gray) Color Images

 An RGB image is hueless or gray when all components equal

 To remove color from an image
 Use weighted sum equation to calculate luminance value Y
 Replace R,G and B components with Y value

 In ImageJ, simplest way to convert RGB color image to grayscale 
is to use method convertToByte( boolean doscaling)
 convertToByte( boolean doscaling)uses default weights
 Can change weights applied using setWeightingFactors
Desaturating Color Images
 Desaturation: uniform reduction in amount of RGB
 How? Calculated the desaturated color by linearly 
interpolating RGB color and the corresponding (Y,Y,Y) gray 
point in RGB space

 scol takes values in [0,1] range
ImageJ 
Desaturation 
PlugIn
References
 Wilhelm Burger and Mark J. Burge, Digital Image 
Processing, Springer, 2008
 University of Utah, CS 4640: Image Processing Basics, 
Spring 2012
 Rutgers University, CS 334, Introduction to Imaging and 
Multimedia,  Fall 2012
 Gonzales and Woods, Digital Image Processing (3rd
edition), Prentice Hall
 Computer Graphics using OpenGL by F.S Hill Jr, 2nd
edition, chapter 12

You might also like