📄 peform_wiener_filtering.m.svn-base
字号:
function [y,Hwien] = peform_wiener_filtering(x0,x,sigma)% peform_wiener_filtering - perform Wiener filtering%% [y,Hwien] = peform_wiener_filtering(x0,x,sigma);%% x0 is the original (clean) image% x is the noisy image% sigma is the noise level.%% Copyright (c) 2008 Gabriel Peyren = prod(size(x));if nb_dims(x)==1 % FFT-based wiener filtering (using the oracle fourier coefficients) x0f = fft(x0); Pxf = abs(x0f).^2; % power spectra Hf = Pxf./(Pxf + n*sigma^2); % filter fourier transform % compute convolution xf = fft(x); y = real( ifft(xf.*Hf) ); if nargout>1 Hwien = real( fftshift( ifft(Hf) ) ); endelse % FFT-based wiener filtering (using the oracle fourier coefficients) x0f = fft2(x0); Pxf = abs(x0f).^2; % power spectra Hf = Pxf./(Pxf + n*sigma^2); % filter fourier transform % compute convolution xf = fft2(x); y = real( ifft2(xf.*Hf) ); if nargout>1 Hwien = real( fftshift( ifft2(Hf) ) ); endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -