Move the sources to trunk
[opencv] / interfaces / matlab / toolbox / opencv / cvfindcontours.m
1 function varargout = cvfindcontours(varargin)\r
2 %CVFINDCONTOURS      Find contours on binary image.\r
3 %   SEQARRAY dst = cvFindContours(IMAGE src, mode, method);\r
4 %   mode:\r
5 %     'external'\r
6 %    {'list'}\r
7 %     'ccomp'\r
8 %     'tree'\r
9 %   method:\r
10 %     'none'\r
11 %    {'simple'}\r
12 %     'tc89_l1'\r
13 %     'tc89_kcos'\r
14 \r
15 if nargin < 1 | nargin > 3\r
16     error 'Invalid number of parameters';\r
17     return;\r
18 end\r
19 \r
20 if nargin > 1 \r
21     if ~ischar(varargin{2})\r
22         error 'Invalid parameter ''mode''';\r
23         return;\r
24     end;\r
25         mode_t = {'external', 'list', 'ccomp', 'tree'};\r
26         mode_i = [0, 1, 2, 3];\r
27     idx = strmatch(varargin{2}, mode_t, 'exact');\r
28     if isempty(idx)\r
29         error 'Invalid parameter ''mode''';\r
30         return;\r
31         end\r
32     varargin{2} = mode_i(idx(1));\r
33 else\r
34     % default\r
35     varargin{2} = 1;\r
36 end % mode\r
37 \r
38 if nargin > 2 \r
39     if ~ischar(varargin{3})\r
40         error 'Invalid parameter ''method''';\r
41         return;\r
42     end;\r
43         method_t = {'none', 'simple', 'tc89_l1', 'tc89_kcos'};\r
44         method_i = [1, 2, 3, 4];\r
45     idx = strmatch(varargin{3}, method_t, 'exact');\r
46     if isempty(idx)\r
47         error 'Invalid parameter ''method''';\r
48         return;\r
49         end\r
50     varargin{3} = method_i(idx(1));\r
51 else\r
52     % default\r
53     varargin{3} = 2;\r
54 end % method\r
55 \r
56 if nargout > 0\r
57     [varargout{1:nargout}] = feval('cvwrap', 'FindContours', varargin{:});\r
58 else\r
59     feval('cvwrap', 'FindContours', varargin{:});\r
60 end\r
61 return;