0% found this document useful (0 votes)
8 views8 pages

Data Structures in Image Analysis

Data structures in image analysis organize and process image data for efficient manipulation and analysis, playing a crucial role in tasks like segmentation and pattern recognition. Different levels of image representation include iconic images, segmented images, geometric representations, and relational models, each serving unique analytical purposes. Traditional and hierarchical data structures, such as matrices, chains, run-length coding, and quadtrees, are utilized to manage image data effectively and enhance processing speed and memory efficiency.

Uploaded by

kaminia841
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)
8 views8 pages

Data Structures in Image Analysis

Data structures in image analysis organize and process image data for efficient manipulation and analysis, playing a crucial role in tasks like segmentation and pattern recognition. Different levels of image representation include iconic images, segmented images, geometric representations, and relational models, each serving unique analytical purposes. Traditional and hierarchical data structures, such as matrices, chains, run-length coding, and quadtrees, are utilized to manage image data effectively and enhance processing speed and memory efficiency.

Uploaded by

kaminia841
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/ 8

DATA STRUCTURES IN IMAGE ANALYSIS

DEFINITION:

A data structure in image analysis refers to the way image data is organized,
stored, and processed to facilitate efficient manipulation, retrieval, and analysis
of image-related information.

It plays a crucial role in tasks like segmentation, feature extraction, pattern


recognition, and computer vision.

LEVELS OF IMAGE DATA REPRESENTATION

When processing images, data is represented at different levels, each offering a


unique way to analyze and interpret an image.

1. Iconic Images

 These contain the original image data in the form of integer matrices
representing pixel brightness.
 Used mainly in pre-processing steps like filtering and edge detection.
 Example: Output of an edge sharpening operation.

2. Segmented Images

 The image is divided into groups (segments) that likely belong to the
same object.
 Helps to remove noise and identify meaningful parts of an image.
 Knowledge of the application domain improves segmentation accuracy.
 Example: Separating objects in a satellite image of a city.

3. Geometric Representations

 Used to store 2D and 3D shapes extracted from images.


 Important for shape-based analysis, but quantifying shapes is challenging.
 Example: Extracting and analyzing the shape of objects in medical
imaging.

4. Relational Models

 Help in analyzing objects based on their relationships with each other.


 Uses a priori knowledge (pre-existing information) about the scene.
 Example: Counting airplanes in an airport satellite image using:
o Known airport locations from maps.
o Relations between objects (runways, roads, buildings).
o Geometric models of airplanes.

TYPES OF DATA STRUCTURES IN IMAGE ANALYSIS

1. Traditional
2. Hierarchical
TRADITIONAL IMAGE DATA STRUCTURES

These structures store and manipulate image information directly. Some of the
most common structures include:

1. Matrices

 Most basic and commonly used data structure for images.


 Each matrix element corresponds to a pixel with an integer value
representing brightness.
 Direct output of image capturing devices (e.g., scanners, cameras).

2. Chains

 Used to describe object borders by representing sequences of


connected pixels.
 Each symbol in a chain corresponds to a change in direction of the
object’s boundary.

The image represents an example of a chain code, which is a method used to


describe object boundaries in digital image processing.

Left Side: Chain Code Representation of the Number "2"

 The number "2" is shown on a grid, where its boundary is highlighted


using black squares.
 A starting point (reference pixel) is marked by an arrow.
 The boundary of the number "2" is traced in a sequence of movements.
 The corresponding chain code is provided at the bottom.

Right Side: Chain Code Directional Encoding

 The grid-based direction system assigns numerical values (0-7) to


possible movements from a given pixel:
o 0 → Right
o 1 → Top-right
o 2 → Up
o 3 → Top-left
o 4 → Left
o 5 → Bottom-left
o 6 → Down
o 7 → Bottom-right
 This encoding is based on the 8-neighborhood connectivity of pixels.

3. Run-Length Coding (RLC)

 Used to store consecutive identical symbols efficiently.


 Common in binary images (black-and-white) and fax machines.
 Instead of storing individual pixels, RLC records the start and end of
pixel sequences.

Example:

A binary image row like:


0000001111110000111111
can be stored as:
(row, (start1, end1), (start2, end2)) → (1, (7,12), (16,21))

 Can also store multiple brightness levels by adding brightness values in


the list.

4. Topological Data Structures

 Represent images using elements and their relationships.

Types:

1. Graphs - Nodes represent image components; edges show relationships.


2. Evaluated Graphs - Graphs with additional numerical values (weights)
on edges.
3. Region Adjacency Graphs (RAGs) - Nodes represent image regions,
and edges show adjacency between regions.

