This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
ECE/OPTI 531 – Image Processing Lab for Remote Sensing Fall 2005
Spatial TransformsSpatial Transforms
Reading: Chapter 6Reading: Chapter 6
Fall 2005Spatial Transforms 2
Spatial Transforms
• Introduction• Convolution and Linear Filters• Spatial Filtering• Fourier Transforms• Scale-Space Transforms• Summary
2
Fall 2005Spatial Transforms 3
Introduction• Spatial transforms provide a way to access
image information according to size, shape, etc.• Spatial transforms operate on different scales
– Local pixel neighborhood (convolution)– Global image (Fourier filters)– All scales (scale-space filters)
• Image Model for Spatial Filtering– Any digital image can be written as the sum of two
images,
– The Low-Pass (LP) image contains the large areavariations, which determines the global image contrast(“macro-contrast”)
– The High-Pass (HP) image contains the small areavariations, which determines the sharpness and localimage contrast (“micro-contrast”)
Fall 2005Spatial Transforms 4
• LP and HP image components can be calculatedby either convolution or Fourier filters
image(x,y) - LP(x,y) = HP(x,y)
3×3 neighborhood
7×7 neighborhood
LP and HP Image Components
3
Fall 2005Spatial Transforms 5
Spatial Transforms
• Introduction• Convolution and Linear Filters• Spatial Filtering• Fourier Transforms• Scale-Space Transforms• Summary
Fall 2005Spatial Transforms 6
Convolution Filters
• Local processing within a moving window
• Result of the calculation at each location is theoutput value at the center pixel of the movingwindow
• Processing within the window uses the originalpixels, not the previously-calculated values
• Any type of calculation can be done within themoving window
• If the calculation satisfies the principal ofsuperposition (Chapter 3, Section 3.3.1), then thefilter is termed linear– “The output of the sum of two inputs is equal to the
sum of their respective outputs”• Discrete form of 2-D convolution
– Symbolically,
Fall 2005Spatial Transforms 8
2-D Convolution
• Alternatively, we can write for a Wx×Wy window,
– which emphasizes that the convolution is a weightingof local pixels
1. flip the window in x and y2. shift the window3. multiply the window weights times the corresponding
image pixels4. add the weighted pixels and write to the output pixel5. repeat steps 2-3-4 (shift-multiply-add) until finished
2-D Convolution Procedure
5
Fall 2005Spatial Transforms 9
Cascaded Linear Filters
• Sequential linear filters can be cascaded into asingle filter– Because convolution operator does not depend on the
order applied (cummutative and associative)– Example with two filters
– where wnet is the equivalent filter, which can be pre-computed efficiently because the kernels are generallymuch smaller than the image
Fall 2005Spatial Transforms 10
1. generate column sum of weighted input pixels2. add column sums to obtain current output pixel
(leftmost output pixel in row only)3. move window one pixel along row4. subtract leftmost column sum and add new rightmost
column sum to obtain current output pixel5. repeat steps 3 and 4 until done
Box-Filter Algorithm (along rows)
Box-Filter Algorithm
• Very efficient for certain configurations ofwindow weights– For column-sums, the weights within each window row
must be constant (but do not have to be equal fromrow-to-row)
– Computational savings varies with window size, but atleast a factor of 2
6
Fall 2005Spatial Transforms 11
Box-Filter Algorithm (cont.)
C1 C2 C3 C4C1 C2 C3
Graphical depiction of column calculation
Fall 2005Spatial Transforms 12
Border Region• There is a problem with the moving
window when it runs out of pixelsnear the image border
• Several possible solutions:– repeat the nearest valid output
pixel– reflect the input pixels outside the
border and calculate theconvolution
– reduce the window size– set the border pixels to zero or
mean image DN– wrap the window around to the
opposite side of the image (circularconvolution, same as produced byFourier filtering)
• All solutions are a “trick” to getaround the problem; no realsolution
border region for 3x3 window
7
Fall 2005Spatial Transforms 13
Spatial Transforms
• Introduction• Convolution and Linear Filters• Spatial Filtering• Fourier Transforms• Scale-Space Transforms• Summary
and smooth sudden transitions (edges, noise)– Simple example: 3-pixel window with equal weights
(moving average)[1/3, 1/3, 1/3]
– Weights sum to one• High-Pass Filters (HPF)
– Remove the signal mean and preserve edges– Complimentary to the LPF
[-1/3, 2/3, -1/3] = [0, 1, 0] - [1/3, 1/3, 1/3]– Weights sum to zero
8
Fall 2005Spatial Transforms 15
Example: 1-D LPF and HPF
0
20
40
60
80
100
120
140
0 10 20 30 40 50 60
input
1x3 LP
DN
index
-50
0
50
100
150
0 10 20 30 40 50 60
input
1x3 HP
DN
index
0
20
40
60
80
100
120
140
0 10 20 30 40 50 60
input
1x7 LP
DN
index
-50
0
50
100
150
0 10 20 30 40 50 60
input
1x7 HP
DN
index
Fall 2005Spatial Transforms 16
2-D LPF and HPF Kernels
• Weight array for pixels within the movingwindow is known as the “kernel” of the spatialfilter
9
Fall 2005Spatial Transforms 17
Filtered Image Histograms
• LP-filtered images– same mean– smaller standard deviation– similar histogram
• HP-filtered images– zero mean– much smaller standard
deviation– nearly symmetric
histogram0
200
400
600
800
1000
-100 -50 0 50 100 150 200
num
ber
of
pix
els
DN
0
200
400
600
800
1000
-100 -50 0 50 100 150 200
num
ber
of
pix
els
DN
0
500
1000
1500
2000
2500
3000
3500
-100 -50 0 50 100 150 200
num
ber
of
pix
els
DN
Original
LP-component HP-component
Fall 2005Spatial Transforms 18
High-Boost Filters (HBF)
• Corresponds to a “boosting” of the high spatialfrequency components (details) of the image
• Kernel consists of edges extracted with a HPFand boosted by a gain K, then added back to theoriginal DN at the center of the window
10
Fall 2005Spatial Transforms 19
Example: HBF Varying K
Fall 2005Spatial Transforms 20
Directional Filters
• Emphasize (HP) or suppress(LP) spatial features in agiven direction
orientation of window
Directional enhancements in 3 directions
11
Fall 2005Spatial Transforms 21
Gradient Filters
• Find image gradient (derivative) in any directionby combining the x and y gradients in a vectorcalculation
! gx
gyg
x
y
|g|
Fall 2005Spatial Transforms 22
Example: Edge Detection
original Prewitt
Roberts Sobel
Roberts DNT = 60
DNT = 90 DNT = 120
Gradient magnitude of different filters Thresholding Roberts gradient to find edges
12
Fall 2005Spatial Transforms 23
Statistical Filters
• Similar to convolution with moving window, butoutput is a statistical quantity, e.g.– local minimum or maximum– local standard deviation– local histogram mode (DN at peak)
• Morphological filters– Application to spatial segmentation and noise filtering– Operations are composed of two basic elements similar
to minimum and maximum filters, but defined for darkobjects in binary images
• dilation (minimum)• erosion (maximum)
– Two filters applied in series to binary image yield• opening = dilation[erosion(binary image)] Eq. 6–9• closing = erosion[dilation(binary image)] Eq. 6–10
– Can use non-rectangular windows to achieve templatematching (“structuring element”)
Fall 2005Spatial Transforms 24
Example: Morphological Filters
original local minimum local maximum
thresholdedoriginal
dilation erosion
openingclosing
13
Fall 2005Spatial Transforms 25
Median Filter
• Output at each pixel is the median of the DNswithin the window– insensitive to outliers– suppresses impulse (single pixel or line) noise