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 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验五 图像复原(2)在线全文阅读。
相关推荐: