📄 filter_meanblur.m
字号:
function varargout = filter_meanblur(varargin)
if nargin == 0
p1 = struct( ...
'Name', 'Blur radius (in pixel)', ...
'Style', 'integer', ...
'DefaultValue', 3, ...
'Max', 64, ...
'Min', 1, ...
'LargeStep', 8, ...
'SmallStep', 1);
p2 = struct( ...
'Name', 'Transparency', ...
'Style', 'single', ...
'DefaultValue', 1, ...
'Max', 1, ...
'Min', 0, ...
'LargeStep', 1 / 10, ...
'SmallStep', 1 / 100);
% p3 = struct( ...
% 'Name', 'Parameter_Check', ...
% 'Style', 'check', ...
% 'DefaultValue', 1);
p3 = struct( ...
'Name', 'Blur method', ...
'Style', 'popup', ...
'DefaultValue', 1, ...
'Items', { {'Averaging', 'Circular averaging'} } );
P = struct( ...
'FilterName', 'Mean blur', ...
'AvailableImageType', [0 0 0 1 1], ...
'Class', 'blur&sharpen', ...
'ParameterNumber', 3, ...
'Parameters', { {p1, p2, p3} });
varargout{1} = P;
else
CX = varargin{1};
FUNPARA = varargin{2};
switch FUNPARA{3}
case 1
varargout{1} = imlincomb(1 - FUNPARA{2}, CX, ...
FUNPARA{2}, imfilter(CX, ...
fspecial('average', FUNPARA{1}), 'replicate' ) );
case 2
varargout{1} = imlincomb(1 - FUNPARA{2}, CX, ...
FUNPARA{2}, imfilter(CX, ...
fspecial('disk', FUNPARA{1}), 'replicate' ) );
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -