Download presentation
Presentation is loading. Please wait.
1
IT472: Digital Image Processing
Chapter 11: Representation & Description
2
Why? A typical image processing pipeline:
Pre-processing: Image Enhancement Segmentation: Detect object of interest Recognition & Interpretation
3
Why? A typical image processing pipeline:
We need to represent the segmented region in an appropriate form so that tasks like recognition etc. are possible. Pre-processing: Image Enhancement Segmentation: Detect object of interest Recognition & Interpretation
4
Why If we need “shape” information, then some representation of boundary of the segmented region is enough. If we also need colour and texture information within the segmented region, then we need to represent the entire region.
5
Description Description is simply an efficient representation and can also be thought of as features. Example: Boundary – length, convex/concave, curvature extrema, etc. Basic guideline: Descriptors should be invariant to transformations to which you want your algorithm (recognition etc.) to be invariant.
6
Boundary following (Moore alg.)
Input: Binary image with 0(black) for objects and 1 (white) for background. Output: Sequence (C1,C2,…,Cn) of boundary pixels The images used to demonstrate Moore’s algorithm have been taken from the presentation by Jason Pereira, UT Arlington
7
Moore’s algorithm Start scanning from top to bottom, left to right
8
Continue till you come to the first object pixel
9
Let the first object pixel be denoted by X, and let current pixel being scanned be denoted by C.
Because of the scanning method adopted, the pixel to the left of X will always be 1, let that pixel be denoted by b0 (b in the illustration). The 8 neighbors of C are put in clockwise order n1,n2,…,n8 starting from the pixel clockwise-next to b.
10
Check the 8 neighbors in this order and find the first ni that is an object pixel.
In this case, i = 4.
11
Set C = ni and b = ni-1. Include C in B, the sequence of boundary pixels.
Repeat till you get C = X and b = b0
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
C = X, b = b0 !!STOP!! 31
32
32
33
Chain codes Assign a number to each direction: 4 connectivity
34
Chain codes Start from a point and proceed in a clockwise direction:
The chain code is: …..
35
Chain code: Issues Different starting point would obviously give a different chain code. The chain code is: …. Choose the chain code that gives the minimum integer, in this case: …. (start with seq with most 0s)
36
Chain code: Issues In any real image, chains would be very long, and any small disturbance in the boundary would yield a different chain code. Solution: Sample the boundary
37
Rotation invariance in chain codes
Use the first difference of chain code: Number of direction changes in a counter-clockwise direction between adjacent elements of the chain code. The chain code is The first difference code is:
38
Boundary signatures Distance from centroid vs. angle:
Will not work if the region is not star-shaped with respect to the centroid. Is not invariant to scaling and rotation
39
Skeletons Object region Graph
Based on Medial Axis transform [Harry Blum, 1967] Given a boundary B, the locus of points in the entire region which have atleast two nearest neighbors in B is called the medial axis of B.
40
Descriptors Length: Number of pixels on the boundary.
Diameter of the boundary B: Shape numbers: Given a chain coded boundary, the shape number is defined as the first difference of smallest magnitude. Order of shape number is the number of digits in its representation.
41
Fourier descriptors Boundary: Treat each element as a complex number:
Take the DFT:
42
Invariance of Fourier descriptors
43
Approximate Fourier descriptors
Set Let
44
Approximate Fourier descriptors
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.