6.1 Introduction
neighborhood operator: workhorse of low-level vision
neighborhood operator: performs conditioning, labeling, grouping
The output of a neighborhood operator at a given pixel position is a function
of the position, of the input pixel value at the position, of the values of the
input pixels in some neighborhood around the given input position, and possibly
of some values of previously generated output pixels.
numeric domain: arithmetic operations, +, -, min, max
symbolic domain: Boolean operations, AND, OR, NOT, table-look-up
nonrecursive neighborhood operators: output is function of input
recursive neighborhood operators: output depends partly on previous output
neighborhood might be small and asymmetric or large
=====Fig. 6.1=====
1#1: set of neighboring pixel positions around position 2#2
general nonrecursive neighborhood operator 3#3 : input 4#4, output 122#122
linear operator: one common nonrecursive neighborhood operator
output: possibly position-dependent linear combination of inputs
cross-correlation of 4#4 with 7#7:
8#8
convolution of 4#4 with 7#7: 13#13
6.2 Symbolic Neighborhood Operators
indexing of neighborhoods
=====Fig. 6.7=====
6.2.1 Region-Growing Operator
15#15: projection, outputs first or second argument
4-connected: 17#17
8-connected: 17#17
6.2.2 Nearest Neighbor Sets and Influence Zones
influence zones: nearest neighbor sets
influence zones: iteratively region-growing
4-neighborhood for city-block distance
8-neighborhood for max distance (of horizontal and vertical distances)
alternate 4, 8-neighborhood for Euclidean distance
=====joke=====
6.2.3 Region-Shrinking Operator
region-shrinking: changes all border pixels to background
region-shrinking: can change connectivity
region-shrinking: can entirely delete region if repeatedly applied
15#15: whether or not arguments identical
4-connected: 17#17
8-connected: 17#17
6.2.4 Mark-Interior/Border-Pixel Operator
mark-interior/border-pixel operator marks all interior pixels with the label
76#76 and all border pixels with the label 23#23
15#15: whether or not arguments identical
4-connected: 17#17
8-connected: 17#17
6.2.5 Connectivity Number Operator
connectivity number: nonrecursive and symbolic data domain
connectivity number: classify the way pixel connected to neighbors
six values of connectivity: five for border, one for interior
border: isolated, edge, connected, branching, crossing
=====Fig. 6.10=====
corner neighborhood
=====Fig. 6.11=====
Yokoi Connectivity Number
4-connectivity
8-connectivity, only 15#15 slightly different
Rutovitz Connectivity Number
Rutovitz connectivity: number of transitions from one symbol to another
Rutovitz connectivity number: sometimes called crossing number
6.2.6 Connected Shrink Operator
connected shrink: recursive operator, symbolic data domain
connected shrink: deletes border pixels without disconnecting regions
top-down, left-right scan: deletes edge pixels not right-boundary
=====Fig. 6.13=====
15#15: determines whether corner connected
6.2.7 Pair Relationship Operator
pair relationship: nonrecursive operator, symbolic data domain
15#15: determines whether first argument equals label 1
6.2.8 Thinning Operator
thinning operator is composition of three operators: Yokoi connectivity,
pair relationship, connected shrink
=====Fig. 6.15=====
=====lena.thin=====
=====joke=====
6.2.9 Distance Transformation Operator
distance transformation: produces distance to closest border pixel
nonrecursive, iterative, start with
| g | g | g | g | g | g | g |
| g | g | 0 | 0 | 0 | 0 | g |
| g | g | 0 | i | i | 0 | g |
| ... |
equivalent algorithm: nonrecursive, iterative
distance transformation: produces distance to closest background
recursive, two-pass
first pass: left-right, top-bottom
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 2 | 2 | 2 | 0 |
| 0 | 1 | 2 | 3 | 3 | 3 | 0 |
| 0 | 0 | 1 | 2 | 3 | 4 | 0 |
| 0 | 0 | 1 | 2 | 3 | 4 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
6.2.10 Radius of Fusion
The radius of fusion for any connected component of binary image 63#63 is the
radius 64#64 of a disk satisfying the condition that if the binary image
63#63 is morphologically closed with a disk of radius 64#64, then the given
connected region will fuse with some other connected region
6.2.11 Number of Shortest Paths
number of shortest paths for each 0-pixel: to binary-1 pixel set
given binary image 65#65
6.3 Extremum-Related Neighborhood Operators
6.3.1 Non-Minima-Maxima Operator
non-minima-maxima: nonrecursive operator, symbolic output
a pixel can be neighborhood maximum not relative maximum
=====Fig. 6.18=====
4-connected: 70#70
6.3.2 Relative Extrema Operator
relative extrema operators: relative maximum and minimum operators
relative extrema: recursive operator, numeric data domain
relative extrema: input not changed, output successively modified
top-down, left-right scan, then bottom-up, right-left scan until no change
output: value of highest extrema reachable by monotonic path
relative extrema pixels: output same as input pixels
pixel designations for the normal and reverse scans
=====Fig. 6.19=====
two primitive functions 15#15 and max
6.3.3 Reachability Operator
successively propagating labels that can reach by monotonic paths
descending reachability operator employs 15#15
6.4 Linear Shift-Invariant Neighborhood Operators
convolution: commutative, associative, distributor over sums, homogeneous
6.4.1 Convolution and Correlation
convolution of an image 4#4 with kernel 7#7
6.4.2 Separability
straightforward computation:
85#85 multiplications, additions
decomposition: 86#86 multiplications, additions
=====Fig. 6.22=====
Project due Nov. 20
Write a program to generate Yokoi connectivity number
Project due Nov. 27
Write a program to generate thinned image
Midterm Nov. 27
extent: whatever covered up to Nov. 20 (inclusive)