📄 filter_wiener.m
字号:
function varargout = filter_wiener(varargin)
if nargin == 0
p1 = struct( ...
'Name', 'Neighborhood size', ...
'Style', 'integer', ...
'DefaultValue', 3, ...
'Max', 64, ...
'Min', 2, ...
'LargeStep', 8, ...
'SmallStep', 1);
p2 = struct( ...
'Name', 'Noise power', ...
'Style', 'single', ...
'DefaultValue', 0.01, ...
'Max', 0.1, ...
'Min', 0.001, ...
'LargeStep', 0.01, ...
'SmallStep', 0.005);
p3 = struct( ...
'Name', 'Parameter_Check', ...
'Style', 'check', ...
'DefaultValue', 1);
P = struct( ...
'FilterName', 'Wiener de-noise', ...
'Class', 'noise', ...
'AvailableImageType', [0 0 0 1 1], ...
'ParameterNumber', 2, ...
'Parameters', { {p1, p2} });
varargout{1} = P;
else
CX = varargin{1};
FUNPARA = varargin{2};
if isrgb(CX)
varargout{1} = cat(3, ...
wiener2(CX(:, :, 1), [FUNPARA{1} FUNPARA{1}], FUNPARA{2} ), ...
wiener2(CX(:, :, 2), [FUNPARA{1} FUNPARA{1}], FUNPARA{2} ), ...
wiener2(CX(:, :, 3), [FUNPARA{1} FUNPARA{1}], FUNPARA{2} ) );
else
varargout{1} = wiener2(CX, [FUNPARA{1} FUNPARA{1}], FUNPARA{2} );
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -