实验五 图像复原(2)

2018-12-29 19:58

1. 图像复原和图像增强两者之间的区别。

图像复原又称为图像恢复,图像复原和图像增强一样,都是为了改善图像视觉效果,以及便于后续处理。只是图像增强方法更偏向主观判断,而图像恢复则是根据图像畸变或退化原因,进行模型化处理。 四、实验心得体会

通过这个实验,使我对图像复原和图像增强两者之间的区别有了更加清晰的认识;在实验过程中了解了维纳滤波的原理,功能以及在图像处理方面的应用。维纳滤波器是对噪声背景下的信号进行估计,它是最小均方误差准则下的最佳线性滤波器,在已知信噪比NSR参数的情况的维纳滤波复原效果有较大的改善。 五、源程序清单 %%

%1.用点扩散(PSF)函数创建运动模糊图像,修改参数改变模糊程度。 I=imread('cameraman.tif'); %读取图像 subplot(1,3,1); imshow(I,[]);%显示图像 title('原始图像');

PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 subplot(1,3,2);

imshow(Blurred,[]);title('无噪声运动模糊图像'); %显示无噪声运动模糊图像 Noise=0.05*randn(size(I)); %正态分布的随机噪声

BlurredNoisy=imadd(Blurred,im2uint8(Noise));%对退化后的图像附加噪声 subplot(1,3,3);

imshow(BlurredNoisy,[]);title('有噪声运动模糊图像'); %显示运动模糊且加噪声后图像 %%

%2.用维纳滤波复原函数deconvwnr 对模糊图像进行复原重建。 %a) 对无噪声运动模糊图像用deconvwnr(I,PSF)进行复原; I=imread('cameraman.tif'); %读取图像 subplot(1,3,1);imshow(I,[]); %显示图像 title('原始图像');

PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 subplot(1,3,2);imshow(Blurred,[]); %显示无噪声运动模糊图像 title('无噪声运动模糊图像');

WI1=deconvwnr(Blurred,PSF); %不带参数的维纳滤波(逆滤波)复原 subplot(1,3,3); imshow(WI1,[]); %显示逆滤波复原结果 title('逆滤波复原结果'); %%

%2.用维纳滤波复原函数deconvwnr 对模糊图像进行复原重建。

第 6 页 共 8 页

%b) 对有噪声运动模糊图像用deconvwnr(I,PSF)、deconvwnr(I,PSF,NSR)和deconvwnr(I,PSF,NCORR,ICORR)函数进行复原 I=imread('cameraman.tif'); %读取图像 subplot(2,3,1);imshow(I,[]); %显示图像 title('原始图像');

PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 Noise=0.05*randn(size(I)); %正态分布的随机噪声 BlurredNoisy=imadd(Blurred,im2uint8(Noise));%对退化后的图像附加噪声 subplot(2,3,2);imshow(BlurredNoisy,[]); %显示运动模糊且加噪声后图像 title('运动模糊且加噪声后图像');

WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原 subplot(2,3,3); imshow(WI1,[]); %显示逆滤波复原结果 title('逆滤波复原结果');

NSR=sum(Noise(:).^2)/sum(im2double(I(:)).^2);%计算噪信比 WI2=deconvwnr(BlurredNoisy,PSF,NSR); %带噪信比参数的维纳滤波复原 subplot(2,3,4);imshow(WI2,[]); %显示带噪信比参数维纳滤波复原结果 title('带噪信比参数维纳滤波复原结果'); NP=abs(fftn(Noise)).^2;

NCORR=real(ifftn(NP)); %计算噪声的自相关函数 IP=abs(fftn(im2double(I))).^2;

ICORR=real(ifftn(IP)); %计算信号的自相关函数

WI3=deconvwnr(BlurredNoisy,PSF,NCORR,ICORR); %带自相关函数的维纳滤波复原 subplot(2,3,5);imshow(WI3,[]); title('带自相关函数的维纳滤波复原'); %%

%%2.用维纳滤波复原函数deconvwnr 对模糊图像进行复原重建。

%c) 对有噪声运动模糊图像用deconvwnr(I,PSF)、deconvwnr(I,PSF,NSR)和deconvwnr(I,PSF,NCORR,ICORR)函数进行复原

I=imread('cameraman.tif'); %读取图像 subplot(1,3,1); imshow(I,[]);%显示图像 title('原始图像');

PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 Noise=0.05*randn(size(I)); %正态分布的随机噪声 BlurredNoisy=imadd(Blurred,im2uint8(Noise));%对退化后的图像附加噪声 subplot(1,3,2);

imshow(BlurredNoisy,[]); %显示运动模糊且加噪声后图像 title('运动模糊且加噪声后图像');

WI1=deconvwnr(BlurredNoisy,PSF); %不带参数的维纳滤波(逆滤波)复原 subplot(1,3,3);

imshow(WI1,[]); %显示逆滤波复原结果 title('逆滤波复原结果');

第 7 页 共 8 页

figure

NSR=sum(Noise(:).^2)/sum(im2double(I(:)).^2); %计算噪信比 WI2=deconvwnr(BlurredNoisy,PSF,NSR); %带噪信比参数的维纳滤波复原 subplot(2,3,1);

imshow(WI2,[]); %显示带噪信比参数维纳滤波复原结果 title('NSR取均值复原结果');

WI3=deconvwnr(BlurredNoisy,PSF,0.005); %噪信比取0.005参数的维纳滤波复原 subplot(2,3,2); imshow(WI3,[]);

title('NSR=0.005复原结果');

WI4=deconvwnr(BlurredNoisy,PSF,0.001); %带噪信比取0.002参数的维纳滤波复原 subplot(2,3,3);

imshow(WI4,[]); %显示带噪信比参数维纳滤波复原结果 title('NSR=0.001复原结果');

WI5=deconvwnr(BlurredNoisy,PSF,0.01); %带噪信比取0.01参数的维纳滤波复原 subplot(2,3,4);

imshow(WI5,[]); %显示复原结果 title('NSR=0.01复原结果');

WI6=deconvwnr(BlurredNoisy,PSF,0.05); %带噪信比取0.05参数的维纳滤波复原 subplot(2,3,5); imshow(WI6,[]);

title('NSR=0.05复原结果');

WI7=deconvwnr(BlurredNoisy,PSF,0.1); %带噪信比取0.1参数的维纳滤波复原 subplot(2,3,6);

imshow(WI7,[]); %显示复原结果 title('KNS=0.1复原结果');

第 8 页 共 8 页


实验五 图像复原(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑工程管理及施工质量提升的有效措施 - 0

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: