?? ch8_4_2.m
字號:
%%%%%%%%%%%%%%%%%%%%維納濾波
%用真實的PSF函數采用維納濾波方法復原圖像
wnr1 = deconvwnr(Blurred1,PSF1);
wnr2 = deconvwnr(Blurred2,PSF2);
subplot(1,2,1);imshow(wnr1);
title('Restored1, True PSF');
subplot(1,2,2);imshow(wnr2);
title('Restored2, True PSF');
%采用過大的模糊距離參數和過大的模糊運動方向角度參數
wnr3 = deconvwnr(Blurred1,fspecial('motion',2*LEN,THETA));
wnr4 = deconvwnr(Blurred1,fspecial('motion',LEN,2*THETA));
figure;
subplot(1,2,1);imshow(wnr3);
title('Restored3, "Long" PSF');
subplot(1,2,2);imshow(wnr4);
title('Restored4, Steep');
%不考慮噪聲的影響,采用逆濾波方法復原圖像
wnr5 = deconvwnr(BlurredNoisy1,PSF1);
wnr6 = deconvwnr(BlurredNoisy2,PSF2);
figure;
subplot(1,2,1);imshow(wnr5);
title('Inverse Filtering of BlurredNoisy1');
subplot(1,2,2);imshow(wnr6);
title('Inverse Filtering of BlurredNoisy2');
%估計信噪比,應用于圖像復原過程中
NSR = sum((V*prod(size(I))).^2) / sum(im2double(I(:)).^2);%信噪比的倒數
wnr7 = deconvwnr(BlurredNoisy1,PSF1,NSR);
wnr8 = deconvwnr(BlurredNoisy2,PSF2,NSR);
figure;
subplot(1,2,1);imshow(wnr7);
title('Restored1 with NSR');
subplot(1,2,2);imshow(wnr8);
title('Restored2 with NSR');
%采用過小的噪信比(即過大的信噪比)作為參數
wnr9 = deconvwnr(BlurredNoisy1,PSF1,NSR/100);
wnr10 = deconvwnr(BlurredNoisy2,PSF2,NSR/100);
figure;
subplot(1,2,1);imshow(wnr9);
title('Restored1 with NSR/100');
subplot(1,2,2);imshow(wnr10);
title('Restored2 with NSR/100');
%提供信號的自相關函數ICORR和噪聲的自相關函數NCORR
NP=(V*prod(size(I))).^2;
NPOW = sum(NP(:))/prod(size(I)); % 噪聲功率
NCORR = fftshift(real(ifftn(NP))); % 噪聲自相關函數(ACF)
IP = abs(fftn(im2double(I))).^2;
IPOW = sum(IP(:))/prod(size(I)); % 原始圖像的功率
ICORR = fftshift(real(ifftn(IP))); % 圖像自相關函數(ACF)
wnr11 = deconvwnr(BlurredNoisy1,PSF1,NCORR,ICORR);
wnr12 = deconvwnr(BlurredNoisy2,PSF2,NCORR,ICORR);
figure;
subplot(1,2,1);imshow(wnr11);
title('Restored1 with ACF');
subplot(1,2,2);imshow(wnr12);
title('Restored2 with ACF');
%僅已知噪聲的功率NPOW和真實圖像的1-D自相關函數ICORR
ICORR1 = ICORR(:,ceil(size(I,1)/2));
wnr13 = deconvwnr(BlurredNoisy1,PSF1,NPOW,ICORR1);
wnr14 = deconvwnr(BlurredNoisy2,PSF2,NPOW,ICORR1);
figure;
subplot(1,2,1);imshow(wnr13);
title('Restored1 with NP & 1D-ACF');
subplot(1,2,2);imshow(wnr14);
title('Restored2 with NP & 1D-ACF');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -