数字图像处理-冈萨雷斯-课件(英文)Chapter11 表示与描述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Thinning Algorithm
1. Do not remove end points 2. Do not break connectivity 3. Do not cause excessive erosion Apply only to contour pixels: pixels “1” having at least one of its 8 neighbor pixels valued “0” Notation: Neighborhood p9 p2 p3 arrangement p8 p1 p4 = Let for the thinning algorithm p7 p6 p5 Example Let N ( p1 ) p2 p3 p8 p9 0 0 1
0. Object boundary
3. Draw a polygon
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Distance-Versus-Angle Signatures Represent an 2-D object boundary in term of a 1-D function of radial distance with respect to q.
Step 1. Mark pixels for deletion if the following conditions are true. a) 2 N ( p1 ) 6 (Apply to all border pixels) p9 p2 p3 b) T(p1) =1 p8 p1 p4 c) p2 p4 p6 0 p7 p6 p5 d) p4 p6 p8 0 Step 2. Delete marked pixels and go to Step 3. Step 3. Mark pixels for deletion if the following conditions are true. a) 2 N ( p1 ) 6 (Apply to all border pixels) b) T(p1) =1 c) p2 p4 p8 0 d) p2 p6 p8 0
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Polygon Approximation:Splitting Techniques
1. Find the line joining two extreme points 2. Find the farthest points from the line
Partitioned boundary
Convex hull (gray color) Object boundary
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Step 4. Delete marked pixels and repeat Step 1 until no change occurs.
Example: Skeletons Obtained from the Thinning Alg.
Skeleton
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Object boundary (resampling)
Boundary vertices
4-directional chain code
8-directional chain code
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Convex Hull Algorithm
Input : A set of points on a cornea boundar Output: A set of points on a boundary of a c 1. Sort the points by x-coordinate to get a s For the upper side of a convex hull 2. Put the points p1 and p2 in a list Lupper wit 3. For i = 3 to n 4. Do append pi to Lupper 5. While Lupper contains more than 2 points points in Lupper do not make a right 6. Do delete the middle point of th
Digital Image Processing
Chapter 11: Image Description and Representation
12 September 2007
Image Representation and Description? Objective: To represent and describe information embedded in an image in other forms that are more suitable than the image itself. Benefits: - Easier to understand - Require fewer memory, faster to be processed - More “ready to be used” What kind of information we can use? - Boundary, shape - Region - Texture - Relation between regions
Turn Left NOK! Turn Right OK! Turn Right OK!
Skeletons Obtained from thinning or skeletonizing processes
Medial axes (dash lines)
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
The First Difference of a Chain Codes
Problem of a chain code: a chain code sequence depends on a starting point. Solution: treat a chain code as a circular sequence and redefine the starting point so that the resulting sequence of numbers forms an integer of minimum magnitude.
3
Polygon Approximation
Represent an object boundary by a polygon
Object boundary
Minimum perimeter polygon
Minimum perimeter polygon consists of line segments that minimize distances between boundary pixels.
T(p1) = the number of transition 0-1 in the ordered sequence p2, p3, … , p8, p9, p2. 1 p1 0 1 0 1 N(p1) = 4 T(p1) = 3
Concept:
Thinning Algorithm (cont.)
Shape Representation by Using Chain Codes Why we focus on a boundary? The boundary is a good representation of an object shape and also requires a few memory. Chain codes: represent an object boundary by a connected sequence of straight line segments of specified length and direction.
Turn Right OK! Turn Right OK! Turn Left NOK!
Convex Hull Algorithm (cont.)
For the lower side of a convex hull 7. Put the points pn and pn-1 in a list Llower w 8. For i = n-2 down to 1 9. Do append pi to Llower 10. While Llower contains more than 2 points in Llower do not make a right turn 11. Do delete the middle point of the 12. Remove the first and the last points fro 13. Append Llower to Lupper resulting in the lis 14. Return L
Leabharlann Baidu
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Boundary Segments Concept: Partitioning an object boundary by using vertices of a convex hull.
4-directional chain code
8-directional chain code
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Examples of Chain Codes
The first difference of a chain code: counting the number of direction change (in counterclockwise) between 2 adjacent elements of the code. Example: 1 2 Chain code : The first Example: difference - a chain code: 10103322 01 1 - The first difference = 3133030 2 - Treating a chain code as a 0 02 03 3 circular sequence, we get 23 1 the first difference = 33133030 20 2 The first difference is rotational 21 3 invariant.
相关文档
最新文档