cvdisttransform.m

来自「guide and some example with visualC++」· M 代码 · 共 53 行

M
53
字号
function varargout = cvdisttransform(varargin)
%CVDISTTRANSFORM     Calculate distance transform of binary image
%   IMAGE dst = cvDistTransform(IMAGE src, dist, maskSize);
%   src      - source image
%   dist     - 'l1' | {'l2'} | 'c' | 'l12' | 'fair' | 'welsch'
%   maskSize - {3} | 5
%
%   dst - destination image
%
%   IMAGE dst = cvDistTransform(IMAGE src, dist);
%   src      - source image
%   dist     - array of 2 (for 3x3 mask) or 3 numbers (for 5x5 mask)
%              that characterizes metric
%
%   dst - destination image

if nargin < 1 | nargin > 3
    error 'Invalid number of parameters';
    return;
end

if nargin > 1
    if ischar(varargin{2})
		dist_t = {'l1', 'l2', 'c', 'l12', 'fair', 'welsch'};
		dist_i = [1, 2, 3, 4, 5, 6];
        idx = strmatch(varargin{2}, dist_t, 'exact');
        if isempty(idx)
            error 'Invalid parameter ''dist''';
            return;
		end
        varargin{2} = dist_i(idx(1));
    end
else
    varargin{2} = 2; % default 'l2'
end

if nargin < 3
    varargin{3} = 3; % default maskSize
end

out = nargout;
if out < 1
    out = 1;
end

if out > 1
    error 'Too many output parameters'
    return;
end;

[varargout{1:out}] = feval('cvwrap', 'DistTransform', varargin{:});

return;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?