Move the sources to trunk
[opencv] / interfaces / matlab / toolbox / opencv / cvadaptivethreshold.m
1 function varargout = cvadaptivethreshold(varargin)\r
2 %CVADAPTIVETHRESHOLD Apply adaptive threshold\r
3 %   IMAGE dst = cvAdaptiveThreshold(IMAGE src,\r
4 %     DOUBLE maxVal, type, neighborhoodSize, minVariance);\r
5 %   src              - source image\r
6 %   maxValue         - the maximum value of the image pixel\r
7 %   type:\r
8 %     'binary'       - val = (val>thresh? maxValue:0)\r
9 %     'binary_inv'   - val = (val>thresh? 0:maxValue)\r
10 %     'trunc'        - val = (val>thresh? thresh:val)\r
11 %     'tozero'       - val = (val>thresh? val:0)\r
12 %     'tozero_inv'   - val = (val>thresh? 0:val)\r
13 %   neighborhoodSize - 3, 5 or 7\r
14 %   minVariance      - value of the minimum variance\r
15 %\r
16 %   dst - destination image\r
17 \r
18 if nargin ~= 5\r
19     error 'Invalid number of parameters';\r
20     return;\r
21 end\r
22 \r
23 varargin{5} = [(varargin{4} - 1) / 2, varargin{5}]; %parameters\r
24 \r
25 if ~ischar(varargin{3})\r
26     error 'Invalid parameter ''type''';\r
27     return;\r
28 end;\r
29 \r
30 type_t = {'binary', 'binary_inv', 'trunc', 'tozero', 'tozero_inv'};\r
31 type_i = [0, 1, 2, 3, 4];\r
32 idx = strmatch(varargin{3}, type_t, 'exact');\r
33 if isempty(idx)\r
34     error 'Invalid parameter ''type''';\r
35     return;\r
36 end\r
37 varargin{4} = type_i(idx(1)); % type\r
38 varargin{3} = 0; % method. CV_STDDEV_ADAPTIVE_THRESH\r
39 \r
40 if nargout > 1\r
41     error 'Too many output parameters'\r
42     return;\r
43 end;\r
44 \r
45 [varargout{1}] = feval('cvwrap', 'AdaptiveThreshold', varargin{:});\r
46 \r
47 return;