1 function varargout = cvdisttransform(varargin)
\r
2 %CVDISTTRANSFORM Calculate distance transform of binary image
\r
3 % IMAGE dst = cvDistTransform(IMAGE src, dist, maskSize);
\r
5 % dist - 'l1' | {'l2'} | 'c' | 'l12' | 'fair' | 'welsch'
\r
8 % dst - destination image
\r
10 % IMAGE dst = cvDistTransform(IMAGE src, dist);
\r
11 % src - source image
\r
12 % dist - array of 2 (for 3x3 mask) or 3 numbers (for 5x5 mask)
\r
13 % that characterizes metric
\r
15 % dst - destination image
\r
17 if nargin < 1 | nargin > 3
\r
18 error 'Invalid number of parameters';
\r
23 if ischar(varargin{2})
\r
24 dist_t = {'l1', 'l2', 'c', 'l12', 'fair', 'welsch'};
\r
25 dist_i = [1, 2, 3, 4, 5, 6];
\r
26 idx = strmatch(varargin{2}, dist_t, 'exact');
\r
28 error 'Invalid parameter ''dist''';
\r
31 varargin{2} = dist_i(idx(1));
\r
34 varargin{2} = 2; % default 'l2'
\r
38 varargin{3} = 3; % default maskSize
\r
47 error 'Too many output parameters'
\r
51 [varargout{1:out}] = feval('cvwrap', 'DistTransform', varargin{:});
\r