peform_wiener_filtering.m.svn-base
来自「signal procesing toolbox」· SVN-BASE 代码 · 共 39 行
SVN-BASE
39 行
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 + =
减小字号Ctrl + -
显示快捷键?