Digital Image Processing Chapter 5: Image Restoration
Concept of Image Restoration Image restoration is to restore a degraded image back to the original image while image enhancement is to manipulate the image so that it is suitable for a specific application.
Degradation model: g ( x, y ) = f ( x, y ) ∗ h ( x, y ) + η ( x, y ) where h(x,y) is a system that causes image distortion and η(x,y) is noise. (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Noise Models Noise cannot be predicted but can be approximately described in statistical way using the probability density function (PDF) Gaussian noise:
p( z ) = Rayleigh noise
1 2πσ
e
− ( z − μ ) 2 / 2σ 2
⎧⎪ 2 −( z −a )2 / b ( z − a )e p( z ) = ⎨ b ⎪⎩ 0
for z ≥ a for z < a
Erlang (Gamma) noise
⎧ a b z b−1 ⎪ ( z − a )e −az p( z ) = ⎨ (b − 1)! ⎪⎩ 0
for z ≥ 0 for z < 0
Noise Models (cont.) Exponential noise p( z ) = ae − az Uniform noise
⎧⎪ 1 p( z ) = ⎨ b - a ⎪⎩ 0
for a ≤ z ≤ b otherwise
Impulse (salt & pepper) noise
⎧ Pa ⎪ p( z ) = ⎨ Pb ⎪0 ⎩
for z = a for z = b otherwise
PDF: Statistical Way to Describe Noise PDF tells how much each z value occurs.
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Image Degradation with Additive Noise g ( x, y ) = f ( x, y ) + η ( x, y ) Degraded images
Original image
Histogram
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Image Degradation with Additive Noise (cont.) g ( x, y ) = f ( x, y ) + η ( x, y ) Degraded images
Original image
Histogram
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Chapter 4 2-D DFT Properties
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Chapter 4 2-D DFT Properties (cont.)
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Chapter 4 2-D DFT Properties (cont.)
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Chapter 4 2-D DFT Properties (cont.)
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Estimation of Noise
We cannot use the image histogram to estimate noise PDF.
It is better to use the histogram of one area of an image that has constant intensity to estimate noise PDF. (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Periodic Noise
Periodic noise looks like dots In the frequency domain (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Periodic Noise Reduction by Freq. Domain Filtering Degraded image
DFT Periodic noise can be reduced by setting frequency components corresponding to noise to zero.
Band reject filter
Restored image (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Band Reject Filters Use to eliminate frequency components in some bands
Periodic noise from the previous slide that is Filtered out.
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Notch Reject Filters A notch reject filter is used to eliminate some frequency components.
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Notch Reject Filter: Degraded image
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
DFT
Noise
Notch filter (freq. Domain)
Restored image
Example: Image Degraded by Periodic Noise Degraded image
DFT (no shift)
DFT of noise
Noise
Restored image (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Mean Filters Degradation model:
g ( x, y ) = f ( x, y ) ∗ h ( x, y ) + η ( x, y ) To remove this part Arithmetic mean filter or moving average filter (from Chapter 3)
ˆf ( x, y ) = 1 g ( s, t ) ∑ mn ( s ,t )∈S xy Geometric mean filter
⎛ ⎞ fˆ ( x, y ) = ⎜ ∏ g ( s, t ) ⎟ ⎜ ( s ,t )∈S ⎟ xy ⎝ ⎠
mn = size of moving window 1 mn
Geometric Mean Filter: Example
Original image
Image corrupted by AWGN
Image obtained using a 3x3 arithmetic mean filter
Image obtained using a 3x3 geometric mean filter
AWGN: Additive White Gaussian Noise
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Harmonic and Contraharmonic Filters Harmonic mean filter
mn
fˆ ( x, y ) =
∑
( s ,t )∈S xy
1 g ( s, t )
Contraharmonic mean filter
fˆ ( x, y ) =
Q +1 g ( s , t ) ∑
( s ,t )∈S xy
Q g ( s , t ) ∑
( s ,t )∈S xy
Works well for salt noise but fails for pepper noise
mn = size of moving window Positive Q is suitable for eliminating pepper noise. Negative Q is suitable for eliminating salt noise.
Q = the filter order For Q = 0, the filter reduces to an arithmetic mean filter. For Q = -1, the filter reduces to a harmonic mean filter.
Contraharmonic Filters: Example Image corrupted by pepper noise with prob. = 0.1
Image corrupted by salt noise with prob. = 0.1
Image obtained using a 3x3 contraharmonic mean filter With Q = 1.5
Image obtained using a 3x3 contraharmonic mean filter With Q=-1.5 (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Contraharmonic Filters: Incorrect Use Example Image corrupted by pepper noise with prob. = 0.1
Image corrupted by salt noise with prob. = 0.1
Image obtained using a 3x3 contraharmonic mean filter With Q=-1.5
Image obtained using a 3x3 contraharmonic mean filter With Q=1.5 (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Order-Statistic Filters: Revisit
Original image subimage Statistic parameters Mean, Median, Mode, Min, Max, Etc. Moving window
Output image
Order-Statistics Filters Median filter
fˆ ( x, y ) = median {g ( s, t )} ( s ,t )∈S xy
Max filter
fˆ ( x, y ) = max {g ( s, t )} ( s ,t )∈S xy
Reduce “dark” noise (pepper noise)
Min filter
fˆ ( x, y ) = min {g ( s, t )} ( s ,t )∈S xy
Reduce “bright” noise (salt noise)
Midpoint filter
ˆf ( x, y ) = 1 ⎛⎜ max {g ( s, t )}+ min {g ( s, t )}⎞⎟ ( s ,t )∈S xy 2 ⎝ ( s ,t )∈S xy ⎠
Median Filter : How it works A median filter is good for removing impulse, isolated noise Salt noise
Pepper noise Median
Degraded image Salt noise Pepper noise
Moving window
Sorted array Filter output
Normally, impulse noise has high magnitude and is isolated. When we sort pixels in the moving window, noise pixels are usually at the ends of the array.
Therefore, it’s rare that the noise pixel will be a median value.
Median Filter : Example 1
2
3
4
Image corrupted by saltand-pepper noise with pa=pb= 0.1
Images obtained using a 3x3 median (Images filter from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Max and Min Filters: Example Image corrupted by pepper noise with prob. = 0.1
Image corrupted by salt noise with prob. = 0.1
Image obtained using a 3x3 max filter
Image obtained using a 3x3 min filter
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Alpha-trimmed Mean Filter Formula:
fˆ ( x, y ) =
1 mn − d
∑ g ( s, t )
( s ,t )∈S xy
r
where gr(s,t) represent the remaining mn-d pixels after removing the d/2 highest and d/2 lowest values of g(s,t). Total mn pixels Lowest Gray Level
d/2
d/2
Highest Gray Level
This filter is useful in situations involving multiple types of noise such as a combination of salt-and-pepper and Gaussian noise.
Alpha-trimmed Mean Filter: Example 1
2
Image corrupted by additive uniform noise
Image additionally corrupted by additive salt-andpepper noise
Image 2 obtained using a 5x5 arithmetic mean filter
Image 2 obtained using a 5x5 geometric mean filter
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Alpha-trimmed Mean Filter: Example (cont.) 1 Image corrupted by additive uniform noise
Image 2 obtained using a 5x5 median filter
2
Image additionally corrupted by additive salt-andpepper noise Image 2 obtained using a 5x5 alphatrimmed mean filter with d = 5
Alpha-trimmed Mean Filter: Example (cont.) Image obtained using a 5x5 arithmetic mean filter
Image obtained using a 5x5 geometric mean filter
Image obtained using a 5x5 median filter
Image obtained using a 5x5 alphatrimmed mean filter with d = 5
Adaptive Filter General concept:
-Filter behavior depends on statistical characteristics of local areas inside mxn moving window - More complex but superior performance compared with “fixed” filters Statistical characteristics: Local mean:
1 mL = g ( s, t ) ∑ mn ( s ,t )∈S xy Local variance:
1 2 σ = ( g ( s , t ) − m ) ∑ L mn ( s ,t )∈S xy 2 L
Noise variance:
ση
2
Adaptive, Local Noise Reduction Filter Purpose: want to preserve edges Concept: 1. If ση2 is zero, Æ No noise the filter should return g(x,y) because g(x,y) = f(x,y) 2. If σL2 is high relative to ση2, Æ Edges (should be preserved), the filter should return the value close to g(x,y) 3. If σL2 = ση2, Æ Areas inside objects the filter should return the arithmetic mean value mL Formula: 2 σ fˆ ( x, y ) = g ( x, y ) − η2 (g ( x, y ) − mL ) σL
Adaptive Noise Reduction Filter: Example Image corrupted by additive Gaussian noise with zero mean and σ2=1000 Image obtained using a 7x7 geometric mean filter
Image obtained using a 7x7 arithmetic mean filter
Image obtained using a 7x7 adaptive noise reduction filter (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Adaptive Median Filter Purpose: want to remove impulse noise while preserving edges Algorithm:Level A:
A1= zmedian – zmin A2= zmedian – zmax If A1 > 0 and A2 < 0, goto level B Else increase window size If window size <= Smax repeat level A Else return zxy Level B: B1= zxy – zmin B2= zxy – zmax If B1 > 0 and B2 < 0, return zxy Else return zmedian where zmin = minimum gray level value in Sxy zmax = maximum gray level value in Sxy zmedian = median of gray levels in Sxy zxy = gray level value at pixel (x,y) Smax = maximum allowed size of Sxy
Adaptive Median Filter: How it works Level A: A1= zmedian – zmin A2= zmedian – zmax
Determine whether zmedian is an impulse or not If A1 > 0 and A2 < 0, goto level B Else Æ Window is not big enough increase window size If window size <= Smax repeat level A Else return zxy
Level B: Æ zmedian is not an impulse Determine whether zxy B1= zxy – zmin is an impulse or not B2= zxy – zmax If B1 > 0 and B2 < 0, Æ zxy is not an impulse return zxy Æ to preserve original details Else return zmedian Æ to remove impulse
Adaptive Median Filter: Example
Image corrupted by salt-and-pepper noise with pa=pb= 0.25
Image obtained using a 7x7 median filter
Image obtained using an adaptive median filter with Smax = 7
More small details are preserved (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Estimation of Degradation Model Degradation model: g ( x, y ) = f ( x, y ) ∗ h ( x, y ) + η ( x, y ) or
G ( u, v ) = F ( u, v ) H ( u, v ) + N ( u, v )
Purpose: to estimate h(x,y) or H(u,v) Why? If we know exactly h(x,y), regardless of noise, we can do deconvolution to get f(x,y) back from g(x,y). Methods: 1. Estimation by Image Observation 2. Estimation by Experiment 3. Estimation by Modeling
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Estimation by Image Observation Original image (unknown) f(x,y)
Degraded image
f(x,y)*h(x,y)
g(x,y)
Observation Estimated Transfer function
Gs (u, v )
G (u, v ) H ( u, v ) ≈ H s ( u, v ) = s Fˆs (u, v ) This case is used when we know only g(x,y) and cannot repeat the experiment!
Fˆs (u, v )
DFT
Subimage g s ( x, y )
Restoration process by estimation DFT Reconstructed Subimage fˆs ( x, y )
Estimation by Experiment Used when we have the same equipment set up and can repeat the experiment. Response image from Input impulse image the system
System H( )
Aδ ( x, y )
g ( x, y )
DFT
DFT
DFT {Aδ ( x, y )} = A
G ( u, v ) G ( u, v ) H ( u, v ) = A
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Estimation by Modeling Used when we know physical mechanism underlying the image formation process that can be expressed mathematically. Original image
Severe turbulence
Example: Atmospheric Turbulence model
H (u, v ) = e
− k ( u 2 + v 2 )5 / 6
k = 0.0025 Mild turbulence
k = 0.001
Low turbulence
k = 0.00025 (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Estimation by Modeling: Motion Blurring Assume that camera velocity is ( x0 (t ), y0 (t )) The blurred image is obtained by T
g ( x, y ) = ∫ f ( x + x0 (t ), y + y0 (t ))dt 0
where T = exposure time. ∞ ∞
G ( u, v ) =
∫
− j 2π ( ux + vy ) g ( x , y ) e dxdy ∫
− ∞− ∞
⎡T ⎤ − j 2π ( ux +vy ) = ∫ ∫ ⎢ ∫ f ( x + x0 (t ), y + y0 (t ))dt ⎥ e dxdy − ∞− ∞ ⎣ 0 ⎦ ∞ ∞
⎡∞ ∞ ⎤ − j 2π ( ux + vy ) = ∫ ⎢ ∫ ∫ f ( x + x0 (t ), y + y0 (t ))e dxdy ⎥dt 0 ⎣ − ∞− ∞ ⎦ T
Estimation by Modeling: Motion Blurring (cont.) ⎡∞ ∞ ⎤ − j 2π ( ux + vy ) G (u, v ) = ∫ ⎢ ∫ ∫ f ( x + x0 (t ), y + y0 (t ))e dxdy ⎥dt 0 ⎣ − ∞− ∞ ⎦ T
T
[
]
= ∫ F (u, v )e − j 2π ( ux0 ( t )+ vy0 ( t )) dt 0 T
= F (u, v ) ∫ e − j 2π ( ux0 ( t )+ vy0 ( t )) dt 0
Then we get, the motion blurring transfer function: T
H (u, v ) = ∫ e − j 2π ( ux0 ( t )+vy0 ( t )) dt 0
For constant motion ( x0 (t ), y0 (t )) = (at , bt ) T
H (u, v ) = ∫ e − j 2π ( ua +vb ) dt = 0
T sin(π (ua + vb))e − jπ ( ua +vb ) π (ua + vb)
Motion Blurring Example For constant motion
T H ( u, v ) = sin(π (ua + vb))e − jπ ( ua + vb ) π (ua + vb)
Original image
Motion blurred image a = b = 0.1, T = 1 (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Inverse Filter From degradation model:
G ( u, v ) = F ( u, v ) H ( u, v ) + N ( u, v ) after we obtain H(u,v), we can estimate F(u,v) by the inverse filter: G ( u, v ) N ( u, v ) Fˆ (u, v ) = = F ( u, v ) + H ( u, v ) H ( u, v ) Noise is enhanced when H(u,v) is small.
To avoid the side effect of enhancing noise, we can apply this formulation to freq. component (u,v) with in a radius D0 from the center of H(u,v).
In practical, the inverse filter is not Popularly used.
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Inverse Filter: Example
Original image
Blurred image Due to Turbulence
H (u, v ) = e
−0.0025( u 2 + v 2 )5 / 6
Result of applying the full filter
Result of applying the filter with D0=40
Result of applying Result of applying the filter with D0=70 the filter with D0=85
Wiener Filter: Minimum Mean Square Error Filter
{
Objective: optimize mean square error: e 2 = E ( f − fˆ ) 2
}
Wiener Filter Formula: * ⎤ ⎡ ( , ) ( , ) H u v S u v f Fˆ (u, v ) = ⎢ ⎥G ( u , v ) 2 ⎢⎣ S f (u, v ) H (u, v ) + Sη (u, v ) ⎥⎦
⎤ ⎡ H * ( u, v ) =⎢ ⎥G ( u , v ) 2 ⎢⎣ H (u, v ) + Sη (u, v ) / S f (u, v ) ⎥⎦ 2 ⎤ ⎡ 1 H (u, v ) =⎢ ⎥G ( u , v ) 2 ⎢⎣ H (u, v ) H (u, v ) + Sη (u, v ) / S f (u, v ) ⎥⎦
where H(u,v) = Degradation function Sη(u,v) = Power spectrum of noise Sf(u,v) = Power spectrum of the undegraded image (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Approximation of Wiener Filter Wiener Filter Formula: 2 ⎡ 1 ⎤ H ( u , v ) Fˆ (u, v ) = ⎢ ⎥G ( u , v ) 2 ⎢⎣ H (u, v ) H (u, v ) + Sη (u, v ) / S f (u, v ) ⎥⎦
Difficult to estimate
Approximated Formula: 2 ⎡ 1 ⎤ H (u, v ) ˆ F ( u, v ) = ⎢ ⎥G ( u , v ) 2 ⎢⎣ H (u, v ) H (u, v ) + K ⎥⎦
Practically, K is chosen manually to obtained the best visual result!
Wiener Filter: Example
Original image
Blurred image Due to Turbulence
Result of the full inverse filter
Result of the inverse filter with D0=70
Result of the full Wiener filter
Wiener Filter: Example (cont.)
Original image
Result of the inverse filter with D0=70
Blurred image Due to Turbulence
Result of the Wiener filter
Example: Wiener Filter and Motion Blurring Image degraded by motion blur + AWGN
Result of the inverse filter
Result of the Wiener filter
ση2=650
ση2=325 Note: K is chosen manually
ση2=130
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Constrained Least Squares Filter Degradation model:
Written in a matrix form g = Hf + η
g ( x, y ) = f ( x, y ) ∗ h ( x, y ) + η ( x, y )
Objective: to find the minimum of a criterion function
C=
∑∑ [∇
M −1 N −1
2
f ( x, y )
]
2
x =0 y =0
Subject to the constraint 2 2 ˆ g − Hf = η
where
w = wT w 2
We get a constrained least square filter * ⎤ ⎡ H ( u , v ) Fˆ (u, v ) = ⎢ G ( u, v ) 2 2⎥ ⎢⎣ H (u, v ) + γ P(u, v ) ⎥⎦
where
⎡ 0 −1 0 ⎤ ⎢− 1 4 − 1⎥ P(u,v) = Fourier transform of p(x,y) = ⎢ ⎥ ⎢⎣ 0 − 1 0 ⎥⎦
Constrained Least Squares Filter: Example Constrained least square filter * ⎤ ⎡ H ( u , v ) Fˆ (u, v ) = ⎢ G ( u, v ) 2 2⎥ ⎢⎣ H (u, v ) + γ P(u, v ) ⎥⎦ γ is adaptively adjusted to achieve the best result.
Results from the previous slide obtained from the constrained least square filter
Constrained Least Squares Filter: Example (cont.) Image degraded by motion blur + AWGN
Result of the Constrained Least square filter
ση2=650
ση2=325
ση2=130
Result of the Wiener filter
Constrained Least Squares Filter:Adjusting γ Define r = g − Hfˆ
T It can be shown that φ (γ ) = r r = r
We want to adjust gamma so that 1. Specify an initial value of γ 2. Compute r
r = η ±a 2
2
2
1
where a = accuracy factor
2
3. Stop if 1 is satisfied 2 2 Otherwise return step 2 after increasing γ if r < η − a or decreasing γ if r > η + a Use the new value of γ to recompute * ⎡ ⎤ ( , ) H u v Fˆ (u, v ) = ⎢ G ( u, v ) 2 2⎥ ⎢⎣ H (u, v ) + γ P(u, v ) ⎥⎦ 2
2
Constrained Least Squares Filter:Adjusting γ (cont.) * ⎡ ⎤ ( u, v ) H ˆ F ( u, v ) = ⎢ G ( u, v ) 2 2⎥ ⎢⎣ H (u, v ) + γ P(u, v ) ⎥⎦
R(u, v ) = G (u, v ) − H (u, v ) Fˆ (u, v ) 1 r = MN 2
1 mη = MN 1 σ η2 = MN
M −1 N −1
2 r ∑∑ ( x, y )
x =0 y =0
M −1 N −1
∑∑η ( x, y ) x =0 y =0
M −1 N −1
∑∑ [η ( x, y ) − m ]
2
η
x =0 y =0
[
η = MN σ η2 − mη 2
For computing r
]
For computing η
2
2
Constrained Least Squares Filter: Example Original image
Use correct noise parameters
Blurred image Due to Turbulence
Use wrong noise parameters
Correct parameters: Initial γ = 10-5 Correction factor = 10-6 a = 0.25 ση2 = 10-5
Wrong noise parameter ση2 = 10-2
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Results obtained from constrained least square filters
Geometric Mean filter This filter represents a family of filters combined into a single expression 1−α
⎡ ⎤ α⎢ ⎥ * * ⎡ H ( u, v ) ⎤ ⎢ H ( u, v ) ⎥ ˆ F ( u, v ) = ⎢ ⎥ 2 ⎢ ⎡ Sη (u, v ) ⎤ ⎥ H ( u , v ) 2 ⎢⎣ ⎥⎦ ⎢ H (u, v ) + β ⎢ ⎥⎥ ⎢⎣ ⎣ S f (u, v ) ⎦ ⎥⎦
α = 1 Æ the inverse filter α = 0 Æ the Parametric Wiener filter α = 0, β = 1 Æ the standard Wiener filter β = 1, α < 0.5 Æ More like the inverse filter β = 1, α > 0.5 Æ More like the Wiener filter Another name: the spectrum equalization filter
G ( u, v )
Geometric Transformation These transformations are often called rubber-sheet transformations: Printing an image on a rubber sheet and then stretch this sheet according to some predefine set of rules.
A geometric transformation consists of 2 basic operations: 1. A spatial transformation : Define how pixels are to be rearranged in the spatially transformed image. 2. Gray level interpolation : Assign gray level values to pixels in the spatially transformed image.
Geometric Transformation : Algorithm ( x′, y ′)
( x, y )
Image f to be restored
1
3
Distorted image g
1. Select coordinate (x,y) in f to be restored 2. Compute 4. get pixel value at g ( x′, y ′) x′ = r ( x, y ) By gray level interpolation y ′ = s( x, y ) 5. store that value in pixel f(x,y) ′ ′ ( x , y ) 3. Go to pixel in a distorted image g 5
Spatial Transformation To map between pixel coordinate (x,y) of f and pixel coordinate (x’,y’) of g x′ = r ( x, y ) y ′ = s( x, y ) For a bilinear transformation mapping between a pair of Quadrilateral regions
x′ = r ( x, y ) = c1 x + c2 y + c3 xy + c4 y ′ = s( x, y ) = c5 x + c6 y + c7 xy + c8
( x′, y ′)
( x, y )
To obtain r(x,y) and s(x,y), we need to know 4 pairs of coordinates ( x, y ) and its corresponding ( x′, y ′) which are called tiepoints. (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Gray Level Interpolation: Nearest Neighbor Since ( x′, y ′) may not be at an integer coordinate, we need to Interpolate the value of g ( x′, y ′) Example interpolation methods that can be used: 1. Nearest neighbor selection 2. Bilinear interpolation 3. Bicubic interpolation
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Gray Level Interpolation: Bilinear interpolation
Geometric Distortion and Restoration Example Original image and tiepoints
Tiepoints of distorted image
Distorted image
Restored image Use nearest neighbor intepolation (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Geometric Distortion and Restoration Example (cont.) Original image and tiepoints
Tiepoints of distorted image
Distorted image
Restored image Use bilinear intepolation (Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.
Example: Geometric Restoration Original image
Geometrically distorted Image Use the same Spatial Trans (Bilinear). as in the previous example Restored image
Difference between 2 above images
(Images from Rafael C. Gonzalez and Richard E. Wood, Digital Image Processing, 2nd Edition.