The blurring, or degradation, of an image can be caused by many factors:
Movement during the image capture process, by the camera or, when long exposure times are used, by the subject
Out-of-focus optics, use of a wide-angle lens, atmospheric turbulence, or a short exposure time, which reduces the number of photons captured
Scattered light distortion in confocal microscopy
A blurred or degraded image can be approximately described by this equation g = Hf + n, where
The blurred image
The distortion operator, also called the point spread function (PSF). In the spatial domain, the PSF describes the degree to which an optical system blurs (spreads) a point of light. The PSF is the inverse Fourier transform of the optical transfer function (OTF). In the frequency domain, the OTF describes the response of a linear, position-invariant system to an impulse. The OTF is the Fourier transform of the point spread function (PSF). The distortion operator, when convolved with the image, creates the distortion. Distortion caused by a point spread function is just one type of distortion.
The original true image
Additive noise, introduced during image acquisition, that corrupts the image
Note The image f really doesn't exist. This image represents what you would have if you had perfect image acquisition conditions.
Based on this model, the fundamental task of deblurring is to deconvolve the blurred image with the PSF that exactly describes the distortion. Deconvolution is the process of reversing the effect of convolution.
Note The quality of the deblurred image is mainly determined by knowledge of the PSF.
To illustrate, this example takes a clear image and deliberately
blurs it by convolving it with a PSF. The example uses the
to create a PSF that simulates a motion blur, specifying the length
of the blur in pixels, (
LEN=31), and the angle
of the blur in degrees (
THETA=11). Once the PSF
is created, the example uses the
to convolve the PSF with the original image,
to create the blurred image,
Blurred. (To see how
deblurring is the reverse of this process, using the same images,
see Deblurring with the Wiener Filter.)
I = imread('peppers.png'); I = I(60+[1:256],222+[1:256],:); % crop the image figure; imshow(I); title('Original Image');
LEN = 31; THETA = 11; PSF = fspecial('motion',LEN,THETA); % create PSF Blurred = imfilter(I,PSF,'circular','conv'); figure; imshow(Blurred); title('Blurred Image');
Implements a least squares solution. You should provide some information about the noise to reduce possible noise amplification during deblurring. See Deblurring with the Wiener Filter for more information.
Implements a constrained least squares solution, where you can place constraints on the output image (the smoothness requirement is the default). You should provide some information about the noise to reduce possible noise amplification during deblurring. See Deblurring with a Regularized Filter for more information.
Implements an accelerated, damped Lucy-Richardson algorithm. This function performs multiple iterations, using optimization techniques and Poisson statistics. You do not need to provide information about the additive noise in the corrupted image. See Deblurring with the Lucy-Richardson Algorithm for more information.
Implements the blind deconvolution algorithm, which
performs deblurring without knowledge of the PSF. You pass as an argument
your initial guess at the PSF. The
When using the deblurring functions, note the following:
Deblurring is an iterative process. You might need to repeat the deblurring process multiple times, varying the parameters you specify to the deblurring functions with each iteration, until you achieve an image that, based on the limits of your information, is the best approximation of the original scene. Along the way, you must make numerous judgments about whether newly uncovered features in the image are features of the original scene or simply artifacts of the deblurring process.
To avoid "ringing" in a deblurred image, you can use
edgetaper function to preprocess your image
before passing it to the deblurring functions. See Avoiding Ringing in Deblurred Images for more information.
For information about creating your own deblurring functions, see Creating Your Own Deblurring Functions.