Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf ·...
-
Upload
vuongnguyet -
Category
Documents
-
view
227 -
download
0
Transcript of Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf ·...
![Page 1: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/1.jpg)
Image Processing - Lesson 13
Binary Images
• Threshold
• Binary Image - Definition
• Connected Components
• Euler Number
• Chain Code
• Edge Following
![Page 2: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/2.jpg)
Output of the segmentation process
• How many objects• Size of objects• Shape of objects
![Page 3: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/3.jpg)
Binary Images
Grayscale Image Binary Image
![Page 4: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/4.jpg)
Thresholding
Occurrence(# of pixels)
Gray Level
Threshold
Occurrence(# of pixels)
Gray Level
![Page 5: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/5.jpg)
0 100 2000
500
1000
1500
Segmentation using Thresholding
Original Histogram
50 75
Threshold = 50 Threshold = 75
![Page 6: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/6.jpg)
Figure - Ground
![Page 7: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/7.jpg)
Binary Image = Figure + Ground
(Edgar Rubin 1915)
![Page 8: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/8.jpg)
![Page 9: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/9.jpg)
Connected Components
Neighborhoods:
4-neighbor metric 8-neighbor metric
Connected Components:
S = the set of object pixels
S is a Connected Component if for each pixel pair (x1,y1) ∈ S and (x2,y2) ∈ S there is a path passing through X-neighbors in S.(X = 4,8).
S may contain several connected components.
![Page 10: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/10.jpg)
1 connected component-8
3 connected components-4
8-neighborhood:1 object connected component1 background connected component
4-neighborhood:2 background connected components4 object connected components
Always choose different neighborhood metrics for objects and backgrounds.
![Page 11: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/11.jpg)
Marking the Connected Components
Connected Component Algorithm: Two passes over the image.
Pass 1:Scan the image pixels from left to right and from top to bottom.For every pixel P of value 1 (an object pixel), test top and leftneighbors (4-neighbor metric).
• If 2 of the neighbors equals 0: assign a new mark to P. • If 1 of the neighbors equals 1: assign the neighbor's mark to P.• If 2 of the neighbors equals 1: assign the left neighbor's mark to P
and note equivalence between 2 neighbor’s marks.
Pass 2:
Divide all marks in to equivalence classes (marks of neighboring pixelsare considered equivalent).Replace each mark with the number of it’s equivalence class.
P?
?
![Page 12: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/12.jpg)
Connected Components - Example
1 1
1 1 1 1 1 11
Original Binary image
1 1
2 2 2 3 3 32
Pass 1:
1 1
1 1 1 2 2 21
Pass 2:
Equivalence Class number Original mark
12
1,23
![Page 13: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/13.jpg)
Euler Number
S = object pixels
S = all other pixels
Background = connected components of S that touch the edge of the image.
Hole = connected components of S that is not in the background.
Simply Connected Component = a component without holes.
Euler Number = the number of objects minus the number of holes.
Example:
7 objects3 holes
Euler = 4
![Page 14: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/14.jpg)
Calculating the Euler Number
0 0
0 1X = the number of occurrences of the 2x2 pattern:
0 1
1 1V = the number of occurrences of the 2x2 pattern:
Euler = X - V
Euler = 1-1 = 0
Note: finding the number of holes or the number of objects can NOTbe achieved using local computations.
![Page 15: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/15.jpg)
Euler Number is a Shape Descriptor
Euler Number = 0
≅Euler
Euler Number = 0# Objects = 1# Holes = 1
≅
The Euler Number is not a good shape descriptor.
Characterize connected components by describing the edges..
![Page 16: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/16.jpg)
Edges
C = connected component of object S.D = connected component of S.
The D-Edge of C = the set of all pixels in C that have aneighboring pixel in D. (neighboring-8 if C is 4-connectedneighboring-4 if C is 8-connected).
Example:
Object C
C is 8-connected C is 4-connected
The Edge of C forhole D.
(4-neighbor) (8-neighbor)
The Edge of C forbackground D.
![Page 17: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/17.jpg)
Edge Following
Edge Following Algorithm (for 8-neighbor object):
At all stages of the algorithm maintain:1 object pixel - P1 background pixel - Q
Where P and Q are 4-neighbors.
PQ
1. Start with P0 and Q0.2. Given P and Q find the next pair P' and Q’ as follows:
The 8 neighbors of P in clockwise order starting at Q are:
PR1=Q
R2 R3 R4
R5
R6R7R8
Q=R1, R2,...., R8
Let Ri be the first R in this sequence which is equal 1 (object).Set:
P’=Ri and Q’=Ri-1
3. Repeat step 2 until P0 is reached again under the condition that Q0 will be reached in searching for the following P’.
4. The sequence P0, P1, P2 ,.... are the edge pixels of the connectedcomponent.
![Page 18: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/18.jpg)
Examples:
Q1
Q0
Q4
Q3
Q2
P0P4
P1 P2
P3
P0 Q1Q0Q4
Q3Q2
P4
P1
P2
P3
Edges = P0,P1,P2,P3 Edges = P0,P1,P2,P3
Finding ALL edges in an image:Scan the image (for example left-to-right top-to-bottom).When an unmarked object pixel is found bordering the background -follow the edge of the connected component starting at that pixel while marking the edge pixels.
![Page 19: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/19.jpg)
Chain Code
0
1
2
3
0
2
4
6
13
5 7
Each direction is assigned a code:
4-neighbor 8-neighbor
07
6
6
6
6
5
5
3
3
2
2
2
1
1
03
03
3
3
323
22 31
121
1
1
1
1
0
0
4-neighbor:
076666553321212
8-neighbor:
0303333232312121011011
![Page 20: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/20.jpg)
Chain Code Independent of Location, Starting Point and Orientation
Chain Code:
444201066 067644222 066444201
Curvature = differences in chain code values :
0022-11-602 -6-11202002 -6020022-11
Normalize curvature = mod 8 :
002271202 271202002 202002271
Code is the cyclic permutation which produces the smallest number:
002271202
![Page 21: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/21.jpg)
Distances
Two grid point: P = (x,y) and Q = (u,v)
Euclidean Distance
de(P,Q) = (x-u) 2 + (y-v)2√
City Block Distance
d4(P,Q) = |(x-u)| + |(y-v)|
Chessboard Distance
d8(P,Q) = max( |(x-u)| , |(y-v)| )
de = d8 = 7d4 = 10
√32 + 72 = 7.6
![Page 22: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/22.jpg)
de d8 d4 are all metrics:1. Distance metric:
2. Positive:
3. Symmetric:
4. Triangular inequality:
d(P,Q) ≥ 0d(P,Q) = 0 iff P=Q
d(P,Q) = d(Q,P)
d(P,Q) ≤ d(P,R) + d(R,Q)
All pixels at equal d4 distance form a “diamond” :2 1 2 1 22 2 1 22 1 0 1 22 2 1 2 2 1 2
All pixels at equal d8 distance form a “square” :2 2 2 2 22 1 1 1 22 1 0 1 2 2 1 1 1 22 2 2 2 2
All pixels at equal de distance form a “circle” :
2 2 2 2 22 1 1 1 22 1 0 1 2 2 1 1 1 22 2 2 2 2
![Page 23: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/23.jpg)
Distance Map
Euclidean City Block Chessboard
![Page 24: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/24.jpg)
2-Pass Distance Algorithm
For each pixel calculate the d4 or d8 distance from a pixel in set S.
2 passes:Pass 1: scan image left-to-right and top-to-bottomPass 2: scan image right-to-left and bottom-to-top.
For each pixel P mark as follows:
P P
1
d’(P,S) = { 0min {d’(Q,S)}+1Q ∈ N
if P ∈ Sif P ֿ S
Pass 1: consider all neighbors of P that have been scanned N1 =
Pass 2: consider all neighbors of P that have been scanned N2 =
d’’(P,S) = min {d’(P,S) , d’’(Q,S)+1}Q ∈ N2
Example measuring d4:
1 0 0 00 0 0 10 0 0 0
0 1 2 31 2 3 02 3 4 1
0 1 2 11 2 1 02 3 2 1
S is marked as 1 Pass 1: d’(P,S) Pass 2: d’’(P,S)
![Page 25: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/25.jpg)
Skeletons
Consider all edge pixels of an object as the seed group S.
The pixels whose distance is a local maxima are the Skeletonof the object.
The Skeleton can be used as a shape descriptor.
![Page 26: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/26.jpg)
MAT = Medial Axis Transform
Grass fire technique (Blum, 1993)
Centers of Maximal discs
![Page 27: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/27.jpg)
MAT = Medial Axis Transform
![Page 28: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/28.jpg)
Skeletons - Example
Distance Map
Skeleton
de d4 d8
Sensitivity to contour changes:
Distance Map Skeleton
![Page 29: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/29.jpg)
Skeleton-Example
![Page 30: Binary Images - University of Haifacs.haifa.ac.il/hagit/courses/ip/Lectures/Ip13_Binary.pdf · Binary Images •Threshold ... Scan the image pixels from left to right and from top](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b60c4957f8b9a40488ba460/html5/thumbnails/30.jpg)