Asad Irfan
Asad Irfan

Reputation: 131

How to Deconvolve the Convolved Samples of an Image?

I have written the following code in order to convolve an image first

% Convoluton and deconvolution

 % Firstly convultion
 a = imread('duas.jpg');
 subplot(231);
 imshow(a)
 b = rgb2gray(a);
 subplot(232);
 imshow(b);

 % convolving with h, High Pass filter now

 h = [1 2 1; 1 2 1];
 c = conv2(b,h);
 subplot(233);
 imshow(c);

Now I need to deconvolve it , what to do ? I think I should get the original image using it ?

Upvotes: 0

Views: 808

Answers (1)

Royi
Royi

Reputation: 4963

You can use MATLAB's Wiener Filter and use Noise Std of zero.

Deconvolution is usually done in the frequency domain. I'll illustrate the steps to do direct Deconvolution (Which coincide with Wiener Filter for zero noise).
I assume Deconvolution (As opposed to Blind Deconvolution) where the applied filter is given:

  1. Apply FFT on the filtered image.
  2. Add zeros at the end of LPF filter in the Spatial Domain to have the same size as the image.
  3. Apply FFT on this Filter Matrix.
  4. Divide point by point the image by the filter.
    If the filter has zero values set the output to be zero.
  5. Apply IFFT on the output image.

Good Luck.

Upvotes: 2

Related Questions