简体   繁体   中英

What kind of noise is present in this image and how do I remove it?

My task was to deblur a image. I used Weiner Filter and got this kind of image. Is it possible to improve it further?

影像去模糊

Here is my code:

I = im2double(imread('Demo4_b.jpg'));
imshow(I);
title('Original Image');

LEN = 21;
THETA = 11;
PSF = fspecial('motion', LEN, THETA);

estimated_nsr = 0;
wnr2 = deconvwnr(I, PSF, estimated_nsr);
figure, imshow(wnr2)
title('Restoration of Blurred, Noisy Image Using NSR = 0')

estimated_nsr = noise_var / var(I(:));
wnr3 = deconvwnr(I, PSF, estimated_nsr);
figure, imshow(wnr3)
title('Restoration of Blurred, Noisy Image Using Estimated NSR');

I am getting same output in both with NSR and without NSR cases. Here is my original image: 原始图片

You use the motion kernel from the matlab example. The image, however, looks more like it was smoothed with a gaussian kernel. That is the reason you're getting the wobbly lines.

Try this:

I = im2double(imread('a.jpg'));
imshow(I);
title('Original Image');


PSF = fspecial('gaussian', [51 51], 5);
wnr2 = deconvwnr(blurred, PSF, 0.0003 / var(I(:)));
figure, imshow(wnr2)
title('Restoration of Blurred, Noisy Image Using NSR = 0')

You can still tune it with the two parameters (5 and 0.0003)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM