APCOMS

DIGITAL IMAGE PROCESSING

ASSIGMNENT


SIR SHAHID ISMAIL

29May13


GROUP MEMBERS:
USAID SHUAIB
F3313
AHMED TAUQIR
F3324
HAMMAD SHEIKH
F3325
GROUP MEMBERS:
USAID SHUAIB
F3313
AHMED TAUQIR
F3324
HAMMAD SHEIKH
F3325
Representation
Segmentation techniques yield raw data in the form of pixels along a boundary or pixels contained in a region. These data sometimes are used directly to obtain descriptors. Standard uses techniques to compute more useful data (descriptors) from the raw data in order to decrease the size of data. Chain Codes
A chain code is a lossless compression algorithm for monochrome images. The basic principle of chain codes is to separately encode each connected component, or "blob", in the image. For each such region, a point on the boundary is selected and its coordinates are transmitted. The encoder then moves along the boundary of the region and, at each step, transmits a symbol representing the direction of this movement. This continues until the encoder returns to the starting position, at which point the blob has been completely described, and encoding continues with the next blob in the image. This encoding method is particularly effective for images consisting of a reasonably small number of large connected components. Some popular chain codes include the Freeman Chain Code of Eight Directions (FCCE), Vertex Chain Code (VCC), Three Orthogonal symbol chain code (3OT) and Directional Freeman Chain Code of Eight Directions (DFCCE).
Code chains are unacceptable because the resulting chain of codes tends to be quite long. Any small disturbances along the boundary due to noise or imperfect segmentation cause changes in the code that may not be related to the shape of the boundary. Solve the problems by resample the boundary by selecting a larger grid spacing however, different grid can generate different chain codes starting point is arbitrary. The chain code of a boundary is depending on the starting point. However, the code can be normalized with respect to the starting point by a straightforward procedure. We simply treat the chain code as a circular sequence of direction numbers and redefine the starting point so that the resulting sequence of numbers form an integer of minimum magnitude.
Polygonal Approximations
Boundary can be approximated with arbitrary accuracy by a polygon. Try to capture the “essence” of the boundary shape with the fewest possible polygonal segments. Not trivial and time consuming. Three methods:
* Minimum perimeter polygons
* Merging techniques
* Splitting techniques
Minimum Perimeter Polygons
Fig. 11.3(b), producing a polygon of minimum perimeter that fits the geometry established by the cell strip Merging Techniques
Merging based on average error or other criteria. Merge points along the boundary, until the least square error exceeds a preset threshold. When the condition occurs, the parameters of the line are stored; the error is set to 0. The procedure is repeated, merging new points along the boundary until the error again exceeds the threshold. At the end of the procedure the intersections of adjacent line segments form the vertices of the polygon.
An example:
Problem:
The vertices in the resulting approximation do not always correspond to inflections (such as corners) in the original boundary.
Splitting techniques
Splitting technique is to subdivide a segment successive into two parts until a specified criterion is satisfied.
How splitting technique is performed?
1. Find the major axis
2. Find minor axes which perpendicular to major axis and has distance greater than a threshold 3. Repeat until we can’t split anymore
Different thresholds lead to different results.
Boundary Segments
Decomposing a boundary into segments often is useful. Decomposition reduces the boundary’s complexity and thus simplifies the description process. Convex hull is a...
Topic: Image processing, Mathematical morphology, Convex set
Pages: 6 (1255 words)