1 function varargout = cvcontourperimeter(varargin)
\r
2 %CVCONTOURPERIMETER Calculate contour perimeter.
\r
3 % perimeter = cvContourPerimeter(contour);
\r
4 % contour - m by 2 matrix of contour's points
\r
6 % perimeter = cvContourPerimeter(contour, slice);
\r
7 % contour - m by 2 matrix of contour's points
\r
8 % slice - [startIdx endIdx]
\r
10 if nargin < 1 | nargin > 2
\r
11 error 'Invalid number of parameters';
\r
15 contSize = size(varargin{1});
\r
16 if ~isnumeric(varargin{1}) | ndims(varargin{1}) ~= 2 | ...
\r
17 contSize(1) < 1 | contSize(2) ~= 2
\r
18 error 'Invalid parameter ''contour''';
\r
23 sliceSize = size(varargin{2});
\r
24 if ~isnumeric(varargin{2}) | ndims(varargin{2}) ~= 2 | ...
\r
25 sliceSize(1) ~= 1 | sliceSize(2) ~= 2
\r
26 error 'Invalid parameter ''slice''';
\r
30 % default: whole contour
\r
31 varargin{2} = [1 contSize(1)+1];
\r
35 [varargout{1:nargout}] = feval('cvwrap', 'ContourPerimeter', varargin{:});
\r
37 feval('cvwrap', 'ContourPerimeter', varargin{:});
\r