Starting from:

$39.99

ECE4580 Project Assignment #1 Solution



Frequency-domain Filtering for Motion Deblurring

The degradation function of motion blur can be mathematically modeled in the frequency domain as follows:

H(u,v) =p (uaT+vb)sin[p(ua+vb)]e- jp(ua+vb), (1)

when uniform linear motion at a rate given by x t0( ) = at T/ and y t0( ) = bt T/ is assumed. (Note that H(u,v) = T if ua + vb = 0, a special case of H(u,v) in Eq. (1).)

(1) Simulate the motion burring effect using Equation (1), where the motion parameters are a = 0.1, b = 0.1 and T = 1. Then, add in some Gaussian noise to the blurred image; the Gaussian noise is of zero mean and variance of different value (e.g., 650, 65 and 0.0065) to simulate the following cases, respectively: “heavily corrupted”, “medium corrupted” and “lightly corrupted” (see Fig. 1 for an example).

(2) Implement your own (i) pseudo-inverse filter & (ii) Wiener filter, and apply them to the noise corrupted, blurred images as generated in (1). Show the corrupted, blurred images, and the restored images from the pseudo-inverse & Wiener filtering techniques, respectively.

(3) Compare the results obtained from two filtering techniques quantitively. Specifically, calculate the mean-squared error (MSE) and signal-to-noise ratio (SNR in dB) as defined below:

𝑀−1𝑁−1
1 2
𝑀𝑆𝐸 = ∑ ∑[𝑓̂(𝑥, 𝑦) − 𝑓(𝑥, 𝑦)]
𝑀𝑁
𝑥=0 𝑦=0

1 𝑆𝑁𝑅 (𝑖𝑛 𝑑𝐵) = 10𝑙𝑜𝑔

where 𝑓(𝑥, 𝑦) is the original (noiseless & undegraded) image and 𝑓̂(𝑥, 𝑦) is the restored image.

IMPORTANT: DO NOT use MATLAB built-in functions imfilter() and deconvwnr() in this project. This project is designed for you to learn the filtering techniques in the frequency domain.


You shall hand in a project report describing your approach, experimental results and discussions, along with your implementation codes.







Fig. 1. An example of motion deblurring using the Wiener filtering technique. Note that the results from the inverse filtering technique are also shown for comparison.
2

More products