Download presentation
Presentation is loading. Please wait.
Published byAshley Oliver Modified over 9 years ago
1
Low level Computer Vision 1. Thresholding 2. Convolution 3. Morphological Operations 4. Connected Component Extraction 5. Feature Extraction 1
2
3. Mathematical Morphology Morphology: Study of forms of animals and plants Mathematical Morphology: Study of shapes Similar to convolution Arithmetic operations Set Operations 2
3
Need to define Image as a Set Given a binary image I (r,c), assume 1 correspond to object 0 correspond to backround. Define a set with elements to the coordinates of the object X = { (r1,c1), (r2,c2),….} 3
4
Set Operations
5
Set Operations on Images AND, OR Set Operations on Images AND, OR
6
TRANSLATION REFLECTION
7
Set Operations
8
Morphologic Operations 8 Binary mathematical morphology consists of two basic operations dilation and erosion and several composite relations closing and opening
9
Dilation: 9 Dilation expands the connected sets of 1s of a binary image. It can be used for 1. growing features 2. filling holes and gaps
10
Structuring Elements 10 A structuring element is a shape mask used in the basic morphological operations. They can be any shape and size that is digitally representable, and each has an origin. box hexagon disk something box(length,width) disk(diameter)
11
Dilation with Structuring Element S: B+S ={ Z: (Sz)∩ B≠ Φ} 11 The arguments to dilation and erosion are 1.a binary image B 2.a structuring element S dilate(B,S) takes binary image B, places the origin of structuring element S over each 1-pixel, and ORs the structuring element S into the output image at the corresponding position. 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 origin B S dilate B S
12
DILATION
14
Erosion B-S ={ Z: (Sz) B} 14 Erosion shrinks the connected sets of 1s of a binary image. It can be used for 1. shrinking features 2. Removing bridges, branches and small protrusions
15
Erosion with Structuring Elements 15 erode(B,S) takes a binary image B, places the origin of structuring element S over every pixel position, and ORs a binary 1 into that position of the output image only if every position of S (with a 1) covers a 1 in B. 0 0 1 1 0 1 1 1 1 1 111111 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 B S origin erode B S
16
EROSİON:
17
IMAGE ENHANCEMENT WİTH MORPHOLOGY
18
Example to Try 18 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 erode dilate with same structuring element S B
19
Opening and Closing 19 Closing is the compound operation of dilation followed by erosion (with the same structuring element) Opening is the compound operation of erosion followed by dilation (with the same structuring element)
20
Use of Opening 20 Original Opening Corners 1.What kind of structuring element was used in the opening? 2.How did we get the corners?
21
OPENİNG AND CLOSİNG
22
FINGERPRİNT RECOGNİTİON
23
HOW DO YOU REMOVE THE HOLES Hole: A closed backround region surrounded by object pixels HOW DO YOU REMOVE THE HOLES Hole: A closed backround region surrounded by object pixels
24
Morphological Analysis for Bone detection
25
OBJECT DETECTION
26
BOUNDARY EXTRACTİON Boundary: A set of one-pixel-wide connected pixels which has at least one neighbor outside the object BOUNDARY EXTRACTİON Boundary: A set of one-pixel-wide connected pixels which has at least one neighbor outside the object
27
BOUNDARY EXTRACTİON
28
Skeleton finding: Skeleton: Set of one-pixel wide connected pixels which are at equal distance from at least two boundary pixels Skeleton finding: Skeleton: Set of one-pixel wide connected pixels which are at equal distance from at least two boundary pixels
29
Morphological Image Processing
32
Morphological Operations
34
Gear Tooth Inspection 34 original binary image detected defects How did they do it?
35
Some Details 35
36
Region Properties-Features 36 Properties of the regions can be used to recognize objects. geometric properties (Ch 3) gray-tone properties color properties texture properties shape properties (a few in Ch 3) motion properties relationship properties (1 in Ch 3)
37
Geometric and Shape Properties 37 area: centroid: perimeter : perimeter length: circularity: elongation mean and standard deviation of radial distance bounding box extremal axis length from bounding box second order moments (row, column, mixed) lengths and orientations of axes of best-fit ellipse
38
4. Connected Components Labeling 38 Once you have a binary image, you can identify and then analyze each connected set of pixels. The connected components operation takes in a binary image and produces a labeled image in which each pixel has the integer label of either the background (0) or a component. binary image after morphology connected components
39
Methods for CC Analysis 39 1. Recursive Tracking (almost never used) 2. Parallel Growing (needs parallel hardware) 3. Row-by-Row (most common) Classical Algorithm (see text) Efficient Run-Length Algorithm (developed for speed in real industrial applications)
40
Equivalent Labels 40 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 Original Binary Image
41
Equivalent Labels 41 0 0 0 1 1 1 0 0 0 0 2 2 2 2 0 0 0 0 3 0 0 0 1 1 1 1 0 0 0 2 2 2 2 0 0 0 3 3 0 0 0 1 1 1 1 1 0 0 2 2 2 2 0 0 3 3 3 0 0 0 1 1 1 1 1 1 0 2 2 2 2 0 0 3 3 3 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 3 3 3 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 The Labeling Process 1 2 1 3
42
Run-Length Data Structure 42 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 0123401234 U N U S E D 0 0010 0340 1010 1440 2020 2440 4140 row scol ecol label 0123456701234567 Rstart Rend 1234560077123456007707 0123401234 Runs Row Index Binary Image
43
Run-Length Algorithm 43 Procedure run_length_classical { initialize Run-Length and Union-Find data structures count <- 0 /* Pass 1 (by rows) */ for each current row and its previous row { move pointer P along the runs of current row move pointer Q along the runs of previous row
44
Case 1: No Overlap 44 |/////| |/////| |////| |///| |///| |/////| Q P Q P /* new label */ count <- count + 1 label(P) <- count P <- P + 1 /* check Q’s next run */ Q <- Q + 1
45
Case 2: Overlap 45 Subcase 1: P’s run has no label yet |///////| |/////| |/////////////| Subcase 2: P’s run has a label that is different from Q’s run |///////| |/////| |/////////////| Q Q P P label(P) <- label(Q) move pointer(s) union(label(P),label(Q)) move pointer(s) }
46
Pass 2 (by runs) 46 /* Relabel each run with the name of the equivalence class of its label */ For each run M { label(M) <- find(label(M)) } where union and find refer to the operations of the Union-Find data structure, which keeps track of sets of equivalent labels.
47
Labeling shown as Pseudo-Color 47 connected components of 1’s from thresholded image connected components of cluster labels
48
Region Adjacency Graph 48 A region adjacency graph (RAG) is a graph in which each node represents a region of the image and an edge connects two nodes if the regions are adjacent. 1 2 3 4 12 34
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.