The image represents an example of a Region Adjacency Graph (RAG), a


structure used in image analysis to represent the relationships between
segmented regions.

Left Side: Segmented Image


 The image is divided into several regions labeled 0, 1, 2, 3, 4, and 5.
 Each number represents a different region in the image.
 Some regions are nested inside others (e.g., region 5 is inside region 4,
which is inside region 3).
 Some regions are adjacent to each other (e.g., regions 1 and 3 share a
boundary with region 0).

Right Side: Region Adjacency Graph (RAG)

 The graph structure represents the adjacency relationships between


regions.
 Each node in the graph corresponds to a region in the image.
 Each edge (line connecting nodes) represents a direct adjacency
(shared boundary) between two regions.

5. Relational Structures

 Focus on relations between important objects in the image rather than


individual pixels.
 Used in high-level image understanding tasks.

Image Explanation (Figure 3.4)

This image depicts a scenic outdoor environment with several labeled


objects, including:

1. The Sun (1)


2. The Sky (2)
3. Clouds (3)
4. A Tree (Trunk - 4, Crown - 5)
5. A Hill (6)
6. A Pond (7)

Table Explanation (Table 3.1 - Relational Table)

The table provides a structured way to describe objects in the image. It


includes:

 Object number (No.): Each object has a unique identifier.


 Object name: Descriptive label (e.g., Sun, Sky, Cloud, Tree).
 Colour: The color associated with the object.
 Min. row & Min. column: Represents the position of the object in the
image (upper-left coordinate).
 Inside: Indicates whether the object is contained within another
object.

Example Analysis:

 The sun (1) is inside the sky (2) → This is reflected in the "Inside"
column.
 The tree trunk (4) and pond (7) are inside the hill (6) → They are
part of a larger landscape.
 The sky (2) is the background → It contains the sun and cloud but is
not inside any other object.

Hierarchical Data Structures

Since computer vision requires processing large amounts of data, hierarchical


structures reduce complexity by dividing an image into different levels of
detail.

Why Hierarchical Structures?

 Avoid brute-force computations.


 Use knowledge-based methods to process only necessary image parts.
 Adapt resolution dynamically to speed up processing.

T-Pyramid?

 A T-pyramid (Tree Pyramid) is a tree-like hierarchical


representation of an image.
 Each node in the pyramid corresponds to a portion of the image.
 The top level (Level 0) represents the entire image.
 As you move down the levels, the image is divided into smaller sub-
regions.
Structure of a T-Pyramid

1. Level 0 (Root Node):


o Represents the entire image.
o Contains the full-resolution data or a reference to the image.
2. Level 1 (Four Child Nodes):
o The image is divided into four sub-regions.
o Each child node represents a quarter of the original image.
3. Level 2 (Further Subdivision):
o Each node from Level 1 is further divided into four smaller
regions.
o This process continues recursively to form a hierarchical
structure.

Key Features

 Every node (except leaves) has exactly 4 children, making it similar


to a quadtree.
 Efficient memory usage:
o If a region at a higher level is homogeneous (e.g., all pixels have
the same intensity), further subdivision is not necessary, reducing
storage requirements.
 Fast processing:
o Instead of analyzing all pixels at once, the algorithm focuses only
on necessary regions at finer levels.

What is a Quadtree?

A Quadtree is a tree data structure in which:

 Each node has at most four children.


 The image is recursively divided into four quadrants.
 This division continues until each region satisfies a given condition (e.g.,
uniform color or intensity).
Understanding the Image

Left Side: Image Partitioning

 The original image is divided into four main quadrants (0, 1, 2, 3).
 Some quadrants contain subdivisions where further breakdown is
needed.
o Example: Quadrant 1 is further divided into 10, 11, 12, 13.
o 12 is further divided into 120, 121, 122, 123.

Right Side: Quadtree Representation

 The root node represents the entire image.


 Each child node corresponds to one of the four quadrants.
 Nodes are further subdivided only when needed.
o Example: Node 1 has four children (10, 11, 12, 13).
o Node 12 is further subdivided into 120, 121, 122, 123.
 Leaves (terminal nodes) represent regions that no longer need
subdivision.

Key Features of Quadtrees

1. Efficient Space Representation:


o Only subdivides non-uniform regions, reducing memory usage.
o Uniform regions remain as single nodes.
2. Hierarchical Image Processing:
o Useful for multi-resolution analysis.
o Enables fast search and retrieval.
3. Adaptive Resolution:
o Higher detail stored in complex regions.
o Uniform regions require less storage.

You might also like