-
Home
- 1-d motion image deblurring with
- 1-d motion image deblurring with
- Image deblur
Image Deblur
Image Resizing
Before implement the deblurring, we resize the blurred image B by mk to
compensate for the difference between blur size k and code length m. Inthe resized image, the blur size is m instead of k.
Frequency Domain Deblur
-
Coded: We obtain the frequency response of the filter H(k)
and the frequency content of the blurred image B(k) through DFT. Thesystem can be represented in frequency domain as
where
and
are the
of the j-th
column of the blurred image and the original image, respectively.
represents the noise. We divide
by
to
obtain
. We then took the inverse
of
to obtain the recovered image.
-
Boxcar: We use almost the same frequency domain deblur
approach as used for the coded filter. The primary difference betweenthe two approaches is the following: the frequency response of a
boxcar filter is a sinc function, which contains zeros at certainpoints. We added a small number to the zeros to avoid division-by-zero
problems. So
in this case is a slightly modified version of
the
used for the coded filter.
Time Domain Deblur
-
Coded: We first generate a circulant matrix whose
characteristic vector contains the code sequence. Then we kick out thewrap-around part of the circulant matrix and take only the left n
columns, which construct the foreground smear matrix
whose length matches that of the blurred image
. Then we
concatenate
with the background contribution vectors to
generate the matrix
for the linear system
, where
is the blurred image and
is the original image. Then we
use least square estimation to find the solution for this system,which gives the deblurred image
, the estimate of
.
Background contribution vectors are
, where
is the length of the original image. The first m elements in
account for the background contribution at the top of the
blurred image, and the last m elements account for that at the bottom.Thus we generate two vectors of length
. The first m
elements of the first vector are the first m elements in
,
and the last m elements of the second vectorare the last m elements in
. The rest elements of the two vectors are all zeros. These
two vectors are then concatenated to
to generate the smear
matrix
.
-
Boxcar: We use basically the same approach as used in time domain deblurring,
except that we use the 52-length boxcar as the characteristic vector ofthe matrix
.
Over-exposure Compensation:
The deblurred image might have some element values above 1 or below 0.
We set all the values below 0 to 0 and all above 1 to 1.
Source:
OpenStax, 1-d motion image deblurring with flutter shutter. OpenStax CNX. Dec 16, 2015 Download for free at http://legacy.cnx.org/content/col11936/1.3
Google Play and the Google Play logo are trademarks of Google Inc.