%閱讀原始圖像%
長格式
模糊=imread('fig525(b)。BMP’);
支線劇情(1,2,1);imshow(模糊);標題(“原圖”);
%自行設計的維納濾波函數%
k = 0.0025
[m,n]=大小(模糊);
頻譜=零點(m,n);
h =零(m,n);
對於u=1:m
對於v=1:n
h(u,v)=exp(-k*((u-m/2)^2+(v-n/2)^2)^(5/6));
spectrum(u,v)=h(u,v)^2;
結束
結束
f=double(模糊);
f 1 = FFT shift(FFT 2(f));
HW=H./(頻譜+0.001);
restore1=HW。* f 1;
restored = real(IFFT 2(IFFT shift(restore 1)));
支線劇情(1,2,2);imshow(已還原,[]);題目(‘自帶函數的維納濾波’);
%調用matlab%提供的維納濾波函數
圖;
HW 1 = real(IFFT 2(IFFT shift(H)));%進入空域。
結果1=deconvwnr(模糊,hw1,0.001);
result 2 = IFFT shift(result 1);%然後轉到圖像進行1,3象限交換,2和4象限交換。
支線劇情(1,2,1);imshow(結果2,[]);Title('調用維納濾波函數');