2016-11-06 6 views
0

空間領域のimnoiseから伝達関数 'motion'を使用しました。 これを周波数領域でデコンボリューションしようとしましたが、動作しません!! 私のコードはここにある:MATLABでの逆フィルタの問題による画像の再構成

clc 
close all 
clear 

display('Welcome to wiener and invert reconstruction image ...'); 

path = input('Enter pictures path:','s'); 
info=imfinfo(path); 
resolution=info.Width*info.Height; 
i=imread(path); 

if strcmpi(info.ColorType,'truecolor') 
    i=rgb2gray(i); 
end 

psf=fspecial('motion',70,45); 
f=imfilter(single(i),psf); 

%f=imnoise(f,'gaussian',0,0.001); 

%invert filtering 
PQ=paddingsize([info.Height info.Width],'pwr'); 
F=fft2( single(f) ,PQ(1),PQ(2) ); 
PSF=fft2( psf ,PQ(1),PQ(2) ); 
Fhat=F./PSF; 
fhat=ifft2(Fhat); 
imshow(fhat(1:info.Height,1:info.Width)); 

答えて