Hi all,
I am dinesh, working on the restoration of
the motion blur due to fast moving of object.
i have one doubt, if i want to deblur a
blurred image, why i need to add some
additive noise to recover them.
in addition to that why the deconvolution
algorithm requires the simulating of
motion blur to restore the deblurred image.
pdaraja wrote:
Hi all,
I am dinesh, working on the restoration of
the motion blur due to fast moving of object.
i have one doubt, if i want to deblur a
blurred image, why i need to add some
additive noise to recover them.
You first need to understand how
deconvolution works. Assume a model of the
blurring process:
Input(s) * Blur(s) = Output(s)
where s is the space domain
* is convolution
and Input(s) is the original
unblurred image
Transform into the frequency domain
Input(f) x Blur(f) = Output(f)
where f is the frequency domain
and x is simple multiplication
Now rearrange:
Input(f) = Output(f) / Blur(f)
where / is simple division
Note that where the denominator is zero, the
division will introduce infinities.
Infinities are bad, and represent lost
information; there is no possible way to
recover it.
So, you have to introduce a "fiddle factor"
to produce a usable result, be it one that
contains artifacts. One way to do this is
to introduce additive noise. There are
other ways.
in addition to that why the deconvolution
algorithm requires the simulating of
motion blur to restore the deblurred image.
It does not. However, you do need to
estimate the blurring function, Blur(s).
For constant velocity blur typically this
would be its direction and length.
--
thank you so much martin. i am not getting the clarity on the below comments.
examine what would have been point sources
in the unblurred image. These are blurred
to lines (with a length and direction)."
pdaraja wrote:
On Thursday, October 27, 2016 at 10:35:22 PM UTC+5:30, Martin Leese wrote:...
pdaraja wrote:
in addition to that why the deconvolution
algorithm requires the simulating of
motion blur to restore the deblurred image.
It does not. However, you do need to
estimate the blurring function, Blur(s).
For constant velocity blur typically this
would be its direction and length.
thank you so much martin.
i have one big doubt, if i have a blurred
image as a input, how can i determine blur
kernel and how can i restore it as
deblurred.
How you determine Blur(s) depends on the
type of blur. If the motion is at constant
velocity then you just need its direction
and length. One way to do this is to
examine what would have been point sources
in the unblurred image. These are blurred
to lines (with a length and direction).
You can then restore the image by applying
the deconvolution algorithm, making sure to
do something about the infinities.
--
One way to do this is to
examine what would have been point sources
in the unblurred image. These are blurred
to lines (with a length and direction).
The blur function, Blur(s), is also called
the point spread function. It is the result,
in the space domain, of what would be
produced from the blurring of a single point
source in the centre of the image.
For constant velocity motion, a point source
is blurred to a straight line. So, in this
case, the function Blur(s) is the image of a
single straight line which begins in the
centre of the image. A good way to estimate
the length and direction of the required
straight line is to examine what happens to
naturally occurring point sources in the
original unblurred image.
average result(not clear) .The blur function, Blur(s), is also calledthanks for your reply.
the point spread function. It is the result,
in the space domain, of what would be
produced from the blurring of a single point
source in the centre of the image.
For constant velocity motion, a point source
is blurred to a straight line. So, in this
case, the function Blur(s) is the image of a
single straight line which begins in the
centre of the image. A good way to estimate
the length and direction of the required
straight line is to examine what happens to
naturally occurring point sources in the
original unblurred image.
i have tried wiener filter as well as blind deconvolution method to deblur the image.
in the first case(wiener filter)i have given the artificial motion blurred image as a input. then i have assigned the point spread function as motion(length, direction). then there is a deconvolution output with the minimal accuracy.
in second case, i have given the same input to blind deconvolution. but here we need to specify the initial size of PSF(blur kernel.."that i don't know how to assign the size of PSF in matlab"). then after the desired iteration, it will give the
hence i have understood that PSF is very important factor to deblur any image. can you help me hoe to find the blur kernel of the blurred image(input)
On Thursday, October 27, 2016 at 10:35:22 PM UTC+5:30, Martin Leese wrote:...
pdaraja wrote:
in addition to that why the deconvolution
algorithm requires the simulating of
motion blur to restore the deblurred image.
It does not. However, you do need to
estimate the blurring function, Blur(s).
For constant velocity blur typically this
would be its direction and length.
thank you so much martin.
i have one big doubt, if i have a blurred
image as a input, how can i determine blur
kernel and how can i restore it as
deblurred.
On Monday, October 31, 2016 at 8:50:47 PM UTC+5:30, Martin Leese wrote:
How you determine Blur(s) depends on the
type of blur. If the motion is at constant
velocity then you just need its direction
and length. One way to do this is to
examine what would have been point sources
in the unblurred image. These are blurred
to lines (with a length and direction).
thank you so much martin. i am not getting
the clarity on the above comments. please
acknowledge me..
I have
never used MATLAB
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 376 |
Nodes: | 16 (3 / 13) |
Uptime: | 25:28:35 |
Calls: | 8,036 |
Calls today: | 6 |
Files: | 13,034 |
Messages: | 5,829,274 |