c55f5753276a2945523baa93e638d05202e868ac
[opencv] / interfaces / matlab / toolbox / opencv / cvcontourperimeter.m
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
5 %\r
6 %   perimeter = cvContourPerimeter(contour, slice);\r
7 %   contour - m by 2 matrix of contour's points\r
8 %   slice   - [startIdx endIdx]\r
9 \r
10 if nargin < 1 | nargin > 2\r
11     error 'Invalid number of parameters';\r
12     return;\r
13 end\r
14 \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
19     return;\r
20 end;\r
21 \r
22 if nargin > 1\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
27         return;\r
28         end;    \r
29 else\r
30     % default: whole contour\r
31     varargin{2} = [1 contSize(1)+1];\r
32 end;\r
33 \r
34 if nargout > 0\r
35     [varargout{1:nargout}] = feval('cvwrap', 'ContourPerimeter', varargin{:});\r
36 else\r
37     feval('cvwrap', 'ContourPerimeter', varargin{:});\r
38 end\r
39 return;