图像的退化和复原


图像的退化和复原

im=imread('board.bmp');

subplot(2,3,1);

imshow(im,[]);

title('图a原始的未退化图像');

length=28;

theta=45;

h=fspecial('motion',length,theta);

imBlur=imfilter(im,h,'circular','conv');

subplot(2,3,2);

imshow(imBlur,[]);

title('图b运动模糊图像');

mu = 0;

sigma2 = 0.001;

imZeros = zeros(size(im));

noise = imnoise(imZeros,'gaussian',mu,sigma2);

subplot(2,3,3);

imshow(noise,[]);

title('图c高斯噪声图像');

imBlur=im2double(imBlur);%将imBlur转换成和noise一样的数据类型

imNoisedBlur=noise + imBlur;

subplot(2,3,4);

imshow(imNoisedBlur,[]);

title('图d高斯噪声+运动模糊图像');

imDeblur1 = deconvwnr(imNoisedBlur,h);

subplot(2,3,5);

imshow(imDeblur1,[]);

title('图e直接逆滤波的复原图像');

K=sum(noise(:).^2)/sum(im2double(im(:)).^2);%计算信噪比

imDeblur2 = deconvwnr(imNoisedBlur,h,K);

subplot(2,3,6);

imshow(imDeblur2,[]);

title('图f维纳滤波的复原图像');


结果图

图像的退化和复原_第1张图片

你可能感兴趣的:(图形图像处理)