← Back to Index

04 – Image Restoration

Degradation models, inverse filtering, and Wiener deconvolution

1 · Original Image

data/image.jpg (resized to 256×256)

2 · Degradation Examples

Gaussian Blur

3
Gaussian Kernel
Blurred Image

Motion Blur

15
Motion Kernel
Motion-Blurred Image

Additive Gaussian Noise

25
Noise Pattern
Noisy Image

Downsampling

4
Original
Downsampled

3 · Inverse Filter Deblurring

Naive inverse filtering divides by H(u,v) in the frequency domain. Near-zero values of H amplify noise catastrophically.

Ĝ(u,v) = F(u,v) / H(u,v)
3
Blurred
|FT(Blurred)|
|FT(H)|
|FT(Deblurred)|
Deblurred

4 · Wiener Filter Deblurring

The Wiener filter balances deconvolution with noise suppression using a regularisation parameter K.

W(u,v) = H*(u,v) / (|H(u,v)|² + K)
3
0.01
Blurred
|FT(Blurred)|
|FT(Wiener)|
|FT(Deblurred)|
Deblurred

5 · Motion Blur Wiener Deblurring

Restore a motion-blurred image by estimating the motion angle, blur length, and noise ratio. Loaded from data/image_ivy.jpg.

0
20
0.01
Motion-Blurred Input
Wiener Deblurred

Made with ❤️ by Mark Žnidar