camellia 2.7.0-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/CamelliaLib-2.7.0.tar.gz +0 -0
  2. data/README +59 -0
  3. data/doc/README +58 -0
  4. data/doc/camellia.dox +205 -0
  5. data/doc/html/annotated.html +52 -0
  6. data/doc/html/camellia_8h-source.html +1618 -0
  7. data/doc/html/camellia_8h.html +4583 -0
  8. data/doc/html/doxygen.css +358 -0
  9. data/doc/html/doxygen.png +0 -0
  10. data/doc/html/files.html +29 -0
  11. data/doc/html/ftv2blank.png +0 -0
  12. data/doc/html/ftv2doc.png +0 -0
  13. data/doc/html/ftv2folderclosed.png +0 -0
  14. data/doc/html/ftv2folderopen.png +0 -0
  15. data/doc/html/ftv2lastnode.png +0 -0
  16. data/doc/html/ftv2link.png +0 -0
  17. data/doc/html/ftv2mlastnode.png +0 -0
  18. data/doc/html/ftv2mnode.png +0 -0
  19. data/doc/html/ftv2node.png +0 -0
  20. data/doc/html/ftv2plastnode.png +0 -0
  21. data/doc/html/ftv2pnode.png +0 -0
  22. data/doc/html/ftv2vertline.png +0 -0
  23. data/doc/html/functions.html +108 -0
  24. data/doc/html/functions_0x62.html +78 -0
  25. data/doc/html/functions_0x63.html +112 -0
  26. data/doc/html/functions_0x64.html +113 -0
  27. data/doc/html/functions_0x65.html +102 -0
  28. data/doc/html/functions_0x66.html +82 -0
  29. data/doc/html/functions_0x67.html +76 -0
  30. data/doc/html/functions_0x68.html +88 -0
  31. data/doc/html/functions_0x69.html +90 -0
  32. data/doc/html/functions_0x6b.html +70 -0
  33. data/doc/html/functions_0x6c.html +88 -0
  34. data/doc/html/functions_0x6d.html +93 -0
  35. data/doc/html/functions_0x6e.html +79 -0
  36. data/doc/html/functions_0x6f.html +74 -0
  37. data/doc/html/functions_0x70.html +72 -0
  38. data/doc/html/functions_0x72.html +73 -0
  39. data/doc/html/functions_0x73.html +130 -0
  40. data/doc/html/functions_0x74.html +82 -0
  41. data/doc/html/functions_0x76.html +74 -0
  42. data/doc/html/functions_0x77.html +75 -0
  43. data/doc/html/functions_0x78.html +72 -0
  44. data/doc/html/functions_0x79.html +77 -0
  45. data/doc/html/functions_0x7e.html +76 -0
  46. data/doc/html/functions_func.html +93 -0
  47. data/doc/html/functions_func_0x62.html +64 -0
  48. data/doc/html/functions_func_0x63.html +83 -0
  49. data/doc/html/functions_func_0x64.html +99 -0
  50. data/doc/html/functions_func_0x65.html +95 -0
  51. data/doc/html/functions_func_0x66.html +74 -0
  52. data/doc/html/functions_func_0x67.html +72 -0
  53. data/doc/html/functions_func_0x68.html +76 -0
  54. data/doc/html/functions_func_0x69.html +70 -0
  55. data/doc/html/functions_func_0x6c.html +76 -0
  56. data/doc/html/functions_func_0x6d.html +78 -0
  57. data/doc/html/functions_func_0x6f.html +65 -0
  58. data/doc/html/functions_func_0x70.html +64 -0
  59. data/doc/html/functions_func_0x72.html +65 -0
  60. data/doc/html/functions_func_0x73.html +113 -0
  61. data/doc/html/functions_func_0x74.html +74 -0
  62. data/doc/html/functions_func_0x76.html +64 -0
  63. data/doc/html/functions_func_0x77.html +64 -0
  64. data/doc/html/functions_func_0x7e.html +72 -0
  65. data/doc/html/functions_vars.html +290 -0
  66. data/doc/html/globals.html +368 -0
  67. data/doc/html/globals_defs.html +41 -0
  68. data/doc/html/globals_func.html +364 -0
  69. data/doc/html/index.html +11 -0
  70. data/doc/html/main.html +22 -0
  71. data/doc/html/pages.html +24 -0
  72. data/doc/html/structCamAffineTransform.html +37 -0
  73. data/doc/html/structCamArithmParams.html +60 -0
  74. data/doc/html/structCamBasin.html +62 -0
  75. data/doc/html/structCamBitmapFont.html +37 -0
  76. data/doc/html/structCamBlobInfo.html +90 -0
  77. data/doc/html/structCamBlobs.html +51 -0
  78. data/doc/html/structCamImage.html +853 -0
  79. data/doc/html/structCamKeypoint.html +79 -0
  80. data/doc/html/structCamKeypoints.html +99 -0
  81. data/doc/html/structCamKeypointsKdTree.html +42 -0
  82. data/doc/html/structCamKeypointsMatches.html +54 -0
  83. data/doc/html/structCamLabelingResults.html +46 -0
  84. data/doc/html/structCamLinearFilterKernel.html +63 -0
  85. data/doc/html/structCamMeasuresResults.html +54 -0
  86. data/doc/html/structCamMorphoMathsKernel.html +81 -0
  87. data/doc/html/structCamPoint.html +46 -0
  88. data/doc/html/structCamRLEImage.html +183 -0
  89. data/doc/html/structCamROI.html +80 -0
  90. data/doc/html/structCamRun.html +56 -0
  91. data/doc/html/structCamSepFilterKernel.html +67 -0
  92. data/doc/html/structCamTable.html +46 -0
  93. data/doc/html/structCamTableOfBasins.html +37 -0
  94. data/doc/html/structCamVolbergFwdParams.html +46 -0
  95. data/doc/html/structCamWarpingParams.html +70 -0
  96. data/doc/html/tab_b.gif +0 -0
  97. data/doc/html/tab_l.gif +0 -0
  98. data/doc/html/tab_r.gif +0 -0
  99. data/doc/html/tabs.css +102 -0
  100. data/doc/html/todo.html +29 -0
  101. data/doc/html/tree.html +106 -0
  102. data/doc/rtf/refman.rtf +7866 -0
  103. data/ext/Makefile +149 -0
  104. data/ext/README +12 -0
  105. data/ext/camellia_ruby.i +493 -0
  106. data/ext/camellia_ruby_wrap.cxx +21103 -0
  107. data/ext/extconf.rb +12 -0
  108. data/ext/install.rb +11 -0
  109. data/ext/swig_ruby.dsp +159 -0
  110. data/ext/swig_ruby.vcproj +290 -0
  111. data/ext/test.rb +31 -0
  112. data/inc/SHLWAPI.H +661 -0
  113. data/inc/cam_capture.h +202 -0
  114. data/inc/camellia.h +2651 -0
  115. data/inc/camellia_internals.h +205 -0
  116. data/inc/config.h +62 -0
  117. data/inc/config.h.in +61 -0
  118. data/inc/stamp-h1 +1 -0
  119. data/lib/camellia-fox.rb +39 -0
  120. data/test/test_arithm.rb +13 -0
  121. data/test/test_capture.rb +15 -0
  122. data/test/test_color_labeling.rb +45 -0
  123. data/test/test_copy.rb +13 -0
  124. data/test/test_draw.rb +15 -0
  125. data/test/test_fixed_filters.rb +23 -0
  126. data/test/test_fox.rb +106 -0
  127. data/test/test_fox2.rb +108 -0
  128. data/test/test_histogram.rb +18 -0
  129. data/test/test_hough.rb +29 -0
  130. data/test/test_keypoints.rb +106 -0
  131. data/test/test_labeling.rb +30 -0
  132. data/test/test_mask.rb +34 -0
  133. data/test/test_warping.rb +46 -0
  134. data/test/test_watershed.rb +35 -0
  135. data/test/ts_camellia.rb +12 -0
  136. metadata +204 -0
Binary file
data/README ADDED
@@ -0,0 +1,59 @@
1
+ Camellia Image Processing Library
2
+
3
+ CAMELLIA : Core for Ambient and Mobile intELLigent Imaging Applications.
4
+ Camellia E.U. Project.
5
+
6
+ ==========================================================================
7
+
8
+ UNIX / LINUX :
9
+ ./configure
10
+ make
11
+ ./cam_demo (test. requires resources directory)
12
+ make install (requires administrator privileges)
13
+
14
+ Windows :
15
+ A Visual Studio 6 project file is provided, that creates the camellia.lib library and the demo application.
16
+ A VC++ Express "solution" is also provided.
17
+
18
+ The Camellia Image Processing Library is an open source low-level image processing library.
19
+ As it uses the IplImage structure to describe images, it is a good replacement to the IPL (Intel) library
20
+ and a good complement to the OpenCV library. It includes a lot of functions for image processing
21
+ (filtering, morphological mathematics, labelling, warping, loading/saving images, etc.),
22
+ some of them being highly optimized; It is also cross-platform and robust. It is doxygen-documented
23
+ and examples of use are provided.
24
+
25
+ This software library is an outcome of the Camellia european project (IST-2001-34410).
26
+ It was developped by the Ecole des Mines de Paris (ENSMP), in coordination with
27
+ the other partners of the projects.
28
+
29
+ ==========================================================================
30
+
31
+ Copyright (c) 2002-2007, Ecole des Mines de Paris - Centre de Robotique
32
+ All rights reserved.
33
+
34
+ Redistribution and use in source and binary forms, with or without
35
+ modification, are permitted provided that the following conditions are met:
36
+
37
+ * Redistributions of source code must retain the above copyright
38
+ notice, this list of conditions and the following disclaimer.
39
+ * Redistributions in binary form must reproduce the above copyright
40
+ notice, this list of conditions and the following disclaimer
41
+ in the documentation and/or other materials provided with the distribution.
42
+ * Neither the name of the Ecole des Mines de Paris nor the names of
43
+ its contributors may be used to endorse or promote products
44
+ derived from this software without specific prior written permission.
45
+
46
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
47
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
48
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
49
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
50
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
51
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
52
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
53
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
54
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
55
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
56
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57
+
58
+ ==========================================================================
59
+
@@ -0,0 +1,58 @@
1
+ Camellia Image Processing Library
2
+
3
+ CAMELLIA : Core for Ambient and Mobile intELLigent Imaging Applications.
4
+ Camellia E.U. Project.
5
+
6
+ ==========================================================================
7
+
8
+ UNIX / LINUX :
9
+ type 'configure & make' to build the library.
10
+ type 'make install' to install the lib to /etc/lib (requires administrator rights)
11
+ A cam_demo executable will also be generated to serve as a test bench.
12
+ The code should compile with any known recent C compiler
13
+
14
+ Windows :
15
+ A Visual Studio 6 project file is provided, that creates the camellia.lib library and the demo application.
16
+
17
+ The Camellia Image Processing Library is an open source low-level image processing library.
18
+ As it uses the IplImage structure to describe images, it is a good replacement to the IPL (Intel) library
19
+ and a good complement to the OpenCV library. It includes a lot of functions for image processing
20
+ (filtering, morphological mathematics, labelling, warping, loading/saving images, etc.),
21
+ some of them being highly optimized; It is also cross-platform and robust. It is doxygen-documented
22
+ and examples of use are provided.
23
+
24
+ This software library is an outcome of the Camellia european project (IST-2001-34410).
25
+ It was developped by the Ecole des Mines de Paris (ENSMP), in coordination with
26
+ the other partners of the projects.
27
+
28
+ ==========================================================================
29
+
30
+ Copyright (c) 2002-2007, Ecole des Mines de Paris - Centre de Robotique
31
+ All rights reserved.
32
+
33
+ Redistribution and use in source and binary forms, with or without
34
+ modification, are permitted provided that the following conditions are met:
35
+
36
+ * Redistributions of source code must retain the above copyright
37
+ notice, this list of conditions and the following disclaimer.
38
+ * Redistributions in binary form must reproduce the above copyright
39
+ notice, this list of conditions and the following disclaimer
40
+ in the documentation and/or other materials provided with the distribution.
41
+ * Neither the name of the Ecole des Mines de Paris nor the names of
42
+ its contributors may be used to endorse or promote products
43
+ derived from this software without specific prior written permission.
44
+
45
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
46
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
47
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
48
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
49
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
50
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
51
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
52
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
53
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
54
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
55
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56
+
57
+ ==========================================================================
58
+
@@ -0,0 +1,205 @@
1
+ # Doxyfile 1.3.1
2
+
3
+ #---------------------------------------------------------------------------
4
+ # General configuration options
5
+ #---------------------------------------------------------------------------
6
+ PROJECT_NAME = Camellia
7
+ PROJECT_NUMBER = v2.7.0
8
+ OUTPUT_DIRECTORY = .
9
+ OUTPUT_LANGUAGE = English
10
+ USE_WINDOWS_ENCODING = NO
11
+ EXTRACT_ALL = NO
12
+ EXTRACT_PRIVATE = NO
13
+ EXTRACT_STATIC = NO
14
+ EXTRACT_LOCAL_CLASSES = NO
15
+ HIDE_UNDOC_MEMBERS = YES
16
+ HIDE_UNDOC_CLASSES = YES
17
+ HIDE_FRIEND_COMPOUNDS = NO
18
+ HIDE_IN_BODY_DOCS = NO
19
+ BRIEF_MEMBER_DESC = YES
20
+ REPEAT_BRIEF = YES
21
+ ALWAYS_DETAILED_SEC = NO
22
+ INLINE_INHERITED_MEMB = NO
23
+ FULL_PATH_NAMES = NO
24
+ STRIP_FROM_PATH =
25
+ INTERNAL_DOCS = NO
26
+ CASE_SENSE_NAMES = YES
27
+ SHORT_NAMES = NO
28
+ HIDE_SCOPE_NAMES = NO
29
+ SHOW_INCLUDE_FILES = YES
30
+ JAVADOC_AUTOBRIEF = NO
31
+ MULTILINE_CPP_IS_BRIEF = NO
32
+ DETAILS_AT_TOP = NO
33
+ INHERIT_DOCS = YES
34
+ INLINE_INFO = YES
35
+ SORT_MEMBER_DOCS = YES
36
+ DISTRIBUTE_GROUP_DOC = NO
37
+ TAB_SIZE = 8
38
+ GENERATE_TODOLIST = YES
39
+ GENERATE_TESTLIST = YES
40
+ GENERATE_BUGLIST = YES
41
+ GENERATE_DEPRECATEDLIST= YES
42
+ ALIASES =
43
+ ENABLED_SECTIONS =
44
+ MAX_INITIALIZER_LINES = 30
45
+ OPTIMIZE_OUTPUT_FOR_C = YES
46
+ OPTIMIZE_OUTPUT_JAVA = NO
47
+ SHOW_USED_FILES = YES
48
+ #---------------------------------------------------------------------------
49
+ # configuration options related to warning and progress messages
50
+ #---------------------------------------------------------------------------
51
+ QUIET = NO
52
+ WARNINGS = YES
53
+ WARN_IF_UNDOCUMENTED = YES
54
+ WARN_IF_DOC_ERROR = YES
55
+ WARN_FORMAT = "$file:$line: $text"
56
+ WARN_LOGFILE =
57
+ #---------------------------------------------------------------------------
58
+ # configuration options related to the input files
59
+ #---------------------------------------------------------------------------
60
+ INPUT = ../inc/camellia.h
61
+ FILE_PATTERNS =
62
+ RECURSIVE = YES
63
+ EXCLUDE =
64
+ EXCLUDE_SYMLINKS = NO
65
+ EXCLUDE_PATTERNS =
66
+ EXAMPLE_PATH =
67
+ EXAMPLE_PATTERNS =
68
+ EXAMPLE_RECURSIVE = NO
69
+ IMAGE_PATH =
70
+ INPUT_FILTER =
71
+ FILTER_SOURCE_FILES = NO
72
+ #---------------------------------------------------------------------------
73
+ # configuration options related to source browsing
74
+ #---------------------------------------------------------------------------
75
+ SOURCE_BROWSER = NO
76
+ INLINE_SOURCES = NO
77
+ STRIP_CODE_COMMENTS = YES
78
+ REFERENCED_BY_RELATION = YES
79
+ REFERENCES_RELATION = YES
80
+ VERBATIM_HEADERS = YES
81
+ #---------------------------------------------------------------------------
82
+ # configuration options related to the alphabetical class index
83
+ #---------------------------------------------------------------------------
84
+ ALPHABETICAL_INDEX = NO
85
+ COLS_IN_ALPHA_INDEX = 5
86
+ IGNORE_PREFIX =
87
+ #---------------------------------------------------------------------------
88
+ # configuration options related to the HTML output
89
+ #---------------------------------------------------------------------------
90
+ GENERATE_HTML = YES
91
+ HTML_OUTPUT = html
92
+ HTML_FILE_EXTENSION = .html
93
+ HTML_HEADER =
94
+ HTML_FOOTER =
95
+ HTML_STYLESHEET =
96
+ HTML_ALIGN_MEMBERS = YES
97
+ GENERATE_HTMLHELP = NO
98
+ CHM_FILE =
99
+ HHC_LOCATION =
100
+ GENERATE_CHI = NO
101
+ BINARY_TOC = NO
102
+ TOC_EXPAND = NO
103
+ DISABLE_INDEX = NO
104
+ ENUM_VALUES_PER_LINE = 4
105
+ GENERATE_TREEVIEW = YES
106
+ TREEVIEW_WIDTH = 250
107
+ #---------------------------------------------------------------------------
108
+ # configuration options related to the LaTeX output
109
+ #---------------------------------------------------------------------------
110
+ GENERATE_LATEX = NO
111
+ LATEX_OUTPUT = latex
112
+ LATEX_CMD_NAME = latex
113
+ MAKEINDEX_CMD_NAME = makeindex
114
+ COMPACT_LATEX = NO
115
+ PAPER_TYPE = a4wide
116
+ EXTRA_PACKAGES =
117
+ LATEX_HEADER =
118
+ PDF_HYPERLINKS = NO
119
+ USE_PDFLATEX = NO
120
+ LATEX_BATCHMODE = NO
121
+ LATEX_HIDE_INDICES = NO
122
+ #---------------------------------------------------------------------------
123
+ # configuration options related to the RTF output
124
+ #---------------------------------------------------------------------------
125
+ GENERATE_RTF = YES
126
+ RTF_OUTPUT = rtf
127
+ COMPACT_RTF = NO
128
+ RTF_HYPERLINKS = NO
129
+ RTF_STYLESHEET_FILE = camellia_stylesheet.dox
130
+ RTF_EXTENSIONS_FILE =
131
+ #---------------------------------------------------------------------------
132
+ # configuration options related to the man page output
133
+ #---------------------------------------------------------------------------
134
+ GENERATE_MAN = NO
135
+ MAN_OUTPUT = man
136
+ MAN_EXTENSION = .3
137
+ MAN_LINKS = NO
138
+ #---------------------------------------------------------------------------
139
+ # configuration options related to the XML output
140
+ #---------------------------------------------------------------------------
141
+ GENERATE_XML = NO
142
+ XML_OUTPUT = xml
143
+ XML_SCHEMA =
144
+ XML_DTD =
145
+ #---------------------------------------------------------------------------
146
+ # configuration options for the AutoGen Definitions output
147
+ #---------------------------------------------------------------------------
148
+ GENERATE_AUTOGEN_DEF = NO
149
+ #---------------------------------------------------------------------------
150
+ # configuration options related to the Perl module output
151
+ #---------------------------------------------------------------------------
152
+ GENERATE_PERLMOD = NO
153
+ PERLMOD_LATEX = NO
154
+ PERLMOD_PRETTY = YES
155
+ PERLMOD_MAKEVAR_PREFIX =
156
+ #---------------------------------------------------------------------------
157
+ # Configuration options related to the preprocessor
158
+ #---------------------------------------------------------------------------
159
+ ENABLE_PREPROCESSING = YES
160
+ MACRO_EXPANSION = NO
161
+ EXPAND_ONLY_PREDEF = NO
162
+ SEARCH_INCLUDES = NO
163
+ INCLUDE_PATH = .
164
+ INCLUDE_FILE_PATTERNS =
165
+ PREDEFINED = __cplusplus
166
+ EXPAND_AS_DEFINED = __cplusplus
167
+ SKIP_FUNCTION_MACROS = YES
168
+ #---------------------------------------------------------------------------
169
+ # Configuration::addtions related to external references
170
+ #---------------------------------------------------------------------------
171
+ TAGFILES =
172
+ GENERATE_TAGFILE =
173
+ ALLEXTERNALS = NO
174
+ EXTERNAL_GROUPS = YES
175
+ PERL_PATH = /usr/bin/perl
176
+ #---------------------------------------------------------------------------
177
+ # Configuration options related to the dot tool
178
+ #---------------------------------------------------------------------------
179
+ CLASS_DIAGRAMS = YES
180
+ HIDE_UNDOC_RELATIONS = YES
181
+ HAVE_DOT = NO
182
+ CLASS_GRAPH = YES
183
+ COLLABORATION_GRAPH = YES
184
+ TEMPLATE_RELATIONS = NO
185
+ INCLUDE_GRAPH = YES
186
+ INCLUDED_BY_GRAPH = YES
187
+ GRAPHICAL_HIERARCHY = YES
188
+ DOT_IMAGE_FORMAT = png
189
+ DOT_PATH =
190
+ DOTFILE_DIRS =
191
+ MAX_DOT_GRAPH_WIDTH = 1024
192
+ MAX_DOT_GRAPH_HEIGHT = 1024
193
+ MAX_DOT_GRAPH_DEPTH = 0
194
+ GENERATE_LEGEND = YES
195
+ DOT_CLEANUP = YES
196
+ #---------------------------------------------------------------------------
197
+ # Configuration::addtions related to the search engine
198
+ #---------------------------------------------------------------------------
199
+ SEARCHENGINE = NO
200
+ CGI_NAME = search.cgi
201
+ CGI_URL =
202
+ DOC_URL =
203
+ DOC_ABSPATH =
204
+ BIN_ABSPATH = /usr/local/bin/
205
+ EXT_DOC_PATHS =
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Camellia: Data Structures</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.3 -->
8
+ <div class="tabs">
9
+ <ul>
10
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
11
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
12
+ <li><a href="files.html"><span>Files</span></a></li>
13
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
14
+ </ul>
15
+ </div>
16
+ <div class="tabs">
17
+ <ul>
18
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
19
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
20
+ </ul>
21
+ </div>
22
+ <h1>Camellia Data Structures</h1>Here are the data structures with brief descriptions:<table>
23
+ <tr><td class="indexkey"><a class="el" href="structCamAffineTransform.html">CamAffineTransform</a></td><td class="indexvalue">Affine Transform parameters </td></tr>
24
+ <tr><td class="indexkey"><a class="el" href="structCamArithmParams.html">CamArithmParams</a></td><td class="indexvalue">This is the parameter structure for the arithmetic computation kernel </td></tr>
25
+ <tr><td class="indexkey"><a class="el" href="structCamBasin.html">CamBasin</a></td><td class="indexvalue">The structure defining a basin </td></tr>
26
+ <tr><td class="indexkey"><a class="el" href="structCamBitmapFont.html">CamBitmapFont</a></td><td class="indexvalue">The bitmap font structure </td></tr>
27
+ <tr><td class="indexkey"><a class="el" href="structCamBlobInfo.html">CamBlobInfo</a></td><td class="indexvalue">The Blob (block of bits) Information Structure. This is the most important result of Labeling + Blob analysis </td></tr>
28
+ <tr><td class="indexkey"><a class="el" href="structCamBlobs.html">CamBlobs</a></td><td class="indexvalue">The result of any blob analysis. Essentially an array of <a class="el" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> </td></tr>
29
+ <tr><td class="indexkey"><a class="el" href="structCamImage.html">CamImage</a></td><td class="indexvalue">The famous IplImage/CamImage structure, today's standard structure for image processing </td></tr>
30
+ <tr><td class="indexkey"><a class="el" href="structCamKeypoint.html">CamKeypoint</a></td><td class="indexvalue">The Keypoint structure </td></tr>
31
+ <tr><td class="indexkey"><a class="el" href="structCamKeypoints.html">CamKeypoints</a></td><td class="indexvalue">The <a class="el" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> structure </td></tr>
32
+ <tr><td class="indexkey"><a class="el" href="structCamKeypointsKdTree.html">CamKeypointsKdTree</a></td><td class="indexvalue">The <a class="el" href="structCamKeypointsKdTree.html" title="The CamKeypointsKdTree class.">CamKeypointsKdTree</a> class </td></tr>
33
+ <tr><td class="indexkey"><a class="el" href="structCamKeypointsMatches.html">CamKeypointsMatches</a></td><td class="indexvalue">A match between 2 <a class="el" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> </td></tr>
34
+ <tr><td class="indexkey"><a class="el" href="structCamLabelingResults.html">CamLabelingResults</a></td><td class="indexvalue">Data structure containing the result of pixel-based labeling </td></tr>
35
+ <tr><td class="indexkey"><a class="el" href="structCamLinearFilterKernel.html">CamLinearFilterKernel</a></td><td class="indexvalue">The parameters structure for linear filtering </td></tr>
36
+ <tr><td class="indexkey"><a class="el" href="structCamMeasuresResults.html">CamMeasuresResults</a></td><td class="indexvalue">The structure containing the result of measuring </td></tr>
37
+ <tr><td class="indexkey"><a class="el" href="structCamMorphoMathsKernel.html">CamMorphoMathsKernel</a></td><td class="indexvalue">This is the parameter structure for the morpho maths kernel </td></tr>
38
+ <tr><td class="indexkey"><a class="el" href="structCamPoint.html">CamPoint</a></td><td class="indexvalue">The structure used to identify a point in 2D </td></tr>
39
+ <tr><td class="indexkey"><a class="el" href="structCamRLEImage.html">CamRLEImage</a></td><td class="indexvalue">The <a class="el" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> structure : the RLE (Run Length Encoded) image structure </td></tr>
40
+ <tr><td class="indexkey"><a class="el" href="structCamROI.html">CamROI</a></td><td class="indexvalue">The IPL Region Of Interest structure </td></tr>
41
+ <tr><td class="indexkey"><a class="el" href="structCamRun.html">CamRun</a></td><td class="indexvalue">The <a class="el" href="structCamRun.html" title="The CamRun structure, basic element of a Run-Length Encoding (RLE) of an image.">CamRun</a> structure, basic element of a Run-Length Encoding (RLE) of an image </td></tr>
42
+ <tr><td class="indexkey"><a class="el" href="structCamSepFilterKernel.html">CamSepFilterKernel</a></td><td class="indexvalue">The parameters structure for linear filtering </td></tr>
43
+ <tr><td class="indexkey"><a class="el" href="structCamTable.html">CamTable</a></td><td class="indexvalue">Pixel table (LUT (Look-Up Table) and histogram) structure </td></tr>
44
+ <tr><td class="indexkey"><a class="el" href="structCamTableOfBasins.html">CamTableOfBasins</a></td><td class="indexvalue">The table of basins structure. Simply a dynamic size array of <code><a class="el" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a></code> </td></tr>
45
+ <tr><td class="indexkey"><a class="el" href="structCamVolbergFwdParams.html">CamVolbergFwdParams</a></td><td class="indexvalue">The structure to provide to the Volberg's algorithm : two functions </td></tr>
46
+ <tr><td class="indexkey"><a class="el" href="structCamWarpingParams.html">CamWarpingParams</a></td><td class="indexvalue">The parameters structure used by <a class="el" href="camellia_8h.html#ad957d473fde58077a501728e5aa8f13" title="Backward warping function.">camWarping()</a> </td></tr>
47
+ </table>
48
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 3 16:41:07 2008 for Camellia by&nbsp;
49
+ <a href="http://www.doxygen.org/index.html">
50
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
51
+ </body>
52
+ </html>
@@ -0,0 +1,1618 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
+ <title>Camellia: camellia.h Source File</title>
4
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
5
+ <link href="tabs.css" rel="stylesheet" type="text/css">
6
+ </head><body>
7
+ <!-- Generated by Doxygen 1.5.3 -->
8
+ <div class="tabs">
9
+ <ul>
10
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
11
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
12
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
13
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
14
+ </ul>
15
+ </div>
16
+ <h1>camellia.h</h1><a href="camellia_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
17
+ <a name="l00051"></a>00051 <span class="preprocessor">#ifndef _CAMELLIA_H_</span>
18
+ <a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define _CAMELLIA_H_</span>
19
+ <a name="l00053"></a>00053 <span class="preprocessor"></span>
20
+ <a name="l00054"></a>00054 <span class="preprocessor">#define CAM_VERSION "2.7.0 : Bastille ($Rev: 270 $)"</span>
21
+ <a name="l00055"></a>00055 <span class="preprocessor"></span>
22
+ <a name="l00056"></a>00056 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
23
+ <a name="l00057"></a>00057
24
+ <a name="l00058"></a>00058 <span class="comment">/*******************************************</span>
25
+ <a name="l00059"></a>00059 <span class="comment"> * Compilation options : *</span>
26
+ <a name="l00060"></a>00060 <span class="comment"> */</span>
27
+ <a name="l00061"></a>00061 <span class="comment">// Pixel definition</span>
28
+ <a name="l00062"></a>00062 <span class="preprocessor">#define CAM_PIXEL unsigned char</span>
29
+ <a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIGNED_PIXEL signed char</span>
30
+ <a name="l00064"></a>00064 <span class="preprocessor"></span>
31
+ <a name="l00065"></a>00065 <span class="comment">// Max image size</span>
32
+ <a name="l00066"></a>00066 <span class="preprocessor">#define CAM_MAX_SCANLINE 1280</span>
33
+ <a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MAX_FRAME_HEIGHT 1024</span>
34
+ <a name="l00068"></a>00068 <span class="preprocessor"></span>
35
+ <a name="l00069"></a>00069 <span class="comment">// 64-bit processor or memory bandwidth?</span>
36
+ <a name="l00070"></a>00070 <span class="preprocessor">#define CAM_64BITS</span>
37
+ <a name="l00071"></a>00071 <span class="preprocessor"></span>
38
+ <a name="l00072"></a>00072 <span class="comment">// Pentium4 optimizations?</span>
39
+ <a name="l00073"></a>00073 <span class="preprocessor">#define CAM_OPT_P4</span>
40
+ <a name="l00074"></a>00074 <span class="preprocessor"></span>
41
+ <a name="l00075"></a>00075 <span class="comment">// Big endian architecture?</span>
42
+ <a name="l00076"></a>00076 <span class="comment">//#define CAM_BIG_ENDIAN</span>
43
+ <a name="l00077"></a>00077
44
+ <a name="l00078"></a>00078 <span class="comment">// Generate 8 AND 16 bits pixel size code</span>
45
+ <a name="l00079"></a>00079 <span class="preprocessor">#define CAM_GENERATE_FULL_CODE</span>
46
+ <a name="l00080"></a>00080 <span class="preprocessor"></span>
47
+ <a name="l00081"></a>00081 <span class="comment">/* *</span>
48
+ <a name="l00082"></a>00082 <span class="comment"> *******************************************/</span>
49
+ <a name="l00083"></a>00083 <span class="preprocessor">#ifdef _WIN32</span>
50
+ <a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define CAM_INT64 __int64</span>
51
+ <a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define CAM_UINT64 unsigned __int64</span>
52
+ <a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#else</span>
53
+ <a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define CAM_INT64 long long</span>
54
+ <a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define CAM_UINT64 unsigned long long</span>
55
+ <a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
56
+ <a name="l00090"></a>00090 <span class="preprocessor"></span>
57
+ <a name="l00091"></a>00091 <span class="preprocessor">#ifdef __INTEL_COMPILER</span>
58
+ <a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN16 __declspec(align(16))</span>
59
+ <a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#else</span>
60
+ <a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN16</span>
61
+ <a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
62
+ <a name="l00096"></a>00096 <span class="preprocessor"></span>
63
+ <a name="l00097"></a>00097 <span class="preprocessor">#define CAM_FIXED_POINT signed long</span>
64
+ <a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define CAM_FLOAT2FIXED(x,dot_pos) ((CAM_FIXED_POINT)((x)*(1&lt;&lt;dot_pos)))</span>
65
+ <a name="l00099"></a>00099 <span class="preprocessor"></span>
66
+ <a name="l00100"></a>00100 <span class="preprocessor">#define CAM_DEPTH_SIGN 0x80000000 </span>
67
+ <a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_MASK 0x7FFFFFFF </span>
68
+ <a name="l00102"></a>00102 <span class="preprocessor"></span>
69
+ <a name="l00103"></a>00103 <span class="preprocessor">#define CAM_DEPTH_1U 1</span>
70
+ <a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_8U 8</span>
71
+ <a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_10U 10</span>
72
+ <a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_12U 12</span>
73
+ <a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_16U 16</span>
74
+ <a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_32U 32</span>
75
+ <a name="l00109"></a>00109 <span class="preprocessor"></span>
76
+ <a name="l00110"></a>00110 <span class="preprocessor">#define CAM_DEPTH_8S (CAM_DEPTH_SIGN| 8)</span>
77
+ <a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_10S (CAM_DEPTH_SIGN|10)</span>
78
+ <a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_12S (CAM_DEPTH_SIGN|12)</span>
79
+ <a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_16S (CAM_DEPTH_SIGN|16)</span>
80
+ <a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DEPTH_32S (CAM_DEPTH_SIGN|32)</span>
81
+ <a name="l00115"></a>00115 <span class="preprocessor"></span>
82
+ <a name="l00116"></a>00116 <span class="preprocessor">#define CAM_DATA_ORDER_PIXEL 0</span>
83
+ <a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DATA_ORDER_PLANE 1</span>
84
+ <a name="l00118"></a>00118 <span class="preprocessor"></span>
85
+ <a name="l00119"></a>00119 <span class="preprocessor">#define CAM_ORIGIN_TL 0</span>
86
+ <a name="l00120"></a>00120 <span class="preprocessor"></span>
87
+ <a name="l00121"></a>00121 <span class="preprocessor">#define CAM_ALIGN_4BYTES 4</span>
88
+ <a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN_8BYTES 8</span>
89
+ <a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN_16BYTES 16</span>
90
+ <a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN_32BYTES 32</span>
91
+ <a name="l00125"></a>00125 <span class="preprocessor"></span>
92
+ <a name="l00126"></a>00126 <span class="preprocessor">#define CAM_ALIGN_DWORD CAM_ALIGN_4BYTES</span>
93
+ <a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ALIGN_QWORD CAM_ALIGN_8BYTES</span>
94
+ <a name="l00128"></a>00128 <span class="preprocessor"></span>
95
+ <a name="l00129"></a>00129 <span class="preprocessor">#define CAM_BORDER_CONSTANT 0</span>
96
+ <a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#define CAM_BORDER_REPLICATE 1</span>
97
+ <a name="l00131"></a>00131 <span class="preprocessor"></span>
98
+ <a name="l00132"></a>00132 <span class="comment">/*--- Indexes to access IplImage.BorderMode[],IplImage.BorderConst[] ----*/</span>
99
+ <a name="l00133"></a>00133 <span class="preprocessor">#define CAM_SIDE_TOP_INDEX 0</span>
100
+ <a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_BOTTOM_INDEX 1</span>
101
+ <a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_LEFT_INDEX 2</span>
102
+ <a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_RIGHT_INDEX 3</span>
103
+ <a name="l00137"></a>00137 <span class="preprocessor"></span>
104
+ <a name="l00138"></a>00138 <span class="comment">/*---------- values of argument of iplSetBorderMode(,,border,) ----------*/</span>
105
+ <a name="l00139"></a>00139 <span class="preprocessor">#define CAM_SIDE_TOP (1&lt;&lt;CAM_SIDE_TOP_INDEX)</span>
106
+ <a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_BOTTOM (1&lt;&lt;CAM_SIDE_BOTTOM_INDEX)</span>
107
+ <a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_LEFT (1&lt;&lt;CAM_SIDE_LEFT_INDEX)</span>
108
+ <a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_RIGHT (1&lt;&lt;CAM_SIDE_RIGHT_INDEX)</span>
109
+ <a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SIDE_ALL (CAM_SIDE_RIGHT | CAM_SIDE_TOP | CAM_SIDE_LEFT | CAM_SIDE_BOTTOM)</span>
110
+ <a name="l00144"></a>00144 <span class="preprocessor"></span>
111
+ <a name="l00145"></a>00145 <span class="preprocessor">#ifdef CAM_BIG_ENDIAN</span>
112
+ <a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor">#define CAM_FC( ch0, ch1, ch2, ch3 ) \</span>
113
+ <a name="l00147"></a>00147 <span class="preprocessor"> ((int)(ch3)|((int)(ch2)&lt;&lt;8)|((int)(ch1)&lt;&lt;16)|((int)(ch0)&lt;&lt;24))</span>
114
+ <a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#else</span>
115
+ <a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#define CAM_FC( ch0, ch1, ch2, ch3 ) \</span>
116
+ <a name="l00150"></a>00150 <span class="preprocessor"> ((int)(ch0)|((int)(ch1)&lt;&lt;8)|((int)(ch2)&lt;&lt;16)|((int)(ch3)&lt;&lt;24))</span>
117
+ <a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
118
+ <a name="l00152"></a>00152 <span class="preprocessor"></span>
119
+ <a name="l00153"></a>00153 <span class="preprocessor">#ifndef SWIG</span>
120
+ <a name="l00154"></a>00154 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COLORMODEL_RGB CAM_FC('R','G','B',000)</span>
121
+ <a name="l00155"></a>00155 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COLORMODEL_RGBA CAM_FC('R','G','B','A')</span>
122
+ <a name="l00156"></a>00156 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COLORMODEL_YUV CAM_FC('Y','U','V',000)</span>
123
+ <a name="l00157"></a>00157 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COLORMODEL_GREY CAM_FC('G',000,000,000)</span>
124
+ <a name="l00158"></a>00158 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_RGB CAM_FC('R','G','B',000)</span>
125
+ <a name="l00159"></a>00159 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_RGBA CAM_FC('R','G','B','A')</span>
126
+ <a name="l00160"></a>00160 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_YUV CAM_FC('Y','U','V',000)</span>
127
+ <a name="l00161"></a>00161 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_GREY CAM_FC('G',000,000,000)</span>
128
+ <a name="l00162"></a>00162 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_BGR CAM_FC('B','G','R',000)</span>
129
+ <a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CHANNELSEQ_BGRA CAM_FC('B','G','R','A')</span>
130
+ <a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#endif // SWIG</span>
131
+ <a name="l00165"></a>00165 <span class="preprocessor"></span>
132
+ <a name="l00166"></a>00166 <span class="preprocessor">#define CAM_HEADER_ONLY (1&lt;&lt;29)</span>
133
+ <a name="l00167"></a>00167 <span class="preprocessor"></span>
134
+ <a name="l00168"></a>00168 <span class="preprocessor">#ifdef __cplusplus</span>
135
+ <a name="l00169"></a>00169 <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>;
136
+ <a name="l00170"></a>00170 <span class="keyword">struct </span><a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a>;
137
+ <a name="l00171"></a>00171 <span class="keyword">struct </span><a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a>;
138
+ <a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>;
139
+ <a name="l00173"></a>00173 <span class="keyword">struct </span><a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a>;
140
+ <a name="l00174"></a>00174
141
+ <a name="l00176"></a><a class="code" href="structCamROI.html">00176</a> <span class="keyword">struct </span><a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> {
142
+ <a name="l00177"></a>00177 <span class="preprocessor">#else</span>
143
+ <a name="l00179"></a>00179 <span class="preprocessor">typedef struct {</span>
144
+ <a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
145
+ <a name="l00182"></a>00182 <span class="preprocessor"></span>
146
+ <a name="l00186"></a><a class="code" href="structCamROI.html#ebb3fa10fc56c3a051daf7b5de8f473e">00186</a> <span class="preprocessor"> int coi; </span>
147
+ <a name="l00187"></a><a class="code" href="structCamROI.html#ed73323466317b01eb2811eeaf10076d">00187</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="structCamROI.html#ed73323466317b01eb2811eeaf10076d" title="The offset from the origin of the rectangular ROI.">xOffset</a>;
148
+ <a name="l00188"></a><a class="code" href="structCamROI.html#cd5901ab1292015a6e07ded8ef11626d">00188</a> <span class="keywordtype">int</span> <a class="code" href="structCamROI.html#cd5901ab1292015a6e07ded8ef11626d" title="The offset from the origin of the rectangular ROI.">yOffset</a>;
149
+ <a name="l00189"></a><a class="code" href="structCamROI.html#0696d43bea5823a9285c74eddfdb1ea6">00189</a> <span class="keywordtype">int</span> <a class="code" href="structCamROI.html#0696d43bea5823a9285c74eddfdb1ea6" title="The size of the rectangular ROI.">width</a>;
150
+ <a name="l00190"></a><a class="code" href="structCamROI.html#72cfb85e793e2b5a4b8e55c3ab6a85a1">00190</a> <span class="keywordtype">int</span> <a class="code" href="structCamROI.html#72cfb85e793e2b5a4b8e55c3ab6a85a1" title="The size of the rectangular ROI.">height</a>;
151
+ <a name="l00191"></a>00191
152
+ <a name="l00192"></a>00192 <span class="comment">// C++ Wrapping</span>
153
+ <a name="l00193"></a>00193 <span class="preprocessor">#ifdef __cplusplus</span>
154
+ <a name="l00194"></a>00194 <span class="preprocessor"></span> <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a>() {<a class="code" href="structCamROI.html#ebb3fa10fc56c3a051daf7b5de8f473e" title="The channel of interest number.">coi</a>=0; <a class="code" href="structCamROI.html#ed73323466317b01eb2811eeaf10076d" title="The offset from the origin of the rectangular ROI.">xOffset</a>=0; <a class="code" href="structCamROI.html#cd5901ab1292015a6e07ded8ef11626d" title="The offset from the origin of the rectangular ROI.">yOffset</a>=0; <a class="code" href="structCamROI.html#0696d43bea5823a9285c74eddfdb1ea6" title="The size of the rectangular ROI.">width</a>=0; <a class="code" href="structCamROI.html#72cfb85e793e2b5a4b8e55c3ab6a85a1" title="The size of the rectangular ROI.">height</a>=0;}
155
+ <a name="l00195"></a>00195 <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a>(<span class="keywordtype">int</span> _coi, <span class="keywordtype">int</span> _xOffset, <span class="keywordtype">int</span> _yOffset, <span class="keywordtype">int</span> _width, <span class="keywordtype">int</span> _height) {
156
+ <a name="l00196"></a>00196 <a class="code" href="structCamROI.html#ebb3fa10fc56c3a051daf7b5de8f473e" title="The channel of interest number.">coi</a>=_coi; <a class="code" href="structCamROI.html#ed73323466317b01eb2811eeaf10076d" title="The offset from the origin of the rectangular ROI.">xOffset</a>=_xOffset; <a class="code" href="structCamROI.html#cd5901ab1292015a6e07ded8ef11626d" title="The offset from the origin of the rectangular ROI.">yOffset</a>=_yOffset; <a class="code" href="structCamROI.html#0696d43bea5823a9285c74eddfdb1ea6" title="The size of the rectangular ROI.">width</a>=_width; <a class="code" href="structCamROI.html#72cfb85e793e2b5a4b8e55c3ab6a85a1" title="The size of the rectangular ROI.">height</a>=_height;
157
+ <a name="l00197"></a>00197 }
158
+ <a name="l00198"></a>00198 <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> _coi=0);
159
+ <a name="l00199"></a>00199 ~<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a>() {};
160
+ <a name="l00200"></a>00200 <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> <a class="code" href="structCamROI.html#b5123a98e4cacd8e34937ef4e6df0d13" title="C++ wrapping for function camROIIntersect().">intersect</a>(<span class="keyword">const</span> <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> &amp;roi) <span class="keyword">const</span>;
161
+ <a name="l00201"></a>00201 <span class="keywordtype">bool</span> clip(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image);
162
+ <a name="l00202"></a>00202 <span class="keywordtype">bool</span> reduce(<span class="keywordtype">int</span> i);
163
+ <a name="l00203"></a>00203 <span class="keywordtype">bool</span> enlarge(<span class="keywordtype">int</span> i);
164
+ <a name="l00204"></a>00204 };
165
+ <a name="l00205"></a>00205
166
+ <a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a>;
167
+ <a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a>;
168
+ <a name="l00208"></a>00208 <span class="keyword">struct </span><a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>;
169
+ <a name="l00209"></a>00209 <span class="keyword">struct </span><a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>;
170
+ <a name="l00210"></a>00210 <span class="keyword">struct </span><a class="code" href="structCamMeasuresResults.html" title="The structure containing the result of measuring.">CamMeasuresResults</a>;
171
+ <a name="l00211"></a>00211 <span class="keyword">struct </span><a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a>;
172
+ <a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a>;
173
+ <a name="l00213"></a>00213
174
+ <a name="l00215"></a><a class="code" href="structCamPoint.html">00215</a> <span class="keyword">struct </span><a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> {
175
+ <a name="l00216"></a><a class="code" href="structCamPoint.html#1d01290beb9d479a6f6bc465c6b1d56a">00216</a> <span class="keywordtype">int</span> <a class="code" href="structCamPoint.html#1d01290beb9d479a6f6bc465c6b1d56a" title="x coordinate">x</a>;
176
+ <a name="l00217"></a><a class="code" href="structCamPoint.html#9f87598da8b833f3ce380595fc726618">00217</a> <span class="keywordtype">int</span> <a class="code" href="structCamPoint.html#9f87598da8b833f3ce380595fc726618" title="y coordinate">y</a>;
177
+ <a name="l00218"></a>00218
178
+ <a name="l00219"></a>00219 <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> apply_affine_transform(<span class="keyword">const</span> <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> &amp;t) <span class="keyword">const</span>;
179
+ <a name="l00220"></a>00220 <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a>(<span class="keywordtype">int</span> xp, <span class="keywordtype">int</span> yp) {<a class="code" href="structCamPoint.html#1d01290beb9d479a6f6bc465c6b1d56a" title="x coordinate">x</a> = xp; <a class="code" href="structCamPoint.html#9f87598da8b833f3ce380595fc726618" title="y coordinate">y</a> = yp;}
180
+ <a name="l00221"></a>00221 <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a>() {<a class="code" href="structCamPoint.html#1d01290beb9d479a6f6bc465c6b1d56a" title="x coordinate">x</a> = 0; <a class="code" href="structCamPoint.html#9f87598da8b833f3ce380595fc726618" title="y coordinate">y</a> = 0;}
181
+ <a name="l00222"></a>00222 };
182
+ <a name="l00223"></a>00223 <span class="preprocessor">#else</span>
183
+ <a name="l00224"></a>00224 <span class="preprocessor"></span>} <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a>;
184
+ <a name="l00225"></a>00225
185
+ <a name="l00227"></a>00227 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
186
+ <a name="l00228"></a>00228 <span class="keywordtype">int</span> x;
187
+ <a name="l00229"></a>00229 <span class="keywordtype">int</span> y;
188
+ <a name="l00230"></a>00230 } <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a>;
189
+ <a name="l00231"></a>00231 <span class="preprocessor">#endif</span>
190
+ <a name="l00232"></a>00232 <span class="preprocessor"></span>
191
+ <a name="l00233"></a>00233 <span class="preprocessor">#define CAM_POINT 1</span>
192
+ <a name="l00234"></a>00234 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CROSS 2</span>
193
+ <a name="l00235"></a>00235 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CIRCLE 4</span>
194
+ <a name="l00236"></a>00236 <span class="preprocessor"></span>
195
+ <a name="l00238"></a>00238
196
+ <a name="l00243"></a>00243 <span class="preprocessor">#ifdef __cplusplus</span>
197
+ <a name="l00244"></a><a class="code" href="structCamImage.html">00244</a> <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> {
198
+ <a name="l00245"></a>00245 <span class="preprocessor">#else</span>
199
+ <a name="l00246"></a>00246 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{
200
+ <a name="l00247"></a>00247 <span class="preprocessor">#endif</span>
201
+ <a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor">#ifdef SWIG</span>
202
+ <a name="l00249"></a>00249 <span class="preprocessor"></span>%immutable;
203
+ <a name="l00250"></a>00250 <span class="preprocessor">#endif</span>
204
+ <a name="l00251"></a><a class="code" href="structCamImage.html#3e532c7fd8541398111dd9c5f0a67beb">00251</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3e532c7fd8541398111dd9c5f0a67beb" title="Size of CamImage struct.">nSize</a>;
205
+ <a name="l00252"></a><a class="code" href="structCamImage.html#806139db868483213dcbf77418dc2458">00252</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#806139db868483213dcbf77418dc2458" title="Frame Id (user dependant).">id</a>;
206
+ <a name="l00253"></a><a class="code" href="structCamImage.html#1024670310293db4c8d452f88da1eb69">00253</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#1024670310293db4c8d452f88da1eb69" title="Number of channels in the image (generally 1,3 or 4).">nChannels</a>;
207
+ <a name="l00254"></a><a class="code" href="structCamImage.html#7f71e0f98c6dc9b207a6625814ecaf98">00254</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#7f71e0f98c6dc9b207a6625814ecaf98" title="Alpha channel number (0 if there is no alpha channel in the image).">alphaChannel</a>;
208
+ <a name="l00255"></a>00255
209
+ <a name="l00257"></a>00257
210
+ <a name="l00259"></a><a class="code" href="structCamImage.html#8b3356af6911e940ebce378b7f7da7a3">00259</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#8b3356af6911e940ebce378b7f7da7a3" title="Bit depth of pixels.">depth</a>;
211
+ <a name="l00260"></a><a class="code" href="structCamImage.html#c408432c6543eb9cd000d2b38654f867">00260</a> <span class="keywordtype">char</span> <a class="code" href="structCamImage.html#c408432c6543eb9cd000d2b38654f867" title="A four-character string describing the color model: &amp;quot;RGB&amp;quot;, &amp;quot;GRAY&amp;quot;...">colorModel</a>[4];
212
+ <a name="l00261"></a>00261
213
+ <a name="l00263"></a>00263
214
+ <a name="l00265"></a><a class="code" href="structCamImage.html#df702d93c2059882fc6fadf1fee7dddc">00265</a> <span class="keywordtype">char</span> <a class="code" href="structCamImage.html#df702d93c2059882fc6fadf1fee7dddc" title="The sequence of color channels.">channelSeq</a>[4];
215
+ <a name="l00266"></a><a class="code" href="structCamImage.html#81cb88a6daef72f36c85a5aabbcc9b4c">00266</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#81cb88a6daef72f36c85a5aabbcc9b4c" title="CAM_DATA_ORDER_PIXEL or CAM_DATA_ORDER_PLANE.">dataOrder</a>;
216
+ <a name="l00267"></a><a class="code" href="structCamImage.html#9c19e83e7d379454da0d37ab0931c284">00267</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9c19e83e7d379454da0d37ab0931c284" title="The origin of the image. Can only be CAM_ORIGIN_TL (top left).">origin</a>;
217
+ <a name="l00268"></a><a class="code" href="structCamImage.html#b96907c94e55dbfdeb666bb9e33593dc">00268</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#b96907c94e55dbfdeb666bb9e33593dc" title="Alignment of image data : 4 (CAM_ALIGN_DWORD) or 8 (CAM_ALIGN_QWORD) byte align.">align</a>;
218
+ <a name="l00269"></a><a class="code" href="structCamImage.html#0718d762110194c96df992ac92a0f65a">00269</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#0718d762110194c96df992ac92a0f65a" title="Width of the image in pixels.">width</a>;
219
+ <a name="l00270"></a><a class="code" href="structCamImage.html#4fdb9abd799982f2665d45c5de3d6249">00270</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#4fdb9abd799982f2665d45c5de3d6249" title="Height of the image in pixels.">height</a>;
220
+ <a name="l00271"></a>00271
221
+ <a name="l00272"></a>00272 <span class="preprocessor">#ifdef SWIG</span>
222
+ <a name="l00273"></a>00273 <span class="preprocessor"></span>%<span class="keyword">mutable</span>;
223
+ <a name="l00274"></a>00274 <span class="preprocessor">#endif</span>
224
+ <a name="l00276"></a>00276 <span class="preprocessor"></span>
225
+ <a name="l00279"></a><a class="code" href="structCamImage.html#e86507aeaa483473d60694cb045b358f">00279</a> <span class="preprocessor"> CamROI *roi;</span>
226
+ <a name="l00280"></a>00280 <span class="preprocessor"></span><span class="preprocessor">#ifdef SWIG</span>
227
+ <a name="l00281"></a>00281 <span class="preprocessor"></span>%immutable;
228
+ <a name="l00282"></a>00282 <span class="preprocessor">#endif</span>
229
+ <a name="l00283"></a>00283 <span class="preprocessor"></span>
230
+ <a name="l00285"></a>00285
231
+ <a name="l00290"></a><a class="code" href="structCamImage.html#cf97eae77448550b1487f8067701f58f">00290</a> <span class="keywordtype">void</span> *<a class="code" href="structCamImage.html#cf97eae77448550b1487f8067701f58f" title="Pointer to the header of another image that specifies the mask ROI.">mask</a>;
232
+ <a name="l00291"></a>00291
233
+ <a name="l00293"></a>00293
234
+ <a name="l00295"></a><a class="code" href="structCamImage.html#f54a3773c67e5c0ddbaf03e2db87daf3">00295</a> <span class="keywordtype">void</span> *<a class="code" href="structCamImage.html#f54a3773c67e5c0ddbaf03e2db87daf3" title="The image ID.">imageId</a>;
235
+ <a name="l00296"></a>00296
236
+ <a name="l00297"></a><a class="code" href="structCamImage.html#c444f3eae30f4e8447bcb6369e562a18">00297</a> <span class="keywordtype">void</span> *<a class="code" href="structCamImage.html#c444f3eae30f4e8447bcb6369e562a18" title="Free for user application (information on tiling in IplImage structure).">misc</a>;
237
+ <a name="l00298"></a><a class="code" href="structCamImage.html#63dd61fcbf53f3f634b79e695ad7202e">00298</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#63dd61fcbf53f3f634b79e695ad7202e" title="Useful size in bytes.">imageSize</a>;
238
+ <a name="l00299"></a><a class="code" href="structCamImage.html#66a2a68566fda784b8b4ccc3e7f9b9e8">00299</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structCamImage.html#66a2a68566fda784b8b4ccc3e7f9b9e8" title="Pointer to aligned image.">imageData</a>;
239
+ <a name="l00300"></a><a class="code" href="structCamImage.html#6d200bf299b7a30e3baaf073ce9f155b">00300</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#6d200bf299b7a30e3baaf073ce9f155b" title="The size of aligned line in bytes.">widthStep</a>;
240
+ <a name="l00301"></a><a class="code" href="structCamImage.html#1784fae7d8d05c9887a8c309e20b030b">00301</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#1784fae7d8d05c9887a8c309e20b030b" title="The top, bottom, left and right border mode.">borderMode</a>[4];
241
+ <a name="l00302"></a><a class="code" href="structCamImage.html#064cc347c36111b5eee399f35e1703f9">00302</a> <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#064cc347c36111b5eee399f35e1703f9" title="Constants for the top, bottom, left and right border.">borderConst</a>[4];
242
+ <a name="l00303"></a><a class="code" href="structCamImage.html#0a3ff7b8891c902f603f0c7105db53a1">00303</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structCamImage.html#0a3ff7b8891c902f603f0c7105db53a1" title="Pointer to full, nonaligned image. A NULL value indicates that the image is not owned...">imageDataOrigin</a>;
243
+ <a name="l00304"></a>00304
244
+ <a name="l00305"></a>00305 <span class="comment">// C++ Wrapping</span>
245
+ <a name="l00306"></a>00306
246
+ <a name="l00307"></a>00307 <span class="preprocessor">#ifdef __cplusplus</span>
247
+ <a name="l00308"></a><a class="code" href="structCamImage.html#47225dedda80e5bc7b6a6045cb243054">00308</a> <span class="preprocessor"></span> <a class="code" href="structCamImage.html#47225dedda80e5bc7b6a6045cb243054" title="Default non-allocating constructor.">CamImage</a>() {nSize=<span class="keyword">sizeof</span>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>); imageData=NULL; <a class="code" href="structCamImage.html#e86507aeaa483473d60694cb045b358f" title="Pointer to a ROI (Region of interest) structure.">roi</a>=NULL; imageSize=0; mask=NULL; imageDataOrigin=NULL; depth=CAM_DEPTH_8U; nChannels=1; }
248
+ <a name="l00309"></a>00309 <a class="code" href="structCamImage.html#47225dedda80e5bc7b6a6045cb243054" title="Default non-allocating constructor.">CamImage</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth=CAM_DEPTH_8U, <span class="keywordtype">int</span> channelseq=0);
249
+ <a name="l00310"></a>00310 <a class="code" href="structCamImage.html#47225dedda80e5bc7b6a6045cb243054" title="Default non-allocating constructor.">CamImage</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; image);
250
+ <a name="l00311"></a>00311 <a class="code" href="structCamImage.html#bbe6b2c4a7d844b46df2a484b1bee25b" title="Default destructor. Free any allocated memory.">~CamImage</a>();
251
+ <a name="l00312"></a>00312
252
+ <a name="l00313"></a>00313 <span class="preprocessor">#ifndef SWIG</span>
253
+ <a name="l00314"></a>00314 <span class="preprocessor"></span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; <a class="code" href="structCamImage.html#63fe038f6cd631c71c8452d300e09cbb" title="Operator= redefinition.">operator=</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image);
254
+ <a name="l00315"></a>00315 <span class="preprocessor">#endif</span>
255
+ <a name="l00316"></a>00316 <span class="preprocessor"></span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>* <a class="code" href="structCamImage.html#f12ef4051b19c61e5c5207c2a6207b50" title="Clone image (using camClone() function).">clone</a>() <span class="keyword">const</span>;
256
+ <a name="l00317"></a>00317 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>* <a class="code" href="structCamImage.html#bc5b857c3232216f47d03d055fdf7f12" title="Copy (not clone). Takes into account ROI and masks. C++ wrapping for camCopy() function...">copy</a>() <span class="keyword">const</span>;
257
+ <a name="l00318"></a>00318 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#bc5b857c3232216f47d03d055fdf7f12" title="Copy (not clone). Takes into account ROI and masks. C++ wrapping for camCopy() function...">copy</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
258
+ <a name="l00319"></a><a class="code" href="structCamImage.html#382cb32c0c01ffb3af84fba08ee1f25e">00319</a> <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#382cb32c0c01ffb3af84fba08ee1f25e" title="Check whether the image is allocated or not.">allocated</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (imageData)?<span class="keyword">true</span>:<span class="keyword">false</span>;}
259
+ <a name="l00320"></a>00320 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#dd165969aa960f8ef00d48392dd7ec68" title="Image allocation (1 to 16 bits, signed/unsigned, G/RGB/RGBA/YUV/HLS).">alloc</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth=CAM_DEPTH_8U, <span class="keywordtype">int</span> channelseq=0);
260
+ <a name="l00321"></a>00321 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#965c5645dc950f142b0842d2e21a75e4" title="Image header filling (1 to 16 bits, signed/unsigned, G/RGB/RGBA/YUV/HLS).">fill_header</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth=CAM_DEPTH_8U, <span class="keywordtype">int</span> channelseq=0);
261
+ <a name="l00322"></a>00322 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#180ec0cdbaf0778e108b7904338f9252" title="Deallocate image (C++ wrapping for camDeallocateImage() function).">deallocate</a>();
262
+ <a name="l00323"></a>00323 <span class="keywordtype">bool</span> free() {<span class="keywordflow">return</span> <a class="code" href="structCamImage.html#180ec0cdbaf0778e108b7904338f9252" title="Deallocate image (C++ wrapping for camDeallocateImage() function).">deallocate</a>();}
263
+ <a name="l00324"></a>00324 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#755922879ad4fb0dc0fd4790bb6f7462" title="RGB image allocation (8 bits, pixel oriented).">alloc_rgb</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
264
+ <a name="l00325"></a>00325 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#2fd24106b5dd9fc43722a32142482e52" title="RGBA image allocation (8 bits, pixel oriented, alpha channel).">alloc_rgba</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
265
+ <a name="l00326"></a>00326 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#20472cb0dd806b9395ada05ac62f4592" title="BGR image allocation (8 bits, pixel oriented).">alloc_bgr</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
266
+ <a name="l00327"></a>00327 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#7aa3cf8dc73e7a05ce8af806cd240b75" title="BGRA image allocation (8 bits, pixel oriented, alpha channel).">alloc_bgra</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
267
+ <a name="l00328"></a>00328 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#71f897db5295d43eca6e980ffd747676" title="YUV image allocation (8 bits, planar oriented).">alloc_yuv</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
268
+ <a name="l00329"></a>00329 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#45f6d225969b6d16ec26c6eb5c61cea5" title="HLS image allocation (16 bits, planar oriented).">alloc_hls</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
269
+ <a name="l00330"></a>00330 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#e8e351b2c30762c72697cac475adb41c" title="C++ wrapping for camLoadPGM() function.">load_pgm</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
270
+ <a name="l00331"></a>00331 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#f5a23f64ca660ebd835bc8a4ed393657" title="C++ wrapping for camSavePGM() function.">save_pgm</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename) <span class="keyword">const</span>;
271
+ <a name="l00332"></a>00332 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#a28ae26dcb6c4b48d3b8b578d27331bc" title="C++ wrapping for camSaveRawPGM() function.">save_raw_pgm</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename) <span class="keyword">const</span>;
272
+ <a name="l00333"></a>00333 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#fd93219c484f377ceee46f5ee13be36b" title="C++ wrapping for camLoadPGM() function.">load_bmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
273
+ <a name="l00334"></a>00334 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#1d7abb70c8ac717e7fd131c114e3733c" title="C++ wrapping for camSavePGM() function.">save_bmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename) <span class="keyword">const</span>;
274
+ <a name="l00335"></a>00335 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#16adeb8557c1eb8b18d24df43a0b1cfe" title="C++ wrapping for camSetROI() function.">set_roi</a>(<span class="keyword">const</span> <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> &amp;<a class="code" href="structCamImage.html#e86507aeaa483473d60694cb045b358f" title="Pointer to a ROI (Region of interest) structure.">roi</a>);
275
+ <a name="l00336"></a>00336 <span class="keywordtype">void</span> <a class="code" href="structCamImage.html#31708f4d1a187c535cbe40e623d4df7a" title="Fills an char array allocated with C++ operator new. len is filled with the length...">get_pixels</a>(<span class="keywordtype">char</span> **result, <span class="keywordtype">int</span> *len) <span class="keyword">const</span>;
276
+ <a name="l00337"></a>00337 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#e37bdc0a39c3229f638105480cc19c26" title="Set pixels of the picture, from a byte array.">set_pixels</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pixels, <span class="keywordtype">int</span> sz);
277
+ <a name="l00338"></a>00338 <span class="keywordtype">void</span> <a class="code" href="structCamImage.html#a6fbe3b2e3928fc47170b49098a1e87f" title="Returns some textual information about the image.">inspect</a>(<span class="keywordtype">char</span> **result, <span class="keywordtype">int</span> *len) <span class="keyword">const</span>;
278
+ <a name="l00339"></a>00339 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#a2d401435d52c2a0402da380d4f0e46e" title="View the picture.">view</a>() <span class="keyword">const</span>;
279
+ <a name="l00340"></a>00340 <span class="keywordtype">bool</span> <span class="keyword">set</span>(<span class="keywordtype">int</span> color);
280
+ <a name="l00341"></a>00341 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#224aae34ad2156208f4c2ec486373956" title="C++ wrapping for camAlphaComposite() function.">alpha_composite</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; dest) <span class="keyword">const</span>;
281
+ <a name="l00342"></a>00342
282
+ <a name="l00343"></a>00343 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9217ed2606c2b49ffa845ca384708ab3" title="C++ wrapping for camErodeSquare3() function.">erode_square3</a>();
283
+ <a name="l00344"></a>00344 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9217ed2606c2b49ffa845ca384708ab3" title="C++ wrapping for camErodeSquare3() function.">erode_square3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
284
+ <a name="l00345"></a>00345 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3278423ef8a0fe876402640e317e68f8" title="C++ wrapping for camErodeCircle5() function.">erode_circle5</a>();
285
+ <a name="l00346"></a>00346 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3278423ef8a0fe876402640e317e68f8" title="C++ wrapping for camErodeCircle5() function.">erode_circle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
286
+ <a name="l00347"></a>00347 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#7cece7afb468af61e6d136c99867ac97" title="C++ wrapping for camErodeCircle7() function.">erode_circle7</a>();
287
+ <a name="l00348"></a>00348 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#7cece7afb468af61e6d136c99867ac97" title="C++ wrapping for camErodeCircle7() function.">erode_circle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
288
+ <a name="l00349"></a>00349 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#f0f6224acd8cbff6fff2bd09ef12825b" title="C++ wrapping for camDilateSquare3() function.">dilate_square3</a>();
289
+ <a name="l00350"></a>00350 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#f0f6224acd8cbff6fff2bd09ef12825b" title="C++ wrapping for camDilateSquare3() function.">dilate_square3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
290
+ <a name="l00351"></a>00351 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#ee97f0a61e0239f1c7808bd6ce2ce651" title="C++ wrapping for camDilateCircle5() function.">dilate_circle5</a>();
291
+ <a name="l00352"></a>00352 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#ee97f0a61e0239f1c7808bd6ce2ce651" title="C++ wrapping for camDilateCircle5() function.">dilate_circle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
292
+ <a name="l00353"></a>00353 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3dffe13aa51429a533d0b06614d0a30d" title="C++ wrapping for camDilateCircle7() function.">dilate_circle7</a>();
293
+ <a name="l00354"></a>00354 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3dffe13aa51429a533d0b06614d0a30d" title="C++ wrapping for camDilateCircle7() function.">dilate_circle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
294
+ <a name="l00355"></a>00355 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#c3cbcf6ab831ffd8acf1579dbaa2b364" title="C++ wrapping for camMorphoGradientSquare3() function.">morpho_gradient_square3</a>();
295
+ <a name="l00356"></a>00356 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#c3cbcf6ab831ffd8acf1579dbaa2b364" title="C++ wrapping for camMorphoGradientSquare3() function.">morpho_gradient_square3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
296
+ <a name="l00357"></a>00357 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#8a182d7aa1a91f2631159ad6199bf5da" title="C++ wrapping for camMorphoGradientCircle5() function.">morpho_gradient_circle5</a>();
297
+ <a name="l00358"></a>00358 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#8a182d7aa1a91f2631159ad6199bf5da" title="C++ wrapping for camMorphoGradientCircle5() function.">morpho_gradient_circle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
298
+ <a name="l00359"></a>00359 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#ca03f01f815dbea194c073f014966ecc" title="C++ wrapping for camMorphoGradientCircle7() function.">morpho_gradient_circle7</a>();
299
+ <a name="l00360"></a>00360 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#ca03f01f815dbea194c073f014966ecc" title="C++ wrapping for camMorphoGradientCircle7() function.">morpho_gradient_circle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
300
+ <a name="l00361"></a>00361
301
+ <a name="l00362"></a>00362 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#4ecb322794b55e17b4f917c8be959d08" title="C++ wrapping for camMorphoMaths() function.">morpho_maths</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
302
+ <a name="l00363"></a>00363 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#4ecb322794b55e17b4f917c8be959d08" title="C++ wrapping for camMorphoMaths() function.">morpho_maths</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
303
+ <a name="l00364"></a>00364 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#2cc3da0cd3d7e425bc8e4855ec397cc9" title="C++ wrapping for camErode3x3() function.">erode_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
304
+ <a name="l00365"></a>00365 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#2cc3da0cd3d7e425bc8e4855ec397cc9" title="C++ wrapping for camErode3x3() function.">erode_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
305
+ <a name="l00366"></a>00366 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#cb51d475a1ea699d3b28e74fdd32b231" title="C++ wrapping for camDilate3x3() function.">dilate_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
306
+ <a name="l00367"></a>00367 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#cb51d475a1ea699d3b28e74fdd32b231" title="C++ wrapping for camDilate3x3() function.">dilate_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
307
+ <a name="l00368"></a>00368 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#d8f4c761b284f5ae39e8db1a807a6c80" title="C++ wrapping for camErode5x5() function.">erode_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
308
+ <a name="l00369"></a>00369 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#d8f4c761b284f5ae39e8db1a807a6c80" title="C++ wrapping for camErode5x5() function.">erode_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
309
+ <a name="l00370"></a>00370 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#dcac4da2d239f9d6b993b3328253404b" title="C++ wrapping for camDilate5x5() function.">dilate_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
310
+ <a name="l00371"></a>00371 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#dcac4da2d239f9d6b993b3328253404b" title="C++ wrapping for camDilate5x5() function.">dilate_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
311
+ <a name="l00372"></a>00372 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3b4b238f57409a4998fe2f7f579afa22" title="C++ wrapping for camErode7x7() function.">erode_7x7</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
312
+ <a name="l00373"></a>00373 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#3b4b238f57409a4998fe2f7f579afa22" title="C++ wrapping for camErode7x7() function.">erode_7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
313
+ <a name="l00374"></a>00374 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#d4fa6ef0e7b4f8f576950d9b74b75dfa" title="C++ wrapping for camDilate7x7() function.">dilate_7x7</a>(<span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker);
314
+ <a name="l00375"></a>00375 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#d4fa6ef0e7b4f8f576950d9b74b75dfa" title="C++ wrapping for camDilate7x7() function.">dilate_7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> &amp;ker) <span class="keyword">const</span>;
315
+ <a name="l00376"></a>00376
316
+ <a name="l00377"></a>00377 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#44b75d5978e0e2b7511a48e7b218a1be" title="C++ wrapping for camLinearFilter3x3() function.">linear_filter_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;ker);
317
+ <a name="l00378"></a>00378 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#44b75d5978e0e2b7511a48e7b218a1be" title="C++ wrapping for camLinearFilter3x3() function.">linear_filter_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;k) <span class="keyword">const</span>;
318
+ <a name="l00379"></a>00379 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#151ee90fc94f17f28e5b9e416835b4e4" title="C++ wrapping for camLinearFilter5x5() function.">linear_filter_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;ker);
319
+ <a name="l00380"></a>00380 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#151ee90fc94f17f28e5b9e416835b4e4" title="C++ wrapping for camLinearFilter5x5() function.">linear_filter_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;k) <span class="keyword">const</span>;
320
+ <a name="l00381"></a>00381 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#540d80309e8232e56b9c33b88b529e4f" title="C++ wrapping for camLinearFilterAbs3x3() function.">linear_filter_abs_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;ker);
321
+ <a name="l00382"></a>00382 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#540d80309e8232e56b9c33b88b529e4f" title="C++ wrapping for camLinearFilterAbs3x3() function.">linear_filter_abs_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;k) <span class="keyword">const</span>;
322
+ <a name="l00383"></a>00383 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#b43f4feba4a41007044f0e4b9afba8c3" title="C++ wrapping for camLinearFilterAbs5x5() function.">linear_filter_abs_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;ker);
323
+ <a name="l00384"></a>00384 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#b43f4feba4a41007044f0e4b9afba8c3" title="C++ wrapping for camLinearFilterAbs5x5() function.">linear_filter_abs_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> &amp;k) <span class="keyword">const</span>;
324
+ <a name="l00385"></a>00385 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#3a574de47c5172d0347d397e6bca6a67" title="C++ wrapping for camSobelV() function.">sobel_v</a>();
325
+ <a name="l00386"></a>00386 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#9dce28b23229ce996b2217d92e6255da" title="C++ wrapping for camSobelH() function.">sobel_h</a>();
326
+ <a name="l00387"></a>00387 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#6ad355afdd82c43a20c7aeb50dffb9f4" title="C++ wrapping for camSobelVAbs() function.">sobel_v_abs</a>();
327
+ <a name="l00388"></a>00388 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#012f52235d8a4945af1d517510a4bca6" title="C++ wrapping for camSobelHAbs() function.">sobel_h_abs</a>();
328
+ <a name="l00389"></a>00389 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#3a574de47c5172d0347d397e6bca6a67" title="C++ wrapping for camSobelV() function.">sobel_v</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
329
+ <a name="l00390"></a>00390 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#9dce28b23229ce996b2217d92e6255da" title="C++ wrapping for camSobelH() function.">sobel_h</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
330
+ <a name="l00391"></a>00391 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#6ad355afdd82c43a20c7aeb50dffb9f4" title="C++ wrapping for camSobelVAbs() function.">sobel_v_abs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
331
+ <a name="l00392"></a>00392 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#012f52235d8a4945af1d517510a4bca6" title="C++ wrapping for camSobelHAbs() function.">sobel_h_abs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
332
+ <a name="l00393"></a>00393 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#e830afe0726a96f61d95986534cbf147" title="C++ wrapping for camSepFilter3x3() function.">sep_filter_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
333
+ <a name="l00394"></a>00394 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#e830afe0726a96f61d95986534cbf147" title="C++ wrapping for camSepFilter3x3() function.">sep_filter_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
334
+ <a name="l00395"></a>00395 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#19765f5e6bb266328433e991414eaecf" title="C++ wrapping for camSepFilter5x5() function.">sep_filter_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
335
+ <a name="l00396"></a>00396 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#19765f5e6bb266328433e991414eaecf" title="C++ wrapping for camSepFilter5x5() function.">sep_filter_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
336
+ <a name="l00397"></a>00397 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9893a4891434317b53b3341ac3546bb1" title="C++ wrapping for camSepFilter7x7() function.">sep_filter_7x7</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
337
+ <a name="l00398"></a>00398 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9893a4891434317b53b3341ac3546bb1" title="C++ wrapping for camSepFilter7x7() function.">sep_filter_7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
338
+ <a name="l00399"></a>00399 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#86d6ddf30c7475008bee2fee10ce8470" title="C++ wrapping for camSepFilterAbs3x3() function.">sep_filter_abs_3x3</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
339
+ <a name="l00400"></a>00400 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#86d6ddf30c7475008bee2fee10ce8470" title="C++ wrapping for camSepFilterAbs3x3() function.">sep_filter_abs_3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
340
+ <a name="l00401"></a>00401 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#5a31c776b08129bbbc87d48eb5c9725e" title="C++ wrapping for camSepFilterAbs5x5() function.">sep_filter_abs_5x5</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
341
+ <a name="l00402"></a>00402 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#5a31c776b08129bbbc87d48eb5c9725e" title="C++ wrapping for camSepFilterAbs5x5() function.">sep_filter_abs_5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
342
+ <a name="l00403"></a>00403 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#65c41f0026de56833d3d855573a50d0a" title="C++ wrapping for camSepFilterAbs7x7() function.">sep_filter_abs_7x7</a>(<span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;ker);
343
+ <a name="l00404"></a>00404 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#65c41f0026de56833d3d855573a50d0a" title="C++ wrapping for camSepFilterAbs7x7() function.">sep_filter_abs_7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> &amp;k) <span class="keyword">const</span>;
344
+ <a name="l00405"></a>00405 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#6835776cbffc4e90fdc1a363d771d686" title="C++ wrapping for camFixedFilter() function.">fixed_filter</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keywordtype">int</span> filter) <span class="keyword">const</span>;
345
+ <a name="l00406"></a>00406 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#6835776cbffc4e90fdc1a363d771d686" title="C++ wrapping for camFixedFilter() function.">fixed_filter</a>(<span class="keywordtype">int</span> filter);
346
+ <a name="l00407"></a>00407
347
+ <a name="l00408"></a>00408 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#26128a974501b55061425d4718903a6c" title="C++ wrapping for camDrawLine() function.">draw_line</a>(<span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> color);
348
+ <a name="l00409"></a>00409 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#09d4b38ea43d85c386302c682dc91a99" title="C++ wrapping for camAccumulateLine() function.">accumulate_line</a>(<span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> acc);
349
+ <a name="l00410"></a>00410 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#7cf2861fa994775beddd73d15b5fc2b4" title="C++ wrapping for camDrawRectangle() function.">draw_rectangle</a>(<span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> color);
350
+ <a name="l00411"></a>00411 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#d6de57def5392a3012510b880131ef4c" title="C++ wrapping for camDrawText16s() function.">draw_text_16s</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> cwidth, <span class="keywordtype">int</span> cheight, <span class="keywordtype">int</span> orientation, <span class="keywordtype">int</span> color);
351
+ <a name="l00412"></a>00412 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#421a1f036889b3bddfe73914abdfb317" title="C++ wrapping for camDrawTextBitmap() function.">draw_text_bitmap</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keyword">const</span> <a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a> &amp;font);
352
+ <a name="l00413"></a>00413 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#f04e18b4157cd28314f14cff24c27255" title="C++ wrapping for camDrawCircle() function.">draw_circle</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> color);
353
+ <a name="l00414"></a>00414 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#a76effdd94751051d0fccca7cfb19df5" title="C++ wrapping for camDrawEllipse() function.">draw_ellipse</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> rx, <span class="keywordtype">int</span> ry, <span class="keywordtype">int</span> color);
354
+ <a name="l00415"></a>00415 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#fa8e85fcd5daf84237140ee0819e1e94" title="C++ wrapping for camPlot() function.">plot</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> color, <span class="keywordtype">int</span> kind=CAM_POINT);
355
+ <a name="l00416"></a>00416 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#ca1627928b058f792c1f683829f6c194" title="C++ wrapping for camFillColor() function.">fill_color</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> fillcolor, <span class="keywordtype">int</span> tolerance=-1);
356
+ <a name="l00417"></a>00417
357
+ <a name="l00418"></a>00418 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#966ca186dcb3794c748e040ddf993ab4" title="C++ wrapping for camWarping() function.">warping</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keywordtype">int</span> interpolation_method, <span class="keywordtype">bool</span> perspective, <span class="keyword">const</span> <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> &amp;ul, <span class="keyword">const</span> <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> &amp;ur, <span class="keyword">const</span> <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> &amp;lr, <span class="keyword">const</span> <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> &amp;ll) <span class="keyword">const</span>;
358
+ <a name="l00419"></a>00419 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#8676750ff52c0bd5fe5aa5662e7d8f4b" title="C++ wrapping for camScale() function.">scale</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
359
+ <a name="l00420"></a>00420 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#3139f90c796937b3fb6735922fe2934a" title="C++ wrapping for camSetRLEMask() function.">set_mask</a>(<span class="keyword">const</span> <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;mask);
360
+ <a name="l00421"></a>00421 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#3139f90c796937b3fb6735922fe2934a" title="C++ wrapping for camSetRLEMask() function.">set_mask</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;mask);
361
+ <a name="l00422"></a>00422 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#729934af05c636d76df44b6d32c2cee4" title="C++ wrapping for camApplyLUT() function.">apply_lut</a>(<span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;lut);
362
+ <a name="l00423"></a>00423 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#729934af05c636d76df44b6d32c2cee4" title="C++ wrapping for camApplyLUT() function.">apply_lut</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;lut) <span class="keyword">const</span>;
363
+ <a name="l00424"></a>00424
364
+ <a name="l00425"></a>00425 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *<a class="code" href="structCamImage.html#a2ed0da719c621936f077fc91a0c1748" title="C++ wrapping for camRGB2YUV() function.">to_yuv</a>() <span class="keyword">const</span>;
365
+ <a name="l00426"></a>00426 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#a2ed0da719c621936f077fc91a0c1748" title="C++ wrapping for camRGB2YUV() function.">to_yuv</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
366
+ <a name="l00427"></a>00427 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *<a class="code" href="structCamImage.html#4115de53ba3999da557d0a2085199500" title="C++ wrapping for camRGB2Y() function.">to_y</a>() <span class="keyword">const</span>;
367
+ <a name="l00428"></a>00428 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#4115de53ba3999da557d0a2085199500" title="C++ wrapping for camRGB2Y() function.">to_y</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
368
+ <a name="l00429"></a>00429 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *<a class="code" href="structCamImage.html#d5e763e5aef0a4adb7b5731616d656e7" title="C++ wrapping for camYUV2RGB() function.">to_rgb</a>() <span class="keyword">const</span>;
369
+ <a name="l00430"></a>00430 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#d5e763e5aef0a4adb7b5731616d656e7" title="C++ wrapping for camYUV2RGB() function.">to_rgb</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
370
+ <a name="l00431"></a>00431 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *<a class="code" href="structCamImage.html#0320deed299f97cfacb306394133d00f" title="C++ wrapping for camRGB2HLS() function.">to_hls</a>() <span class="keyword">const</span>;
371
+ <a name="l00432"></a>00432 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#0320deed299f97cfacb306394133d00f" title="C++ wrapping for camRGB2HLS() function.">to_hls</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
372
+ <a name="l00433"></a>00433
373
+ <a name="l00434"></a>00434 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* <a class="code" href="structCamImage.html#7f61223af6084ae4ee68f9068e2ab8b1" title="C++ wrapping for camRLEEncode() function.">encode</a>() <span class="keyword">const</span>;
374
+ <a name="l00435"></a>00435 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* <a class="code" href="structCamImage.html#655908504a41f6ba3106b47959eca087" title="C++ wrapping for camRLEEncodeLUT() function.">encode_lut</a>(<span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT) <span class="keyword">const</span>;
375
+ <a name="l00436"></a>00436 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* <a class="code" href="structCamImage.html#af6d85e23ae9587fe1e978edd927040d" title="C++ wrapping for camRLEEncodeThreshold() function.">encode_threshold</a>(<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
376
+ <a name="l00437"></a>00437 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* <a class="code" href="structCamImage.html#777fdb4812f28713be2b622ab2e90919" title="C++ wrapping for camRLEEncodeThresholdInv() function.">encode_threshold_inv</a>(<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
377
+ <a name="l00438"></a>00438 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* <a class="code" href="structCamImage.html#b51eb727ddf5d945c2589c9f1aec1100" title="C++ wrapping for camRLEEncodeColor() function.">encode_color</a>(<span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;clusters) <span class="keyword">const</span>;
378
+ <a name="l00439"></a>00439 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#7f61223af6084ae4ee68f9068e2ab8b1" title="C++ wrapping for camRLEEncode() function.">encode</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>&amp; dest) <span class="keyword">const</span>;
379
+ <a name="l00440"></a>00440 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#655908504a41f6ba3106b47959eca087" title="C++ wrapping for camRLEEncodeLUT() function.">encode_lut</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>&amp; dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT) <span class="keyword">const</span>;
380
+ <a name="l00441"></a>00441 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#af6d85e23ae9587fe1e978edd927040d" title="C++ wrapping for camRLEEncodeThreshold() function.">encode_threshold</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>&amp; dest, <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
381
+ <a name="l00442"></a>00442 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#777fdb4812f28713be2b622ab2e90919" title="C++ wrapping for camRLEEncodeThresholdInv() function.">encode_threshold_inv</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>&amp; dest, <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
382
+ <a name="l00443"></a>00443
383
+ <a name="l00444"></a>00444 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest,<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
384
+ <a name="l00445"></a>00445 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#f40381bf3a54b77002c8b5a3f87dd69d" title="C++ wrapping for camThresholdInv() function.">threshold_inv</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest,<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>) <span class="keyword">const</span>;
385
+ <a name="l00446"></a>00446 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#2bbca64b433d8fdcc0f06ddb45e406b1" title="C++ wrapping for camAbs() function.">abs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
386
+ <a name="l00447"></a>00447 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>(<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>);
387
+ <a name="l00448"></a>00448 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#f40381bf3a54b77002c8b5a3f87dd69d" title="C++ wrapping for camThresholdInv() function.">threshold_inv</a>(<span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>);
388
+ <a name="l00449"></a>00449 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#2bbca64b433d8fdcc0f06ddb45e406b1" title="C++ wrapping for camAbs() function.">abs</a>();
389
+ <a name="l00450"></a>00450
390
+ <a name="l00451"></a>00451 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#95bed480114784934ba911e6a639e890" title="C++ wrapping for camMonadicArithm() function.">arithm</a>(<span class="keywordtype">int</span> operation, <span class="keywordtype">int</span> c1=0, <span class="keywordtype">int</span> c2=0, <span class="keywordtype">int</span> c3=0);
391
+ <a name="l00452"></a>00452 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#95bed480114784934ba911e6a639e890" title="C++ wrapping for camMonadicArithm() function.">arithm</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; dest, <span class="keywordtype">int</span> operation, <span class="keywordtype">int</span> c1=0, <span class="keywordtype">int</span> c2=0, <span class="keywordtype">int</span> c3=0) <span class="keyword">const</span>;
392
+ <a name="l00453"></a>00453 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#95bed480114784934ba911e6a639e890" title="C++ wrapping for camMonadicArithm() function.">arithm</a>(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>&amp; dest, <span class="keywordtype">int</span> operation, <span class="keywordtype">int</span> c1=0, <span class="keywordtype">int</span> c2=0, <span class="keywordtype">int</span> c3=0, <span class="keywordtype">int</span> c4=0) <span class="keyword">const</span>;
393
+ <a name="l00454"></a>00454
394
+ <a name="l00455"></a>00455 <a class="code" href="structCamMeasuresResults.html" title="The structure containing the result of measuring.">CamMeasuresResults</a> <a class="code" href="structCamImage.html#196fa9730e3d057e4ddde59df8131d98" title="C++ wrapping for camMeasures() function.">measures</a>() <span class="keyword">const</span>;
395
+ <a name="l00456"></a>00456 <span class="keywordtype">float</span> <a class="code" href="structCamImage.html#8ec0f74f1e4fa94fe188643e59d3239c" title="C++ wrapping for camMeasureAverageDeviation() function.">average_deviation</a>(<span class="keywordtype">int</span> average=0) <span class="keyword">const</span>;
396
+ <a name="l00457"></a>00457
397
+ <a name="l00458"></a>00458 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#a6cc8da36d76c2ca0337329931d127e4" title="C++ wrapping for camSumHV() function.">sum_hv</a>(<a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>&amp; hsum, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;vsum) <span class="keyword">const</span>;
398
+ <a name="l00459"></a>00459 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#6713d1ab96250e8ffe3dffec965e5a2d" title="C++ wrapping for camSumH() function.">sum_h</a>(<a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>&amp; sum) <span class="keyword">const</span>;
399
+ <a name="l00460"></a>00460 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#0f67ef23a10f2cd4d3c90ac29f059858" title="C++ wrapping for camSumV() function.">sum_v</a>(<a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>&amp; sum) <span class="keyword">const</span>;
400
+ <a name="l00461"></a>00461
401
+ <a name="l00462"></a>00462 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#513aaa98b92875ab5be393069e75ca2f" title="C++ wrapping for camHistogram() function.">histogram</a>(<a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>&amp; histo) <span class="keyword">const</span>;
402
+ <a name="l00463"></a>00463 <span class="keywordtype">bool</span> histogram_equalization(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;src_histo, <span class="keywordtype">int</span> option=0, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *work=NULL);
403
+ <a name="l00464"></a>00464 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#df704942972a3df3941ff6971f573326" title="C++ wrapping for camHistogramEqualizatio() function.">histogram_2_channels</a>(<span class="keywordtype">int</span> ch1, <span class="keywordtype">int</span> ch2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;result, <span class="keywordtype">int</span> size=1) <span class="keyword">const</span>;
404
+ <a name="l00465"></a>00465 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#c34435866c2a0cfc049c8cf7fe46a925" title="C++ wrapping for camFindThreshold() function.">find_threshold</a>(<span class="keywordtype">int</span> percent) <span class="keyword">const</span>;
405
+ <a name="l00466"></a>00466
406
+ <a name="l00467"></a>00467 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#b58882aa7afb2b8ef48662456e61b0b5" title="C++ wrapping for camHoughCircle() function.">hough_circle</a>(<span class="keywordtype">int</span> percent, <span class="keywordtype">int</span> rmin, <span class="keywordtype">int</span> rmax, <span class="keywordtype">int</span> &amp;xc, <span class="keywordtype">int</span> &amp;yc, <span class="keywordtype">int</span> &amp;rc) <span class="keyword">const</span>;
407
+ <a name="l00468"></a>00468
408
+ <a name="l00469"></a>00469 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#95ba0b2de9f858893bcd29311f9477f2" title="C++ wrapping for camHierarchicalWatershed() function.">hierarchical_watershed</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;watershed, <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> &amp;tob) <span class="keyword">const</span>;
409
+ <a name="l00470"></a>00470 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#debee2a56b45389d8fbd19612ebd1549" title="C++ wrapping for camHierarchicalWatershedContours() function.">hierarchical_watershed_contours</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;ws, <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> &amp;tob) <span class="keyword">const</span>;
410
+ <a name="l00471"></a>00471 <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#95306abcf2064784961736b52ba4dd0f" title="C++ wrapping for camHierarchicalWatershedRegions() function.">hierarchical_watershed_regions</a>(<span class="keyword">const</span> <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> &amp;tob);
411
+ <a name="l00472"></a>00472
412
+ <a name="l00473"></a>00473 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#89125487c1430e0ef0759135171e5b16" title="C++ wrapping for camDrawKeypoints() function.">draw_keypoints</a>(<span class="keyword">const</span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> &amp;points, <span class="keywordtype">int</span> color = 255);
413
+ <a name="l00474"></a>00474 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#300fb085ce3f0caf7efd2096c548b06b" title="C++ wrapping for camDrawKeypoint() function.">draw_keypoint</a>(<span class="keyword">const</span> <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> &amp;point, <span class="keywordtype">int</span> color = 255);
414
+ <a name="l00475"></a>00475 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#aaf886424031d2e03ebdc851f0edd166" title="C++ wrapping for camHarris() function.">harris</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> &amp;points, <span class="keywordtype">int</span> k = 41) <span class="keyword">const</span>;
415
+ <a name="l00476"></a>00476 <span class="keywordtype">bool</span> <a class="code" href="structCamImage.html#d28d710517926707f4b9b99a05430f27" title="C++ wrapping for camIntegralImage() function.">integral_image</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
416
+ <a name="l00477"></a>00477 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *<a class="code" href="structCamImage.html#d28d710517926707f4b9b99a05430f27" title="C++ wrapping for camIntegralImage() function.">integral_image</a>() <span class="keyword">const</span>;
417
+ <a name="l00478"></a>00478 <span class="keywordtype">bool</span> fast_hessian_detector(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> &amp;points, <span class="keywordtype">int</span> <a class="code" href="structCamImage.html#9d070d340d25bb7b0ca796ee85731367" title="C++ wrapping for camThreshold() function.">threshold</a>, <span class="keywordtype">int</span> options = 0) <span class="keyword">const</span>;
418
+ <a name="l00479"></a>00479 };
419
+ <a name="l00480"></a>00480
420
+ <a name="l00481"></a>00481 <span class="keyword">inline</span> CamROI::CamROI(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> _coi) { <a class="code" href="structCamROI.html#ebb3fa10fc56c3a051daf7b5de8f473e" title="The channel of interest number.">coi</a>=_coi; <a class="code" href="structCamROI.html#ed73323466317b01eb2811eeaf10076d" title="The offset from the origin of the rectangular ROI.">xOffset</a>=0; <a class="code" href="structCamROI.html#cd5901ab1292015a6e07ded8ef11626d" title="The offset from the origin of the rectangular ROI.">yOffset</a>=0; <a class="code" href="structCamROI.html#0696d43bea5823a9285c74eddfdb1ea6" title="The size of the rectangular ROI.">width</a>=image.<a class="code" href="structCamImage.html#0718d762110194c96df992ac92a0f65a" title="Width of the image in pixels.">width</a>; <a class="code" href="structCamROI.html#72cfb85e793e2b5a4b8e55c3ab6a85a1" title="The size of the rectangular ROI.">height</a>=image.<a class="code" href="structCamImage.html#4fdb9abd799982f2665d45c5de3d6249" title="Height of the image in pixels.">height</a>; }
421
+ <a name="l00482"></a>00482
422
+ <a name="l00483"></a>00483 <span class="preprocessor">#else</span>
423
+ <a name="l00484"></a>00484 <span class="preprocessor"></span>} <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>;
424
+ <a name="l00485"></a>00485 <span class="preprocessor">#endif</span>
425
+ <a name="l00486"></a>00486 <span class="preprocessor"></span>
426
+ <a name="l00487"></a>00487 <span class="comment">/* Camellia C functions headers</span>
427
+ <a name="l00488"></a>00488 <span class="comment"> */</span>
428
+ <a name="l00489"></a>00489
429
+ <a name="l00490"></a>00490 <span class="preprocessor">#ifndef SWIG</span>
430
+ <a name="l00491"></a>00491 <span class="preprocessor"></span>
431
+ <a name="l00492"></a>00492 <span class="preprocessor">#define CAM_PIXEL_ACCESS(ptr,y,x) \</span>
432
+ <a name="l00493"></a>00493 <span class="preprocessor"> ((CAM_PIXEL*)((char*)ptr+y*ptr##widthstep)+x)</span>
433
+ <a name="l00494"></a>00494 <span class="preprocessor"></span>
434
+ <a name="l00495"></a>00495 <span class="preprocessor">#define CAM_MAX(a,b) (((a)&gt;(b))?(a):(b))</span>
435
+ <a name="l00496"></a>00496 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MIN(a,b) (((a)&lt;(b))?(a):(b))</span>
436
+ <a name="l00497"></a>00497 <span class="preprocessor"></span>
437
+ <a name="l00501"></a><a class="code" href="camellia_8h.html#0c4aec999467782a435e90a17bf04df0">00501</a> <span class="preprocessor">#define CAM_RGBA(r,g,b,a) ((r)|((g)&lt;&lt;8)|((b)&lt;&lt;16)|((a)&lt;&lt;24))</span>
438
+ <a name="l00502"></a>00502 <span class="preprocessor"></span>
439
+ <a name="l00507"></a><a class="code" href="camellia_8h.html#ba7f529322af216adbff44dd5dda429a">00507</a> <span class="preprocessor">#define CAM_RGB(r,g,b) ((r)|((g)&lt;&lt;8)|((b)&lt;&lt;16))</span>
440
+ <a name="l00508"></a>00508 <span class="preprocessor"></span>
441
+ <a name="l00509"></a>00509 <span class="preprocessor">#endif // SWIG</span>
442
+ <a name="l00510"></a>00510 <span class="preprocessor"></span>
443
+ <a name="l00511"></a>00511 <span class="comment">/* General purpose structures</span>
444
+ <a name="l00512"></a>00512 <span class="comment"> */</span>
445
+ <a name="l00513"></a>00513
446
+ <a name="l00514"></a>00514 <span class="comment">/* Monadic and Dyadic Arithmetic Operators kernel</span>
447
+ <a name="l00515"></a>00515 <span class="comment"> */</span>
448
+ <a name="l00516"></a>00516
449
+ <a name="l00517"></a>00517 <span class="preprocessor">#define CAM_ARITHM_ABS 0</span>
450
+ <a name="l00518"></a>00518 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_INVERSE 1</span>
451
+ <a name="l00519"></a>00519 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_SELECT 2</span>
452
+ <a name="l00520"></a>00520 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_THRESHOLD 3 </span>
453
+ <a name="l00521"></a>00521 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_DOUBLE_THRESHOLD 4</span>
454
+ <a name="l00522"></a>00522 <span class="preprocessor"></span>
455
+ <a name="l00523"></a>00523 <span class="preprocessor">#define CAM_ARITHM_ADD 0</span>
456
+ <a name="l00524"></a>00524 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_SUM 0</span>
457
+ <a name="l00525"></a>00525 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_SUB 1</span>
458
+ <a name="l00526"></a>00526 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_MUL 2</span>
459
+ <a name="l00527"></a>00527 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_ABSDIFF 3</span>
460
+ <a name="l00528"></a>00528 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_WEIGHTED_SUM 4</span>
461
+ <a name="l00529"></a>00529 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_INF 5</span>
462
+ <a name="l00530"></a>00530 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_SUP 6</span>
463
+ <a name="l00531"></a>00531 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_COMP_INF 7</span>
464
+ <a name="l00532"></a>00532 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_COMP_EQUAL 8</span>
465
+ <a name="l00533"></a>00533 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_COMP_SUP 9</span>
466
+ <a name="l00534"></a>00534 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_AND 10</span>
467
+ <a name="l00535"></a>00535 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ARITHM_OR 11</span>
468
+ <a name="l00536"></a>00536 <span class="preprocessor"></span>
469
+ <a name="l00537"></a>00537 <span class="comment">// Shorter constants</span>
470
+ <a name="l00538"></a>00538 <span class="preprocessor">#define CAM_ABS 0</span>
471
+ <a name="l00539"></a>00539 <span class="preprocessor"></span><span class="preprocessor">#define CAM_INVERSE 1</span>
472
+ <a name="l00540"></a>00540 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SELECT 2</span>
473
+ <a name="l00541"></a>00541 <span class="preprocessor"></span><span class="preprocessor">#define CAM_THRESHOLD 3 </span>
474
+ <a name="l00542"></a>00542 <span class="preprocessor"></span><span class="preprocessor">#define CAM_DOUBLE_THRESHOLD 4</span>
475
+ <a name="l00543"></a>00543 <span class="preprocessor"></span>
476
+ <a name="l00544"></a>00544 <span class="preprocessor">#define CAM_ADD 0</span>
477
+ <a name="l00545"></a>00545 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SUM 0</span>
478
+ <a name="l00546"></a>00546 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SUB 1</span>
479
+ <a name="l00547"></a>00547 <span class="preprocessor"></span><span class="preprocessor">#define CAM_ABSDIFF 2</span>
480
+ <a name="l00548"></a>00548 <span class="preprocessor"></span><span class="preprocessor">#define CAM_WEIGHTED_SUM 3</span>
481
+ <a name="l00549"></a>00549 <span class="preprocessor"></span><span class="preprocessor">#define CAM_INF 4</span>
482
+ <a name="l00550"></a>00550 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SUP 5</span>
483
+ <a name="l00551"></a>00551 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COMP_INF 6</span>
484
+ <a name="l00552"></a>00552 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COMP_EQUAL 7</span>
485
+ <a name="l00553"></a>00553 <span class="preprocessor"></span><span class="preprocessor">#define CAM_COMP_SUP 8</span>
486
+ <a name="l00554"></a>00554 <span class="preprocessor"></span><span class="preprocessor">#define CAM_AND 9</span>
487
+ <a name="l00555"></a>00555 <span class="preprocessor"></span><span class="preprocessor">#define CAM_OR 10</span>
488
+ <a name="l00556"></a>00556 <span class="preprocessor"></span>
489
+ <a name="l00557"></a>00557 <span class="preprocessor">#ifndef SWIG</span>
490
+ <a name="l00558"></a>00558 <span class="preprocessor"></span>
491
+ <a name="l00560"></a>00560
492
+ <a name="l00563"></a><a class="code" href="structCamArithmParams.html">00563</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
493
+ <a name="l00564"></a><a class="code" href="structCamArithmParams.html#81ae7b6aa7164c6b6bd1eda263baf989">00564</a> <span class="keywordtype">int</span> operation;
494
+ <a name="l00565"></a><a class="code" href="structCamArithmParams.html#c8a45f07c07b0e1777090eee066fc3e0">00565</a> <span class="keywordtype">int</span> c1;
495
+ <a name="l00566"></a><a class="code" href="structCamArithmParams.html#00efb839ef73b4b34f03a14c5e1654c8">00566</a> <span class="keywordtype">int</span> c2;
496
+ <a name="l00567"></a><a class="code" href="structCamArithmParams.html#99bfa642f82d0ef308527f11ac1249d1">00567</a> <span class="keywordtype">int</span> c3;
497
+ <a name="l00568"></a><a class="code" href="structCamArithmParams.html#b3e12c67fc66da6c9414d870bb8e33ed">00568</a> <span class="keywordtype">int</span> c4;
498
+ <a name="l00569"></a>00569 } <a class="code" href="structCamArithmParams.html" title="This is the parameter structure for the arithmetic computation kernel.">CamArithmParams</a>;
499
+ <a name="l00570"></a>00570
500
+ <a name="l00571"></a>00571 <span class="preprocessor">#endif // SWIG</span>
501
+ <a name="l00572"></a>00572 <span class="preprocessor"></span>
502
+ <a name="l00573"></a>00573 <span class="preprocessor">#ifdef __cplusplus</span>
503
+ <a name="l00574"></a>00574 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
504
+ <a name="l00575"></a>00575 <span class="preprocessor">#endif</span>
505
+ <a name="l00576"></a>00576 <span class="preprocessor"></span>
506
+ <a name="l00577"></a>00577 <span class="preprocessor">#ifndef SWIG</span>
507
+ <a name="l00578"></a>00578 <span class="preprocessor"></span>
508
+ <a name="l00580"></a>00580
509
+ <a name="l00604"></a>00604 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#893c77311bc86c4e0cd4145e9e4d73c5" title="This is the function that implements all the monadic arithmetic operators (i.e. operators...">camMonadicArithm</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamArithmParams.html" title="This is the parameter structure for the arithmetic computation kernel.">CamArithmParams</a> *params);
510
+ <a name="l00605"></a>00605
511
+ <a name="l00607"></a>00607
512
+ <a name="l00646"></a>00646 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#92644056e097e0734e774001fbcdcacb" title="This is the function that implements all the dyadic arithmetic operators (i.e. operators...">camDyadicArithm</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamArithmParams.html" title="This is the parameter structure for the arithmetic computation kernel.">CamArithmParams</a> *params);
513
+ <a name="l00647"></a>00647
514
+ <a name="l00649"></a>00649
515
+ <a name="l00650"></a>00650 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#a075aa7e1acffc34056c8ea2e0793c15" title="Image addition.">camAdd</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
516
+ <a name="l00651"></a>00651
517
+ <a name="l00653"></a>00653
518
+ <a name="l00654"></a>00654 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#32b76b2d5b19d62ec552a8bb8ff2e469" title="Image multiplication.">camMul</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
519
+ <a name="l00655"></a>00655
520
+ <a name="l00657"></a>00657
521
+ <a name="l00658"></a>00658 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ca659e68abd6449dfdd72070f55f3ef7" title="Image subtraction.">camSub</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
522
+ <a name="l00659"></a>00659
523
+ <a name="l00661"></a>00661
524
+ <a name="l00663"></a>00663 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#3da02773030098aa2560d20c433508f1" title="Simple threshold function (wrapper for camMonadicArithm() function).">camThreshold</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> threshold);
525
+ <a name="l00664"></a>00664
526
+ <a name="l00666"></a>00666
527
+ <a name="l00668"></a>00668 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#a662752c18c3bef9387a1eeb2de12ac5" title="Simple threshold function (wrapper for camMonadicArithm() function).">camThresholdInv</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> threshold);
528
+ <a name="l00669"></a>00669
529
+ <a name="l00671"></a>00671 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#3f143e0650065dfaffe00db233efd3f9" title="Compute absolute value of image (for signed images) (wrapper for camMonadicArithm()...">camAbs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
530
+ <a name="l00672"></a>00672
531
+ <a name="l00673"></a>00673 <span class="comment">/* Apply-a-LUT-on-image Kernel</span>
532
+ <a name="l00674"></a>00674 <span class="comment"> */</span>
533
+ <a name="l00675"></a>00675
534
+ <a name="l00676"></a>00676 <span class="comment">// 12 bits maximum LUT management</span>
535
+ <a name="l00677"></a>00677 <span class="preprocessor">#define CAM_TABLE_SIZE 4096</span>
536
+ <a name="l00678"></a>00678 <span class="preprocessor"></span>
537
+ <a name="l00679"></a>00679 <span class="preprocessor">#define CamLUT CamTable</span>
538
+ <a name="l00680"></a>00680 <span class="preprocessor"></span><span class="preprocessor">#define CamHisto CamTable</span>
539
+ <a name="l00681"></a>00681 <span class="preprocessor"></span>
540
+ <a name="l00682"></a>00682 <span class="preprocessor">#ifdef __cplusplus</span>
541
+ <a name="l00684"></a><a class="code" href="structCamTable.html">00684</a> <span class="preprocessor">struct CamTable {</span>
542
+ <a name="l00685"></a>00685 <span class="preprocessor"></span><span class="preprocessor">#else</span>
543
+ <a name="l00687"></a>00687 <span class="preprocessor">typedef struct {</span>
544
+ <a name="l00688"></a>00688 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
545
+ <a name="l00689"></a><a class="code" href="structCamTable.html#37d41267f8a3e8294724be1f1ec27241">00689</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> t[CAM_TABLE_SIZE];
546
+ <a name="l00690"></a><a class="code" href="structCamTable.html#e222c682253452be0846e71d9c381994">00690</a> <span class="keywordtype">int</span> size;
547
+ <a name="l00691"></a>00691 <span class="preprocessor">#ifdef __cplusplus </span>
548
+ <a name="l00692"></a>00692 <span class="preprocessor"></span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>(<span class="keywordtype">int</span> s=0) {size=s;}
549
+ <a name="l00693"></a>00693 <span class="keywordtype">int</span> &amp;operator[](<span class="keywordtype">int</span> n);
550
+ <a name="l00694"></a>00694 <span class="keywordtype">bool</span> <span class="keyword">set</span>(<span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> array, <span class="keywordtype">int</span> sz) { <span class="keywordflow">if</span> (sz&lt;CAM_TABLE_SIZE) { size=sz; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;sz;i++) t[i]=array[i]; <span class="keywordflow">return</span> <span class="keyword">true</span>;} <span class="keywordflow">return</span> <span class="keyword">false</span>;}
551
+ <a name="l00695"></a>00695 };
552
+ <a name="l00696"></a>00696 <span class="preprocessor">#else</span>
553
+ <a name="l00697"></a>00697 <span class="preprocessor"></span>} <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a>;
554
+ <a name="l00698"></a>00698 <span class="preprocessor">#endif</span>
555
+ <a name="l00699"></a>00699 <span class="preprocessor"></span>
556
+ <a name="l00701"></a>00701 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#1059dd4f90093463d612651ebe7b340a" title="Apply a Look-Up-Table on image function.">camApplyLUT</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *LUT);
557
+ <a name="l00702"></a>00702
558
+ <a name="l00703"></a>00703 <span class="preprocessor">#endif // SWIG</span>
559
+ <a name="l00704"></a>00704 <span class="preprocessor"></span>
560
+ <a name="l00705"></a>00705 <span class="comment">/* Fundamental Morphological Mathematics Algorithms' kernel</span>
561
+ <a name="l00706"></a>00706 <span class="comment"> */</span>
562
+ <a name="l00707"></a>00707 <span class="preprocessor">#define CAM_MM_NEIGHB 7</span>
563
+ <a name="l00708"></a>00708 <span class="preprocessor"></span>
564
+ <a name="l00709"></a>00709 <span class="preprocessor">#define CAM_MM_DILATED 0</span>
565
+ <a name="l00710"></a>00710 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MM_ERODED 1</span>
566
+ <a name="l00711"></a>00711 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MM_ORIGINAL 2</span>
567
+ <a name="l00712"></a>00712 <span class="preprocessor"></span>
568
+ <a name="l00713"></a>00713 <span class="preprocessor">#define CAM_MM_SUBSTRACTION 0</span>
569
+ <a name="l00714"></a>00714 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MM_MULTIPLEX 1</span>
570
+ <a name="l00715"></a>00715 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MM_THINNING 2</span>
571
+ <a name="l00716"></a>00716 <span class="preprocessor"></span><span class="preprocessor">#define CAM_MM_THICKENING 3</span>
572
+ <a name="l00717"></a>00717 <span class="preprocessor"></span>
573
+ <a name="l00719"></a>00719
574
+ <a name="l00722"></a>00722 <span class="preprocessor">#ifdef __cplusplus</span>
575
+ <a name="l00723"></a><a class="code" href="structCamMorphoMathsKernel.html">00723</a> <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> {
576
+ <a name="l00724"></a>00724 <span class="preprocessor">#else</span>
577
+ <a name="l00725"></a>00725 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{
578
+ <a name="l00726"></a>00726 <span class="preprocessor">#endif</span>
579
+ <a name="l00727"></a>00727 <span class="preprocessor"></span> <span class="comment">// Structural elements</span>
580
+ <a name="l00728"></a>00728 <span class="preprocessor">#ifndef SWIG</span>
581
+ <a name="l00729"></a><a class="code" href="structCamMorphoMathsKernel.html#c47c40749779d6bc2e39be038687f809">00729</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="structCamMorphoMathsKernel.html#c47c40749779d6bc2e39be038687f809" title="The structural element used for all dilation operations.">dilationStructElt</a>[CAM_MM_NEIGHB][CAM_MM_NEIGHB];
582
+ <a name="l00730"></a><a class="code" href="structCamMorphoMathsKernel.html#6f6f381c52fb2001573235266f3bf2fd">00730</a> <span class="keywordtype">int</span> <a class="code" href="structCamMorphoMathsKernel.html#6f6f381c52fb2001573235266f3bf2fd" title="The structural element used for all erosion operations.">erosionStructElt</a>[CAM_MM_NEIGHB][CAM_MM_NEIGHB];
583
+ <a name="l00731"></a>00731 <span class="preprocessor">#endif</span>
584
+ <a name="l00732"></a><a class="code" href="structCamMorphoMathsKernel.html#a2eddb4963ffbe61a9c8da90f7f90557">00732</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> source1;
585
+ <a name="l00733"></a><a class="code" href="structCamMorphoMathsKernel.html#38b2698c3472a2e0bb43cd0c68107958">00733</a> <span class="keywordtype">int</span> source2;
586
+ <a name="l00734"></a><a class="code" href="structCamMorphoMathsKernel.html#b45f8f43426bb38162143c1e8aa84582">00734</a> <span class="keywordtype">int</span> <a class="code" href="structCamMorphoMathsKernel.html#b45f8f43426bb38162143c1e8aa84582" title="CAM_MM_SUBSTRACTION | CAM_MM_MULTIPLEX | CAM_MM_THINNING | CAM_MM_THICKENING.">operation</a>;
587
+ <a name="l00735"></a>00735 <span class="preprocessor">#ifdef __cplusplus</span>
588
+ <a name="l00737"></a><a class="code" href="structCamMorphoMathsKernel.html#139b91a3ff7cdc738bf330ace55b64dd">00737</a> <span class="preprocessor"> CamMorphoMathsKernel() {</span>
589
+ <a name="l00738"></a>00738 <span class="preprocessor"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;CAM_MM_NEIGHB;i++) {
590
+ <a name="l00739"></a>00739 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j=0;j&lt;CAM_MM_NEIGHB;j++) {
591
+ <a name="l00740"></a>00740 dilationStructElt[i][j]=0;
592
+ <a name="l00741"></a>00741 erosionStructElt[i][j]=0;
593
+ <a name="l00742"></a>00742 }
594
+ <a name="l00743"></a>00743 }
595
+ <a name="l00744"></a>00744 source1=CAM_MM_ORIGINAL;
596
+ <a name="l00745"></a>00745 source2=CAM_MM_ORIGINAL;
597
+ <a name="l00746"></a>00746 operation=CAM_MM_MULTIPLEX;
598
+ <a name="l00747"></a>00747 }
599
+ <a name="l00749"></a><a class="code" href="structCamMorphoMathsKernel.html#5099219db228546d2f336e922d7c5050">00749</a> <span class="keywordtype">bool</span> <a class="code" href="structCamMorphoMathsKernel.html#5099219db228546d2f336e922d7c5050" title="Set an element of the dilation kernel.">set_dilate</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> val) {
600
+ <a name="l00750"></a>00750 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_MM_NEIGHB)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_MM_NEIGHB)) {
601
+ <a name="l00751"></a>00751 dilationStructElt[x][y]=val; <span class="keywordflow">return</span> <span class="keyword">true</span>;
602
+ <a name="l00752"></a>00752 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
603
+ <a name="l00753"></a>00753 }
604
+ <a name="l00755"></a><a class="code" href="structCamMorphoMathsKernel.html#7bb30952c67918e20e5c31d2be64d90f">00755</a> <span class="keywordtype">int</span> <a class="code" href="structCamMorphoMathsKernel.html#7bb30952c67918e20e5c31d2be64d90f" title="Get an element from the dilation kernel.">get_dilate</a>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y) {
605
+ <a name="l00756"></a>00756 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_MM_NEIGHB)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_MM_NEIGHB)) {
606
+ <a name="l00757"></a>00757 <span class="keywordflow">return</span> dilationStructElt[x][y];
607
+ <a name="l00758"></a>00758 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
608
+ <a name="l00759"></a>00759 }
609
+ <a name="l00761"></a><a class="code" href="structCamMorphoMathsKernel.html#55e92e2ad14579d99f4c40f6b4eb4af2">00761</a> <span class="keywordtype">bool</span> <a class="code" href="structCamMorphoMathsKernel.html#55e92e2ad14579d99f4c40f6b4eb4af2" title="Set an element of the erosion kernel.">set_erode</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> val) {
610
+ <a name="l00762"></a>00762 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_MM_NEIGHB)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_MM_NEIGHB)) {
611
+ <a name="l00763"></a>00763 erosionStructElt[x][y]=val; <span class="keywordflow">return</span> <span class="keyword">true</span>;
612
+ <a name="l00764"></a>00764 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
613
+ <a name="l00765"></a>00765 }
614
+ <a name="l00767"></a><a class="code" href="structCamMorphoMathsKernel.html#13d534566bcb315bc23226f363626a32">00767</a> <span class="keywordtype">int</span> <a class="code" href="structCamMorphoMathsKernel.html#13d534566bcb315bc23226f363626a32" title="Get an element from the erosion kernel.">get_erode</a>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y) {
615
+ <a name="l00768"></a>00768 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_MM_NEIGHB)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_MM_NEIGHB)) {
616
+ <a name="l00769"></a>00769 <span class="keywordflow">return</span> erosionStructElt[x][y];
617
+ <a name="l00770"></a>00770 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
618
+ <a name="l00771"></a>00771 }
619
+ <a name="l00772"></a>00772 };
620
+ <a name="l00773"></a>00773 <span class="preprocessor">#else</span>
621
+ <a name="l00774"></a>00774 <span class="preprocessor"></span>} <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a>;
622
+ <a name="l00775"></a>00775 <span class="preprocessor">#endif</span>
623
+ <a name="l00776"></a>00776 <span class="preprocessor"></span>
624
+ <a name="l00777"></a>00777 <span class="preprocessor">#ifndef SWIG</span>
625
+ <a name="l00778"></a>00778 <span class="preprocessor"></span>
626
+ <a name="l00783"></a>00783
627
+ <a name="l00785"></a>00785
628
+ <a name="l00797"></a>00797 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#52d51b9230e15d3f4de74a5d0a9c6c11" title="This is the function that can compute erosion AND dilation in one scan (with 5x5...">camMorphoMaths</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
629
+ <a name="l00798"></a>00798
630
+ <a name="l00799"></a>00799 <span class="comment">// These are specific functions able to compute only erosion or dilation, on 3x3, 5x5 or 7x7 neighbourhood</span>
631
+ <a name="l00800"></a>00800
632
+ <a name="l00809"></a>00809 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#66d45657c1f0d5c57ff29a6db5737124" title="3x3 neighborhood erosion">camErode3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
633
+ <a name="l00810"></a>00810
634
+ <a name="l00819"></a>00819 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#509eb9626695b34a758cc646331d5738" title="5x5 neighborhood erosion">camErode5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
635
+ <a name="l00820"></a>00820
636
+ <a name="l00829"></a>00829 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#40c1bc1ac3471c2b2b9d80196ef7c84b" title="7x7 neighborhood erosion">camErode7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
637
+ <a name="l00830"></a>00830
638
+ <a name="l00839"></a>00839 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ea6d49b279e9f8b9a37ca76d76132dec" title="3x3 neighborhood dilation">camDilate3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
639
+ <a name="l00840"></a>00840
640
+ <a name="l00849"></a>00849 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#25292226167d1208b5f2a0201c993f76" title="5x5 neighborhood dilation">camDilate5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
641
+ <a name="l00850"></a>00850
642
+ <a name="l00859"></a>00859 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#877f74ef21bc6137de91330bc8221d51" title="7x7 neighborhood dilation">camDilate7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamMorphoMathsKernel.html" title="This is the parameter structure for the morpho maths kernel.">CamMorphoMathsKernel</a> *kernel);
643
+ <a name="l00860"></a>00860
644
+ <a name="l00872"></a>00872 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#293efc2f56e0b03053570e365fc0186f" title="Morphological gradient computation (Diameter-5 circle structural element).">camMorphoGradientCircle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
645
+ <a name="l00873"></a>00873
646
+ <a name="l00883"></a>00883 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#17cbf594bed35eed1ad716bcfd586a2e" title="Erosion (Optimized for diameter-5 circle structural element).">camErodeCircle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
647
+ <a name="l00884"></a>00884
648
+ <a name="l00894"></a>00894 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#290c44dc86b91ddfa7ed37d954e687d3" title="Dilation (Optimized for diameter-5 circle structural element).">camDilateCircle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
649
+ <a name="l00895"></a>00895
650
+ <a name="l00907"></a>00907 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#f2ea7f9675545d5679c241888c13981c" title="Morphological gradient computation (Diameter-7 circle structural element).">camMorphoGradientCircle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
651
+ <a name="l00908"></a>00908
652
+ <a name="l00918"></a>00918 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#681f725ab242ecd8decf7c69fe84a941" title="Erosion (Optimized for diameter-7 circle structural element).">camErodeCircle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
653
+ <a name="l00919"></a>00919
654
+ <a name="l00929"></a>00929 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#804d77aabcd5f77d3a4dd5f0fabb97ad" title="Dilation (Optimized for diameter-7 circle structural element).">camDilateCircle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
655
+ <a name="l00930"></a>00930
656
+ <a name="l00942"></a>00942 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2a4c93e9b36955b34685629043ce4de1" title="Morphological gradient computation (3x3 square structural element).">camMorphoGradientSquare3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
657
+ <a name="l00943"></a>00943
658
+ <a name="l00953"></a>00953 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#944740494c1d9a5052d7976c1ca7037e" title="Erosion (3x3 square structural element).">camErodeSquare3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
659
+ <a name="l00954"></a>00954
660
+ <a name="l00964"></a>00964 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#c91a921eddbe7e9650944dc637cd82ef" title="Dilation (3x3 square structural element).">camDilateSquare3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
661
+ <a name="l00965"></a>00965
662
+ <a name="l00966"></a>00966
663
+ <a name="l00967"></a>00967 <span class="comment">/* Labeling kernel</span>
664
+ <a name="l00968"></a>00968 <span class="comment"> */</span>
665
+ <a name="l00969"></a>00969 <span class="preprocessor">#define CamLabellingResults CamLabelingResults</span>
666
+ <a name="l00970"></a>00970 <span class="preprocessor"></span><span class="preprocessor">#define camLabelling camLabeling</span>
667
+ <a name="l00971"></a>00971 <span class="preprocessor"></span><span class="preprocessor">#define camLabelling2ndScan camLabeling2ndScan</span>
668
+ <a name="l00972"></a>00972 <span class="preprocessor"></span><span class="preprocessor">#define camRLELabelling camRLELabeling</span>
669
+ <a name="l00973"></a>00973 <span class="preprocessor"></span>
670
+ <a name="l00974"></a>00974 <span class="preprocessor">#define CAM_LABEL_MAX_BLOBS 1024</span>
671
+ <a name="l00975"></a>00975 <span class="preprocessor"></span><span class="preprocessor">#define CAM_LABEL_PIXEL unsigned short</span>
672
+ <a name="l00976"></a>00976 <span class="preprocessor"></span>
673
+ <a name="l00977"></a>00977 <span class="preprocessor">#define CAM_LABEL_PIXEL_ACCESS(ptr,y,x) \</span>
674
+ <a name="l00978"></a>00978 <span class="preprocessor"> ((CAM_LABEL_PIXEL*)((char*)ptr+y*ptr##widthstep)+x)</span>
675
+ <a name="l00979"></a>00979 <span class="preprocessor"></span>
676
+ <a name="l00981"></a><a class="code" href="structCamLabelingResults.html">00981</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
677
+ <a name="l00982"></a><a class="code" href="structCamLabelingResults.html#84c1e3823ebebe431949ac65a6f2fc85">00982</a> <span class="keywordtype">int</span> nbLabels;
678
+ <a name="l00983"></a><a class="code" href="structCamLabelingResults.html#a727e38011e4ed5a6e852e8b3cb40b00">00983</a> <span class="keywordtype">int</span> equiv[CAM_LABEL_MAX_BLOBS];
679
+ <a name="l00984"></a>00984 } <a class="code" href="structCamLabelingResults.html" title="Data structure containing the result of pixel-based labeling.">CamLabelingResults</a>;
680
+ <a name="l00985"></a>00985
681
+ <a name="l00987"></a>00987
682
+ <a name="l01000"></a>01000 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#5fc50b255032118cd481cf644c9ea49a" title="4-connectedness labeling function">camLabeling</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamLabelingResults.html" title="Data structure containing the result of pixel-based labeling.">CamLabelingResults</a> *results);
683
+ <a name="l01001"></a>01001
684
+ <a name="l01006"></a>01006 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2a3522307f11a548e4cb1f335924e348" title="Second scan for pixel-based labeling. Obsolete.">camLabeling2ndScan</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamLabelingResults.html" title="Data structure containing the result of pixel-based labeling.">CamLabelingResults</a> *results);
685
+ <a name="l01007"></a>01007
686
+ <a name="l01008"></a>01008 <span class="comment">/* Blob analysis Kernel</span>
687
+ <a name="l01009"></a>01009 <span class="comment"> * C code */</span>
688
+ <a name="l01010"></a>01010
689
+ <a name="l01011"></a>01011 <span class="preprocessor">#endif // SWIG</span>
690
+ <a name="l01012"></a>01012 <span class="preprocessor"></span>
691
+ <a name="l01013"></a>01013 <span class="preprocessor">#define CAM_RLE_INT_TYPE unsigned short</span>
692
+ <a name="l01014"></a>01014 <span class="preprocessor"></span>
693
+ <a name="l01016"></a>01016
694
+ <a name="l01018"></a><a class="code" href="structCamRun.html">01018</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
695
+ <a name="l01019"></a><a class="code" href="structCamRun.html#7128ba9edc8d94ba869e3a2abe545e6f">01019</a> CAM_RLE_INT_TYPE value;
696
+ <a name="l01020"></a><a class="code" href="structCamRun.html#07a7b4f736d8a7556c55c7e020e5ca4f">01020</a> CAM_RLE_INT_TYPE length;
697
+ <a name="l01021"></a><a class="code" href="structCamRun.html#1c9e35a7b428c1d87ed965bed784144a">01021</a> CAM_RLE_INT_TYPE blob;
698
+ <a name="l01022"></a><a class="code" href="structCamRun.html#996fdb2f29d1dcd503d4849c596cf19b">01022</a> CAM_RLE_INT_TYPE line;
699
+ <a name="l01023"></a>01023 } <a class="code" href="structCamRun.html" title="The CamRun structure, basic element of a Run-Length Encoding (RLE) of an image.">CamRun</a>;
700
+ <a name="l01024"></a>01024
701
+ <a name="l01025"></a>01025 <span class="preprocessor">#ifndef SWIG</span>
702
+ <a name="l01026"></a>01026 <span class="preprocessor"></span>
703
+ <a name="l01028"></a><a class="code" href="structCamBlobInfo.html">01028</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
704
+ <a name="l01029"></a>01029 <span class="keywordtype">int</span> id;
705
+ <a name="l01030"></a><a class="code" href="structCamBlobInfo.html#62e462c811287eba85820577476024e4">01030</a> <span class="keywordtype">int</span> left;
706
+ <a name="l01031"></a><a class="code" href="structCamBlobInfo.html#6fd85bde3654472fea8feef0e84336f9">01031</a> <span class="keywordtype">int</span> top;
707
+ <a name="l01032"></a><a class="code" href="structCamBlobInfo.html#ccb25ce9145eaf24cc530093fcfecd60">01032</a> <span class="keywordtype">int</span> width;
708
+ <a name="l01033"></a><a class="code" href="structCamBlobInfo.html#0de38b280c65796521fc3c6ada3b4b57">01033</a> <span class="keywordtype">int</span> height;
709
+ <a name="l01034"></a><a class="code" href="structCamBlobInfo.html#ecf85434c03b0b0b436eec12b02caf57">01034</a> <span class="keywordtype">int</span> surface;
710
+ <a name="l01035"></a><a class="code" href="structCamBlobInfo.html#409836355176c0f46765fa1ba96510a4">01035</a> <span class="keywordtype">int</span> cx;
711
+ <a name="l01036"></a><a class="code" href="structCamBlobInfo.html#4d659cc926320783a545def6f49b2b2c">01036</a> <span class="keywordtype">int</span> cy;
712
+ <a name="l01037"></a><a class="code" href="structCamBlobInfo.html#7575331a396724154459360cf79471c1">01037</a> <span class="keywordtype">int</span> value;
713
+ <a name="l01038"></a><a class="code" href="structCamBlobInfo.html#cfd9bc16dd41613b28dc101cbcb5a6d2">01038</a> <span class="keywordtype">int</span> min;
714
+ <a name="l01039"></a><a class="code" href="structCamBlobInfo.html#3076592c9ccc073094e1a4cda9164968">01039</a> <span class="keywordtype">int</span> max;
715
+ <a name="l01040"></a><a class="code" href="structCamBlobInfo.html#50a902fcc446f0f4ce7a3f15c76b4034">01040</a> <a class="code" href="structCamRun.html" title="The CamRun structure, basic element of a Run-Length Encoding (RLE) of an image.">CamRun</a> *first;
716
+ <a name="l01041"></a><a class="code" href="structCamBlobInfo.html#ab1a1ddca2b9d41036f4788dca4949c9">01041</a> <a class="code" href="structCamRun.html" title="The CamRun structure, basic element of a Run-Length Encoding (RLE) of an image.">CamRun</a> *last;
717
+ <a name="l01042"></a><a class="code" href="structCamBlobInfo.html#27e6b4b8d1f21c7901ddbdd33d7e066f">01042</a> <span class="keywordtype">void</span> *misc;
718
+ <a name="l01043"></a>01043 } <a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a>;
719
+ <a name="l01044"></a>01044
720
+ <a name="l01045"></a>01045 <span class="preprocessor">#define CamBlobAnalysisResults CamBlobs // For compatibility with previous versions</span>
721
+ <a name="l01046"></a>01046 <span class="preprocessor"></span>
722
+ <a name="l01047"></a>01047 <span class="preprocessor">#ifdef __cplusplus</span>
723
+ <a name="l01049"></a><a class="code" href="structCamBlobs.html">01049</a> <span class="preprocessor">struct CamBlobs {</span>
724
+ <a name="l01050"></a><a class="code" href="structCamBlobs.html#71b8c29f9b0a987e479d550f6d749afa">01050</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> nbBlobs;
725
+ <a name="l01051"></a><a class="code" href="structCamBlobs.html#bf2adfc51ad7b81c318e9ea80d27af0a">01051</a> <a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> blobInfo[CAM_LABEL_MAX_BLOBS];
726
+ <a name="l01052"></a><a class="code" href="structCamBlobs.html#351fe2421db66fb86c0d1391abbc5b69">01052</a> <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a>() {nbBlobs=0;}
727
+ <a name="l01053"></a>01053 <a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a>&amp; operator[](<span class="keywordtype">int</span> index);
728
+ <a name="l01054"></a>01054 };
729
+ <a name="l01055"></a>01055 <span class="preprocessor">#else</span>
730
+ <a name="l01057"></a>01057 <span class="preprocessor">typedef struct {</span>
731
+ <a name="l01058"></a>01058 <span class="preprocessor"></span> <span class="keywordtype">int</span> nbBlobs;
732
+ <a name="l01059"></a>01059 <a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> blobInfo[CAM_LABEL_MAX_BLOBS];
733
+ <a name="l01060"></a>01060 } <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a>;
734
+ <a name="l01061"></a>01061 <span class="preprocessor">#endif</span>
735
+ <a name="l01062"></a>01062 <span class="preprocessor"></span>
736
+ <a name="l01077"></a>01077 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#dc751b1d21a7292086532567b39d5075" title="Blob analysis function.">camBlobAnalysis1stScan</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *blobImage, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *original, <a class="code" href="structCamLabelingResults.html" title="Data structure containing the result of pixel-based labeling.">CamLabelingResults</a> *info, <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> *results);
737
+ <a name="l01078"></a>01078
738
+ <a name="l01080"></a>01080
739
+ <a name="l01089"></a>01089 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4375c67533e4bf2d01d0a53453e366e3" title="Second pass, to get some more information if needed.">camBlobAnalysisRefinement</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *blobImage, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *original, <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> *results);
740
+ <a name="l01090"></a>01090
741
+ <a name="l01091"></a>01091 <span class="comment">/* RLE Labeling kernel</span>
742
+ <a name="l01092"></a>01092 <span class="comment"> * New : v1.4 of LLAs</span>
743
+ <a name="l01093"></a>01093 <span class="comment"> * Updated v1.6 and v1.9, v2.0 of LLAs</span>
744
+ <a name="l01094"></a>01094 <span class="comment"> */</span>
745
+ <a name="l01095"></a>01095
746
+ <a name="l01099"></a>01099
747
+ <a name="l01100"></a>01100 <span class="preprocessor">#ifdef __cplusplus</span>
748
+ <a name="l01102"></a><a class="code" href="structCamRLEImage.html">01102</a> <span class="preprocessor">struct CamRLEImage {</span>
749
+ <a name="l01103"></a>01103 <span class="preprocessor"></span><span class="preprocessor">#else</span>
750
+ <a name="l01105"></a>01105 <span class="preprocessor">typedef struct {</span>
751
+ <a name="l01106"></a>01106 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
752
+ <a name="l01107"></a><a class="code" href="structCamRLEImage.html#3e4702ecf3a4c0698b725bba4f5cff9d">01107</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> nSize;
753
+ <a name="l01108"></a><a class="code" href="structCamRLEImage.html#16094e4886280a5a16d85790bd954a3a">01108</a> <span class="keywordtype">int</span> id;
754
+ <a name="l01109"></a><a class="code" href="structCamRLEImage.html#d9e2df73020d95c9a50fcc142f8881f4">01109</a> <span class="keywordtype">int</span> height;
755
+ <a name="l01110"></a><a class="code" href="structCamRLEImage.html#16f405dc2b03c68fc8c4960fe701aec0">01110</a> <span class="keywordtype">int</span> width;
756
+ <a name="l01111"></a><a class="code" href="structCamRLEImage.html#0ba602c1f880d45f1fe7e409e6dcad57">01111</a> <span class="keywordtype">int</span> nbRuns;
757
+ <a name="l01112"></a><a class="code" href="structCamRLEImage.html#5326cf5ca424a8ef9606d005eda3f102">01112</a> <span class="keywordtype">int</span> allocated;
758
+ <a name="l01113"></a><a class="code" href="structCamRLEImage.html#2bc1862869be59e019ea0248581e0c83">01113</a> <a class="code" href="structCamRun.html" title="The CamRun structure, basic element of a Run-Length Encoding (RLE) of an image.">CamRun</a> *runs;
759
+ <a name="l01114"></a>01114
760
+ <a name="l01115"></a>01115 <span class="preprocessor">#ifdef __cplusplus</span>
761
+ <a name="l01116"></a><a class="code" href="structCamRLEImage.html#fd3f1e4e3bb6f19e0496a773d14ebac8">01116</a> <span class="preprocessor"></span> <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>() {nSize=<span class="keyword">sizeof</span>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>); allocated=0; runs=NULL; nbRuns=0;}
762
+ <a name="l01117"></a>01117 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>(<span class="keywordtype">int</span> nbruns);
763
+ <a name="l01118"></a>01118 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>(<span class="keyword">const</span> <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;image);
764
+ <a name="l01119"></a>01119 ~<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>();
765
+ <a name="l01120"></a>01120
766
+ <a name="l01121"></a>01121 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;image);
767
+ <a name="l01122"></a>01122 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>* clone() <span class="keyword">const</span>;
768
+ <a name="l01123"></a>01123 <span class="keywordtype">bool</span> alloc(<span class="keywordtype">int</span> nbruns);
769
+ <a name="l01124"></a>01124 <span class="keywordtype">bool</span> realloc(<span class="keywordtype">int</span> nbruns);
770
+ <a name="l01125"></a>01125
771
+ <a name="l01126"></a>01126 <span class="keywordtype">bool</span> encode(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image);
772
+ <a name="l01127"></a>01127 <span class="keywordtype">bool</span> encode_lut(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT);
773
+ <a name="l01128"></a>01128 <span class="keywordtype">bool</span> encode_threshold(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> threshold);
774
+ <a name="l01129"></a>01129 <span class="keywordtype">bool</span> encode_threshold_inv(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> threshold);
775
+ <a name="l01130"></a>01130 <span class="keywordtype">bool</span> encode_color(<span class="keyword">const</span> <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;clusters);
776
+ <a name="l01131"></a>01131 <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a>* labeling();
777
+ <a name="l01132"></a>01132 <span class="keywordtype">bool</span> labeling(<a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> &amp;results);
778
+ <a name="l01133"></a>01133 <span class="keywordtype">bool</span> blob_analysis(<a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> &amp;results) <span class="keyword">const</span>;
779
+ <a name="l01134"></a>01134 <span class="keywordtype">bool</span> apply_lut(<span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT);
780
+ <a name="l01135"></a>01135 <span class="keywordtype">bool</span> apply_lut(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT) <span class="keyword">const</span>;
781
+ <a name="l01136"></a>01136 <span class="keywordtype">bool</span> decode(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
782
+ <a name="l01137"></a>01137 <span class="keywordtype">bool</span> decode(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT) <span class="keyword">const</span>;
783
+ <a name="l01138"></a>01138 <span class="keywordtype">bool</span> decode_blobs(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest) <span class="keyword">const</span>;
784
+ <a name="l01139"></a>01139 <span class="keywordtype">bool</span> decode_blobs(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;dest, <span class="keyword">const</span> <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> &amp;LUT) <span class="keyword">const</span>;
785
+ <a name="l01140"></a>01140 <span class="keywordtype">bool</span> inverse();
786
+ <a name="l01141"></a>01141 <span class="keywordtype">bool</span> erode_cross(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;dest) <span class="keyword">const</span>;
787
+ <a name="l01142"></a>01142 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *erode_cross() <span class="keyword">const</span>;
788
+ <a name="l01143"></a>01143 <span class="keywordtype">bool</span> erode_3x3(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;dest) <span class="keyword">const</span>;
789
+ <a name="l01144"></a>01144 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *erode_3x3() <span class="keyword">const</span>;
790
+ <a name="l01145"></a>01145 <span class="keywordtype">bool</span> erode_3x2(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> &amp;dest) <span class="keyword">const</span>;
791
+ <a name="l01146"></a>01146 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *erode_3x2() <span class="keyword">const</span>;
792
+ <a name="l01147"></a>01147 };
793
+ <a name="l01148"></a>01148 <span class="preprocessor">#else</span>
794
+ <a name="l01149"></a>01149 <span class="preprocessor"></span>} <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a>;
795
+ <a name="l01150"></a>01150 <span class="preprocessor">#endif</span>
796
+ <a name="l01151"></a>01151 <span class="preprocessor"></span>
797
+ <a name="l01153"></a>01153
798
+ <a name="l01174"></a>01174 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7abff958da31df68c1e2e51876303592" title="RLE Image allocation.">camRLEAllocate</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *rle, <span class="keywordtype">int</span> max_runs);
799
+ <a name="l01175"></a>01175
800
+ <a name="l01177"></a>01177
801
+ <a name="l01185"></a>01185 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2c150b160d28340ece465e8161eb8757" title="RLE image deallocation.">camRLEDeallocate</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *rle);
802
+ <a name="l01186"></a>01186
803
+ <a name="l01188"></a>01188 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#0a2fb1b231e97725a8cd46e91a489daa" title="Alias for camRLEDeallocate() function.">camRLEFree</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *rle);
804
+ <a name="l01189"></a>01189
805
+ <a name="l01191"></a>01191
806
+ <a name="l01200"></a>01200 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b2e398655ce514efabaf74a2caca3447" title="RLE image reallocation.">camRLEReallocate</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *rle, <span class="keywordtype">int</span> new_max_runs);
807
+ <a name="l01201"></a>01201
808
+ <a name="l01203"></a>01203
809
+ <a name="l01211"></a>01211 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#f6c8ab5acec8857c8299ba9a9e63fffd" title="RLE image cloning.">camRLEClone</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *source, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest);
810
+ <a name="l01212"></a>01212
811
+ <a name="l01214"></a>01214
812
+ <a name="l01224"></a>01224 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#a699c24c3840fca04e838d731aea1b7a" title="Run-Length encoding.">camRLEEncode</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest);
813
+ <a name="l01225"></a>01225
814
+ <a name="l01227"></a>01227
815
+ <a name="l01237"></a>01237 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#36b4ca7ddca5c72859d5cb88a3875887" title="Run-Length encoding, with integrated LUT operations.">camRLEEncodeLUT</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *LUT);
816
+ <a name="l01238"></a>01238
817
+ <a name="l01240"></a>01240
818
+ <a name="l01248"></a>01248 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#df671bd0479a0f1d78884878a7bdf3c3" title="Run-Length encoding, with integrated thresholding.">camRLEEncodeThreshold</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest, <span class="keywordtype">int</span> threshold);
819
+ <a name="l01249"></a>01249
820
+ <a name="l01251"></a>01251
821
+ <a name="l01259"></a>01259 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2fab509f921ec4f4a8aef3ef93344347" title="Run-Length encoding, with integrated thresholding.">camRLEEncodeThresholdInv</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest, <span class="keywordtype">int</span> threshold);
822
+ <a name="l01260"></a>01260
823
+ <a name="l01261"></a>01261 <span class="keywordtype">int</span> camRLEEncodeColor(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *clusters);
824
+ <a name="l01262"></a>01262
825
+ <a name="l01264"></a>01264
826
+ <a name="l01288"></a>01288 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#348632f8fe184c8a0340d1adaf316e0d" title="RLE image labeling + blob analysis. 4-connectedness labeling.">camRLELabeling</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *src, <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> *results);
827
+ <a name="l01289"></a>01289
828
+ <a name="l01291"></a>01291
829
+ <a name="l01298"></a>01298 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7bdba2a8e16e2f3bd55dc8250bbafd39" title="The RLE Blob Analysis function.">camRLEBlobAnalysis</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *src, <a class="code" href="structCamBlobs.html" title="The result of any blob analysis. Essentially an array of CamBlobInfo.">CamBlobs</a> *results);
830
+ <a name="l01299"></a>01299
831
+ <a name="l01301"></a>01301
832
+ <a name="l01311"></a>01311 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#117c49e467f08ecec1f4f48b8059d37a" title="The RLE &amp;quot;Apply a LUT&amp;quot; function.">camRLEApplyLUT</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *src, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *LUT);
833
+ <a name="l01312"></a>01312
834
+ <a name="l01314"></a>01314
835
+ <a name="l01325"></a>01325 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ebccaa8cc9e341ef28bc1184db25ac58" title="The RLE decoding function.">camRLEDecode</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *LUT);
836
+ <a name="l01326"></a>01326
837
+ <a name="l01328"></a>01328
838
+ <a name="l01339"></a>01339 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7b4e74dc430b35b0e7faf5243f705ffd" title="Another RLE decoding function, used to retrieve some specific blobs.">camRLEDecodeBlobs</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *LUT);
839
+ <a name="l01340"></a>01340
840
+ <a name="l01342"></a>01342
841
+ <a name="l01346"></a>01346 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#3916b4991abbef547603dc205381a251" title="RLE image inversion.">camRLEInverse</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *image);
842
+ <a name="l01347"></a>01347
843
+ <a name="l01349"></a>01349 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b18d8a0893fc962226c70f0fbe7d5276" title="RLE blob sides reconstruction.">camRLEBlobSides</a>(<a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> *blob, <span class="keywordtype">int</span> *left, <span class="keywordtype">int</span> *top, <span class="keywordtype">int</span> *right, <span class="keywordtype">int</span> *bottom);
844
+ <a name="l01350"></a>01350
845
+ <a name="l01352"></a>01352 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9b2aa4574f7ea43c845032725fa088d2" title="RLE blob intersection with a ROI.">camRLEBlobROIIntersect</a>(<a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> *blob, <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi);
846
+ <a name="l01353"></a>01353
847
+ <a name="l01355"></a>01355 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#a4f8b9e5f17dfbbde1aa4718aa1d166d" title="Retrieves the average, min and max values.">camRLEBlobMeasures</a>(<a class="code" href="structCamBlobInfo.html" title="The Blob (block of bits) Information Structure. This is the most important result...">CamBlobInfo</a> *blob, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *original);
848
+ <a name="l01356"></a>01356
849
+ <a name="l01358"></a>01358
850
+ <a name="l01363"></a>01363 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#e68c93597753418b22d257ede896e4b9" title="RLE image erosion (cross structural element).">camRLEErodeCross</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *image, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *result);
851
+ <a name="l01364"></a>01364
852
+ <a name="l01366"></a>01366
853
+ <a name="l01371"></a>01371 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b8204547f72749bab5e21100d07c5d8a" title="RLE image erosion (3x3 square structural element).">camRLEErode3x3</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *image, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *result);
854
+ <a name="l01372"></a>01372
855
+ <a name="l01374"></a>01374
856
+ <a name="l01379"></a>01379 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#741866f17383569eb9ef8549848d36bd" title="RLE image erosion (3x2 square structural element).">camRLEErode3x2</a>(<a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *image, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *result);
857
+ <a name="l01380"></a>01380
858
+ <a name="l01382"></a>01382
859
+ <a name="l01386"></a>01386
860
+ <a name="l01388"></a>01388
861
+ <a name="l01398"></a>01398 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2c8d0d19b76ab2b70bdb0863d265bc26" title="The classical image histogramming.">camHistogram</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *histo);
862
+ <a name="l01399"></a>01399
863
+ <a name="l01400"></a>01400 <span class="preprocessor">#define CAM_EQUAL_PERFECT 0</span>
864
+ <a name="l01401"></a>01401 <span class="preprocessor"></span><span class="preprocessor">#define CAM_EQUAL_FAST 1</span>
865
+ <a name="l01402"></a>01402 <span class="preprocessor"></span>
866
+ <a name="l01404"></a>01404
867
+ <a name="l01415"></a>01415 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#c0e2148995a8b6f897c30bfa8687dc07" title="Histogram Equalization.">camHistogramEqualization</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *src_histo, <span class="keywordtype">int</span> option, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *work);
868
+ <a name="l01416"></a>01416
869
+ <a name="l01418"></a>01418
870
+ <a name="l01427"></a>01427 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#de060106e377a48e599e782eb0331e81" title="Two channels histogram computation.">camHistogram2Channels</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> ch1, <span class="keywordtype">int</span> ch2, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *result, <span class="keywordtype">int</span> size);
871
+ <a name="l01428"></a>01428
872
+ <a name="l01430"></a>01430 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ce8f5c621078474e934a52b895ce9f1d" title="Compute the threshold for a given percentage of pixels.">camFindThreshold</a>(<a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *histo, <span class="keywordtype">int</span> percent);
873
+ <a name="l01432"></a>01432
874
+ <a name="l01433"></a>01433 <span class="comment">/* Horizontal and vertical summing</span>
875
+ <a name="l01434"></a>01434 <span class="comment"> */</span>
876
+ <a name="l01435"></a>01435
877
+ <a name="l01437"></a>01437
878
+ <a name="l01445"></a>01445 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4ba2c4e9781a3673450d209cc0b67aad" title="Horizontal and vertical summing function.">camSumHV</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *hsum, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *vsum);
879
+ <a name="l01446"></a>01446
880
+ <a name="l01448"></a>01448
881
+ <a name="l01455"></a>01455 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b3bf851a2a4e3239812265c3500a3465" title="Vertical summing function.">camSumV</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *results);
882
+ <a name="l01456"></a>01456
883
+ <a name="l01458"></a>01458
884
+ <a name="l01465"></a>01465 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#e7d48717a112c84b2b75e67e012b9cfa" title="Horizontal summing function.">camSumH</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamTable.html" title="Pixel table (LUT (Look-Up Table) and histogram) structure.">CamTable</a> *results);
885
+ <a name="l01466"></a>01466
886
+ <a name="l01467"></a>01467 <span class="preprocessor">#endif // SWIG</span>
887
+ <a name="l01468"></a>01468 <span class="preprocessor"></span>
888
+ <a name="l01469"></a>01469 <span class="comment">/* Measures in an image : min, max, average computation</span>
889
+ <a name="l01470"></a>01470 <span class="comment"> */</span>
890
+ <a name="l01471"></a>01471 <span class="preprocessor">#ifdef __cplusplus</span>
891
+ <a name="l01473"></a><a class="code" href="structCamMeasuresResults.html">01473</a> <span class="preprocessor">struct CamMeasuresResults {</span>
892
+ <a name="l01474"></a>01474 <span class="preprocessor"></span><span class="preprocessor">#else</span>
893
+ <a name="l01476"></a>01476 <span class="preprocessor">typedef struct {</span>
894
+ <a name="l01477"></a>01477 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
895
+ <a name="l01478"></a><a class="code" href="structCamMeasuresResults.html#d66c40567e32fa482146ff1932aad7cb">01478</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> min, xmin, ymin;
896
+ <a name="l01479"></a><a class="code" href="structCamMeasuresResults.html#955d294fae684bafdb6ac0859749d881">01479</a> <span class="keywordtype">int</span> max, xmax, ymax;
897
+ <a name="l01480"></a><a class="code" href="structCamMeasuresResults.html#38e831868ffabe670e7e8a77e3635deb">01480</a> <span class="keywordtype">int</span> average;
898
+ <a name="l01481"></a><a class="code" href="structCamMeasuresResults.html#a2d4eb9d23e28758bc67dd8b12902d4d">01481</a> <span class="keywordtype">int</span> sum;
899
+ <a name="l01482"></a>01482 <span class="preprocessor">#ifdef __cplusplus</span>
900
+ <a name="l01483"></a>01483 <span class="preprocessor"></span> <a class="code" href="structCamMeasuresResults.html" title="The structure containing the result of measuring.">CamMeasuresResults</a>() {min=0;xmin=0;ymin=0;max=0;xmax=0;ymax=0;average=0;sum=0;}
901
+ <a name="l01484"></a>01484 };
902
+ <a name="l01485"></a>01485 <span class="preprocessor">#else</span>
903
+ <a name="l01486"></a>01486 <span class="preprocessor"></span>} <a class="code" href="structCamMeasuresResults.html" title="The structure containing the result of measuring.">CamMeasuresResults</a>;
904
+ <a name="l01487"></a>01487 <span class="preprocessor">#endif</span>
905
+ <a name="l01488"></a>01488 <span class="preprocessor"></span>
906
+ <a name="l01489"></a>01489 <span class="preprocessor">#ifndef SWIG</span>
907
+ <a name="l01490"></a>01490 <span class="preprocessor"></span>
908
+ <a name="l01492"></a>01492 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#25a8c3d19870e6593217af9734a4d8a5" title="Sum of pixels in an image.">camSumOfPixels</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
909
+ <a name="l01493"></a>01493
910
+ <a name="l01495"></a>01495
911
+ <a name="l01501"></a>01501 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#0d49d0d48bae1e33557913d5b46c2c56" title="Measures in an image : min, max, average and sum.">camMeasures</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamMeasuresResults.html" title="The structure containing the result of measuring.">CamMeasuresResults</a> *results);
912
+ <a name="l01502"></a>01502
913
+ <a name="l01504"></a>01504
914
+ <a name="l01512"></a>01512 <span class="keywordtype">float</span> <a class="code" href="camellia_8h.html#55f4073da0fd5b396807694f34351edd" title="Average deviation computation.">camMeasureAverageDeviation</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> average);
915
+ <a name="l01513"></a>01513
916
+ <a name="l01517"></a>01517
917
+ <a name="l01519"></a>01519
918
+ <a name="l01527"></a>01527 <span class="preprocessor">#ifdef CAM_VOLBERG_ORIGINAL</span>
919
+ <a name="l01528"></a>01528 <span class="preprocessor"></span><span class="keywordtype">void</span> volbergfvd(<span class="keywordtype">double</span> f[], <span class="keywordtype">int</span> in[] , <span class="keywordtype">int</span> out[] , <span class="keywordtype">int</span> inlen, <span class="keywordtype">int</span> outlen);
920
+ <a name="l01529"></a>01529 <span class="preprocessor">#else</span>
921
+ <a name="l01530"></a>01530 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#78547e1ee667ba06ec613ea7e1a9a132" title="Warping using Volberg&amp;#39;s algorithm.">camVolbergFwdScanline</a>(CAM_PIXEL *in, <span class="keywordtype">int</span> inlen, CAM_PIXEL *out, <span class="keywordtype">int</span> outlen, <span class="keywordtype">double</span> f[]);
922
+ <a name="l01531"></a>01531 <span class="preprocessor">#endif</span>
923
+ <a name="l01532"></a>01532 <span class="preprocessor"></span>
924
+ <a name="l01534"></a><a class="code" href="structCamVolbergFwdParams.html">01534</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
925
+ <a name="l01535"></a>01535 void (*hfwd)(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> *xp);
926
+ <a name="l01536"></a>01536 void (*vfwd)(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> *yp);
927
+ <a name="l01537"></a>01537 } <a class="code" href="structCamVolbergFwdParams.html" title="The structure to provide to the Volberg&amp;#39;s algorithm : two functions.">CamVolbergFwdParams</a>;
928
+ <a name="l01538"></a>01538
929
+ <a name="l01540"></a>01540
930
+ <a name="l01545"></a>01545 <span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#748bad57cb453f2394a2f2a287993553" title="Helper function for using Volberg&amp;#39;s warping algorithm.">camVolbergFwd</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamVolbergFwdParams.html" title="The structure to provide to the Volberg&amp;#39;s algorithm : two functions.">CamVolbergFwdParams</a> *params);
931
+ <a name="l01546"></a>01546
932
+ <a name="l01547"></a>01547 <span class="comment">/* Backward warping</span>
933
+ <a name="l01548"></a>01548 <span class="comment"> */</span>
934
+ <a name="l01549"></a>01549
935
+ <a name="l01550"></a>01550 <span class="preprocessor">#endif // SWIG</span>
936
+ <a name="l01551"></a>01551 <span class="preprocessor"></span>
937
+ <a name="l01552"></a>01552 <span class="preprocessor">#define CAM_NN_INTERPOLATION 0</span>
938
+ <a name="l01553"></a>01553 <span class="preprocessor"></span><span class="preprocessor">#define CAM_BILINEAR_INTERPOLATION 1</span>
939
+ <a name="l01554"></a>01554 <span class="preprocessor"></span>
940
+ <a name="l01555"></a>01555 <span class="preprocessor">#ifndef SWIG</span>
941
+ <a name="l01556"></a>01556 <span class="preprocessor"></span>
942
+ <a name="l01558"></a><a class="code" href="structCamWarpingParams.html">01558</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
943
+ <a name="l01559"></a><a class="code" href="structCamWarpingParams.html#292143342daa8bec2bc94774d6350eac">01559</a> <span class="keywordtype">int</span> interpolation;
944
+ <a name="l01560"></a><a class="code" href="structCamWarpingParams.html#5cd36e460566878fa3cf8a3517a9d415">01560</a> <span class="keywordtype">int</span> perspective;
945
+ <a name="l01561"></a>01561
946
+ <a name="l01563"></a>01563
947
+ <a name="l01571"></a><a class="code" href="structCamWarpingParams.html#5e43b43a527f2863194bc8f21bc96259">01571</a> <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> p[4];
948
+ <a name="l01572"></a>01572 } <a class="code" href="structCamWarpingParams.html" title="The parameters structure used by camWarping().">CamWarpingParams</a>;
949
+ <a name="l01573"></a>01573
950
+ <a name="l01575"></a>01575
951
+ <a name="l01584"></a>01584 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ad957d473fde58077a501728e5aa8f13" title="Backward warping function.">camWarping</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamWarpingParams.html" title="The parameters structure used by camWarping().">CamWarpingParams</a> *params);
952
+ <a name="l01585"></a>01585
953
+ <a name="l01587"></a>01587
954
+ <a name="l01593"></a>01593 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#d35645928b902a2716cd4d3d79799970" title="Scaling function.">camScale</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
955
+ <a name="l01594"></a>01594
956
+ <a name="l01595"></a>01595 <span class="keywordtype">int</span> camWarpingSuperSampling(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamWarpingParams.html" title="The parameters structure used by camWarping().">CamWarpingParams</a> *params);
957
+ <a name="l01596"></a>01596
958
+ <a name="l01598"></a>01598
959
+ <a name="l01604"></a>01604 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#1dddcefcb50d0e498810bfc075cd6533" title="Simple helper function, used by camWarping().">camIntersectionSegments</a>(<a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> p[4], <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> *res);
960
+ <a name="l01606"></a>01606
961
+ <a name="l01610"></a>01610
962
+ <a name="l01611"></a>01611 <span class="comment">// For compatibility with older versions</span>
963
+ <a name="l01612"></a>01612 <span class="preprocessor">#define CamSobel3x3 camSobel</span>
964
+ <a name="l01613"></a>01613 <span class="preprocessor"></span><span class="preprocessor">#define CamSobelAbs3x3 camSobelAbs</span>
965
+ <a name="l01614"></a>01614 <span class="preprocessor"></span>
966
+ <a name="l01615"></a>01615 <span class="preprocessor">#define CAM_LINEAR_FILTER_KERNEL_MAX_SIZE 7</span>
967
+ <a name="l01616"></a>01616 <span class="preprocessor"></span>
968
+ <a name="l01617"></a>01617 <span class="preprocessor">#endif //SWIG</span>
969
+ <a name="l01618"></a>01618 <span class="preprocessor"></span>
970
+ <a name="l01619"></a>01619 <span class="preprocessor">#ifdef __cplusplus</span>
971
+ <a name="l01621"></a><a class="code" href="structCamLinearFilterKernel.html">01621</a> <span class="preprocessor">struct CamLinearFilterKernel {</span>
972
+ <a name="l01622"></a>01622 <span class="preprocessor"></span><span class="preprocessor">#else</span>
973
+ <a name="l01624"></a>01624 <span class="preprocessor">typedef struct {</span>
974
+ <a name="l01625"></a>01625 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
975
+ <a name="l01626"></a>01626 <span class="preprocessor"></span><span class="preprocessor">#ifndef SWIG</span>
976
+ <a name="l01627"></a><a class="code" href="structCamLinearFilterKernel.html#3f0ab4a558d738670905c540ba83ab62">01627</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> kernel[CAM_LINEAR_FILTER_KERNEL_MAX_SIZE][CAM_LINEAR_FILTER_KERNEL_MAX_SIZE];
977
+ <a name="l01628"></a>01628 <span class="preprocessor">#endif</span>
978
+ <a name="l01629"></a><a class="code" href="structCamLinearFilterKernel.html#99fb7d2bb8325fa30631f929bffb6da0">01629</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> coeff1;
979
+ <a name="l01630"></a><a class="code" href="structCamLinearFilterKernel.html#8764d71f840637149ee781c2d2752fd5">01630</a> <span class="keywordtype">int</span> coeff2;
980
+ <a name="l01631"></a>01631 <span class="preprocessor">#ifdef __cplusplus</span>
981
+ <a name="l01633"></a><a class="code" href="structCamLinearFilterKernel.html#695f3f4a991616d82b5a53414c049dd9">01633</a> <span class="preprocessor"> CamLinearFilterKernel() {</span>
982
+ <a name="l01634"></a>01634 <span class="preprocessor"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE;i++) {
983
+ <a name="l01635"></a>01635 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j=0;j&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE;j++) {
984
+ <a name="l01636"></a>01636 kernel[i][j]=0;
985
+ <a name="l01637"></a>01637 }
986
+ <a name="l01638"></a>01638 }
987
+ <a name="l01639"></a>01639 coeff1=1;
988
+ <a name="l01640"></a>01640 coeff2=0;
989
+ <a name="l01641"></a>01641 }
990
+ <a name="l01643"></a><a class="code" href="structCamLinearFilterKernel.html#5632f2671fffc024d3f5c3920a240450">01643</a> <span class="keywordtype">bool</span> <span class="keyword">set</span>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> val) {
991
+ <a name="l01644"></a>01644 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
992
+ <a name="l01645"></a>01645 kernel[x][y]=val; <span class="keywordflow">return</span> <span class="keyword">true</span>;
993
+ <a name="l01646"></a>01646 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
994
+ <a name="l01647"></a>01647 }
995
+ <a name="l01649"></a><a class="code" href="structCamLinearFilterKernel.html#4413bb444ea155508bb65c8ddcec4db2">01649</a> <span class="keywordtype">int</span> <span class="keyword">get</span>(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y) {
996
+ <a name="l01650"></a>01650 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)&amp;&amp;(y&gt;=0)&amp;&amp;(y&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
997
+ <a name="l01651"></a>01651 <span class="keywordflow">return</span> kernel[x][y];
998
+ <a name="l01652"></a>01652 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
999
+ <a name="l01653"></a>01653 }
1000
+ <a name="l01654"></a>01654 };
1001
+ <a name="l01655"></a>01655 <span class="preprocessor">#else</span>
1002
+ <a name="l01656"></a>01656 <span class="preprocessor"></span>} <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a>;
1003
+ <a name="l01657"></a>01657 <span class="preprocessor">#endif</span>
1004
+ <a name="l01658"></a>01658 <span class="preprocessor"></span>
1005
+ <a name="l01659"></a>01659 <span class="preprocessor">#ifndef SWIG</span>
1006
+ <a name="l01660"></a>01660 <span class="preprocessor"></span>
1007
+ <a name="l01662"></a>01662
1008
+ <a name="l01673"></a>01673 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#de3c164ac56119fc763e7b3060cba706" title="3x3 Linear Filtering function">camLinearFilter3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> *params);
1009
+ <a name="l01674"></a>01674
1010
+ <a name="l01676"></a>01676
1011
+ <a name="l01687"></a>01687 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#5dca8ce13c5257c51f680383ede892bd" title="5x5 Linear Filtering function">camLinearFilter5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> *params);
1012
+ <a name="l01688"></a>01688
1013
+ <a name="l01690"></a>01690
1014
+ <a name="l01701"></a>01701 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2dd8fc9c63273b19eafe861814e207a3" title="3x3 Linear Filtering function (absolute)">camLinearFilterAbs3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> *params);
1015
+ <a name="l01702"></a>01702
1016
+ <a name="l01704"></a>01704
1017
+ <a name="l01715"></a>01715 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#786ba4a350d731400324e2d98a1194ff" title="5x5 Linear Filtering function (absolute)">camLinearFilterAbs5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamLinearFilterKernel.html" title="The parameters structure for linear filtering.">CamLinearFilterKernel</a> *params);
1018
+ <a name="l01716"></a>01716
1019
+ <a name="l01717"></a>01717 <span class="comment">/* Obsolete</span>
1020
+ <a name="l01718"></a>01718 <span class="comment"> * int camSobel(CamImage *source, CamImage *dest, int vert_edges);</span>
1021
+ <a name="l01719"></a>01719 <span class="comment"> * int camSobelAbs(CamImage *source, CamImage *dest, int vert_edges);</span>
1022
+ <a name="l01720"></a>01720 <span class="comment"> */</span>
1023
+ <a name="l01721"></a>01721
1024
+ <a name="l01722"></a>01722 <span class="preprocessor">#endif //SWIG</span>
1025
+ <a name="l01723"></a>01723 <span class="preprocessor"></span>
1026
+ <a name="l01724"></a>01724 <span class="preprocessor">#ifdef __cplusplus</span>
1027
+ <a name="l01726"></a><a class="code" href="structCamSepFilterKernel.html">01726</a> <span class="preprocessor">struct CamSepFilterKernel {</span>
1028
+ <a name="l01727"></a>01727 <span class="preprocessor"></span><span class="preprocessor">#else</span>
1029
+ <a name="l01729"></a>01729 <span class="preprocessor">typedef struct {</span>
1030
+ <a name="l01730"></a>01730 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
1031
+ <a name="l01731"></a>01731 <span class="preprocessor"></span><span class="preprocessor">#ifndef SWIG</span>
1032
+ <a name="l01732"></a><a class="code" href="structCamSepFilterKernel.html#445cbfd248f29d5ffc6d1ff5546c3f3b">01732</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> x[CAM_LINEAR_FILTER_KERNEL_MAX_SIZE];
1033
+ <a name="l01733"></a><a class="code" href="structCamSepFilterKernel.html#5c1dfef9c667a51d95a5af07766fd896">01733</a> <span class="keywordtype">int</span> y[CAM_LINEAR_FILTER_KERNEL_MAX_SIZE];
1034
+ <a name="l01734"></a>01734 <span class="preprocessor">#endif</span>
1035
+ <a name="l01735"></a><a class="code" href="structCamSepFilterKernel.html#3c5afce80c70533cff39af1d4cbbb1a1">01735</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> coeff1;
1036
+ <a name="l01736"></a><a class="code" href="structCamSepFilterKernel.html#ae4e4c844d92bfa57001efab5838a058">01736</a> <span class="keywordtype">int</span> coeff2;
1037
+ <a name="l01737"></a>01737 <span class="preprocessor">#ifdef __cplusplus</span>
1038
+ <a name="l01739"></a><a class="code" href="structCamSepFilterKernel.html#d1721315dca1d1346c576683634310a0">01739</a> <span class="preprocessor"> CamSepFilterKernel() {</span>
1039
+ <a name="l01740"></a>01740 <span class="preprocessor"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE;i++) {
1040
+ <a name="l01741"></a>01741 x[i]=0; y[i]=0;
1041
+ <a name="l01742"></a>01742 }
1042
+ <a name="l01743"></a>01743 coeff1=1;
1043
+ <a name="l01744"></a>01744 coeff2=0;
1044
+ <a name="l01745"></a>01745 }
1045
+ <a name="l01747"></a><a class="code" href="structCamSepFilterKernel.html#009596ee576180b56f67c41afc9d735d">01747</a> <span class="keywordtype">bool</span> set_x(<span class="keywordtype">int</span> y, <span class="keywordtype">int</span> val) {
1046
+ <a name="l01748"></a>01748 <span class="keywordflow">if</span> ((y&gt;=0)&amp;&amp;(y&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
1047
+ <a name="l01749"></a>01749 x[y]=val; <span class="keywordflow">return</span> <span class="keyword">true</span>;
1048
+ <a name="l01750"></a>01750 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
1049
+ <a name="l01751"></a>01751 }
1050
+ <a name="l01752"></a>01752 <span class="keywordtype">bool</span> set_y(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> val) {
1051
+ <a name="l01753"></a>01753 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
1052
+ <a name="l01754"></a>01754 y[x]=val; <span class="keywordflow">return</span> <span class="keyword">true</span>;
1053
+ <a name="l01755"></a>01755 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
1054
+ <a name="l01756"></a>01756 }
1055
+ <a name="l01758"></a><a class="code" href="structCamSepFilterKernel.html#e98aa1bf87621f42bd120b3e7cb8dbd0">01758</a> <span class="keywordtype">int</span> get_x(<span class="keywordtype">int</span> y) {
1056
+ <a name="l01759"></a>01759 <span class="keywordflow">if</span> ((y&gt;=0)&amp;&amp;(y&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
1057
+ <a name="l01760"></a>01760 <span class="keywordflow">return</span> x[y];
1058
+ <a name="l01761"></a>01761 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
1059
+ <a name="l01762"></a>01762 }
1060
+ <a name="l01763"></a>01763 <span class="keywordtype">int</span> get_y(<span class="keywordtype">int</span> x) {
1061
+ <a name="l01764"></a>01764 <span class="keywordflow">if</span> ((x&gt;=0)&amp;&amp;(x&lt;CAM_LINEAR_FILTER_KERNEL_MAX_SIZE)) {
1062
+ <a name="l01765"></a>01765 <span class="keywordflow">return</span> y[x];
1063
+ <a name="l01766"></a>01766 } <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
1064
+ <a name="l01767"></a>01767 }
1065
+ <a name="l01768"></a>01768 };
1066
+ <a name="l01769"></a>01769 <span class="preprocessor">#else</span>
1067
+ <a name="l01770"></a>01770 <span class="preprocessor"></span>} <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a>;
1068
+ <a name="l01771"></a>01771 <span class="preprocessor">#endif</span>
1069
+ <a name="l01772"></a>01772 <span class="preprocessor"></span>
1070
+ <a name="l01773"></a>01773 <span class="preprocessor">#define CAM_SOBEL_H 1</span>
1071
+ <a name="l01774"></a>01774 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SOBEL_V 2</span>
1072
+ <a name="l01775"></a>01775 <span class="preprocessor"></span><span class="preprocessor">#define CAM_GAUSSIAN_3x3 3</span>
1073
+ <a name="l01776"></a>01776 <span class="preprocessor"></span><span class="preprocessor">#define CAM_GAUSSIAN_5x5 4</span>
1074
+ <a name="l01777"></a>01777 <span class="preprocessor"></span><span class="preprocessor">#define CAM_GAUSSIAN_7x7 5</span>
1075
+ <a name="l01778"></a>01778 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SCHARR_H 6</span>
1076
+ <a name="l01779"></a>01779 <span class="preprocessor"></span><span class="preprocessor">#define CAM_SCHARR_V 7</span>
1077
+ <a name="l01780"></a>01780 <span class="preprocessor"></span>
1078
+ <a name="l01781"></a>01781 <span class="preprocessor">#ifndef SWIG</span>
1079
+ <a name="l01782"></a>01782 <span class="preprocessor"></span>
1080
+ <a name="l01784"></a>01784
1081
+ <a name="l01794"></a>01794 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#c4ff2c7004422882592e56e30245ae80" title="3x3 Linear Filtering function with a separable kernel">camSepFilter3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1082
+ <a name="l01795"></a>01795
1083
+ <a name="l01797"></a>01797
1084
+ <a name="l01807"></a>01807 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#d3f008ee8a5885f955273fdcde72a105" title="3x3 Linear Filtering function with a separable kernel (absolute value)">camSepFilterAbs3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1085
+ <a name="l01808"></a>01808
1086
+ <a name="l01810"></a>01810
1087
+ <a name="l01820"></a>01820 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#85fc004b87bd87bdba6bb8a1f597aeb7" title="5x5 Linear Filtering function with a separable kernel">camSepFilter5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1088
+ <a name="l01821"></a>01821
1089
+ <a name="l01823"></a>01823
1090
+ <a name="l01833"></a>01833 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#33145b07e332bafe9dad7cee22ead5df" title="5x5 Linear Filtering function with a separable kernel (absolute value)">camSepFilterAbs5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1091
+ <a name="l01834"></a>01834
1092
+ <a name="l01836"></a>01836
1093
+ <a name="l01846"></a>01846 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#bcd6d660fc22ead9c89038345e378b83" title="7x7 Linear Filtering function with a separable kernel">camSepFilter7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1094
+ <a name="l01847"></a>01847
1095
+ <a name="l01849"></a>01849
1096
+ <a name="l01859"></a>01859 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9d331944cb5958c8da918d9f8fa17f87" title="7x7 Linear Filtering function with a separable kernel (absolute value)">camSepFilterAbs7x7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamSepFilterKernel.html" title="The parameters structure for linear filtering.">CamSepFilterKernel</a> *kernel);
1097
+ <a name="l01860"></a>01860
1098
+ <a name="l01862"></a>01862
1099
+ <a name="l01871"></a>01871 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4bd1a772ca2635653c867ed63abf80d4" title="3x3 Horizontal Sobel Filter. Detects horizontal edges.">camSobelH</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1100
+ <a name="l01872"></a>01872
1101
+ <a name="l01874"></a>01874
1102
+ <a name="l01883"></a>01883 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#42707f0ff29d6e629c46fe1b96b78d20" title="3x3 Horizontal Sobel Filter (absolute). Detects horizontal edges.">camSobelHAbs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1103
+ <a name="l01884"></a>01884
1104
+ <a name="l01886"></a>01886
1105
+ <a name="l01895"></a>01895 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#925277229ae31d55a76bc54ad8d3f4bd" title="3x3 Vertical Sobel Filter. Detects Vertical edges.">camSobelV</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1106
+ <a name="l01896"></a>01896
1107
+ <a name="l01898"></a>01898
1108
+ <a name="l01907"></a>01907 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#345e98b33f2ad94c87129acdfc539bfe" title="3x3 Vertical Sobel Filter (absolute). Detects Vertical edges.">camSobelVAbs</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1109
+ <a name="l01908"></a>01908
1110
+ <a name="l01910"></a>01910
1111
+ <a name="l01931"></a>01931 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#099ac7ec4a0693a86314fb3eaabaf017" title="Linear convolution with a predefined kernel.">camFixedFilter</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> filter);
1112
+ <a name="l01932"></a>01932
1113
+ <a name="l01933"></a>01933 <span class="keywordtype">int</span> camScharrH(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1114
+ <a name="l01934"></a>01934 <span class="keywordtype">int</span> camScharrV(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1115
+ <a name="l01935"></a>01935 <span class="keywordtype">int</span> camScharrHAbs(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1116
+ <a name="l01936"></a>01936 <span class="keywordtype">int</span> camScharrVAbs(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1117
+ <a name="l01937"></a>01937
1118
+ <a name="l01939"></a>01939
1119
+ <a name="l01943"></a>01943
1120
+ <a name="l01944"></a>01944 <span class="preprocessor">#define camMedianFiltering3x3 camMedianFilter3x3</span>
1121
+ <a name="l01945"></a>01945 <span class="preprocessor"></span><span class="preprocessor">#define camMedianFiltering5x5 camMedianFilter5x5</span>
1122
+ <a name="l01946"></a>01946 <span class="preprocessor"></span>
1123
+ <a name="l01948"></a>01948
1124
+ <a name="l01957"></a>01957 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#a73779e31db619f5a35c45b707ee2732" title="3x3 Median Filtering function">camMedianFilter3x3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1125
+ <a name="l01958"></a>01958
1126
+ <a name="l01960"></a>01960
1127
+ <a name="l01969"></a>01969 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#0d9d8073e45c5f4ddd874acc919e16e7" title="5x5 Median Filtering function">camMedianFilter5x5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1128
+ <a name="l01971"></a>01971
1129
+ <a name="l01975"></a>01975
1130
+ <a name="l01977"></a>01977
1131
+ <a name="l01994"></a>01994 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7d5bb74a1500990197be468f1119f274" title="1D watershed computation">camWatershed1D</a>(<span class="keywordtype">int</span> *input, <span class="keywordtype">int</span> size, <span class="keywordtype">int</span> *results);
1132
+ <a name="l01995"></a>01995 <span class="preprocessor">#else</span>
1133
+ <a name="l01996"></a>01996 <span class="preprocessor"></span>%immutable;
1134
+ <a name="l01997"></a>01997 <span class="preprocessor">#endif // SWIG</span>
1135
+ <a name="l01998"></a>01998 <span class="preprocessor"></span>
1136
+ <a name="l02000"></a><a class="code" href="structCamBasin.html">02000</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>
1137
+ <a name="l02001"></a>02001 {
1138
+ <a name="l02002"></a><a class="code" href="structCamBasin.html#e0b35629ce1a3f3ec3248e0807864eb7">02002</a> <span class="keywordtype">int</span> dynamics;
1139
+ <a name="l02003"></a><a class="code" href="structCamBasin.html#617795806b6493becebf251b3b643bcd">02003</a> <span class="keywordtype">int</span> minimum;
1140
+ <a name="l02004"></a><a class="code" href="structCamBasin.html#fb971c9bea4476ffcef167b72fde632d">02004</a> <span class="keywordtype">int</span> flooded;
1141
+ <a name="l02005"></a><a class="code" href="structCamBasin.html#81a8ec38adcdfa2dcfc17a233377b911">02005</a> <span class="keywordtype">int</span> surface;
1142
+ <a name="l02006"></a><a class="code" href="structCamBasin.html#b6de516b321813ed790ca992ae8a6170">02006</a> <span class="keywordtype">int</span> accsurface;
1143
+ <a name="l02007"></a><a class="code" href="structCamBasin.html#32333c7aa40c130bbc30bdadceab5cc8">02007</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> x,y;
1144
+ <a name="l02008"></a>02008 } <a class="code" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a>;
1145
+ <a name="l02009"></a>02009
1146
+ <a name="l02010"></a>02010 <span class="preprocessor">#define CAM_NOT_COMPUTED 65536</span>
1147
+ <a name="l02011"></a>02011 <span class="preprocessor"></span>
1148
+ <a name="l02012"></a>02012 <span class="preprocessor">#ifndef SWIG</span>
1149
+ <a name="l02013"></a>02013 <span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span>
1150
+ <a name="l02015"></a><a class="code" href="structCamTableOfBasins.html">02015</a> <span class="preprocessor">struct CamTableOfBasins {</span>
1151
+ <a name="l02016"></a>02016 <span class="preprocessor"></span> <span class="keywordtype">int</span> sizeMax;
1152
+ <a name="l02017"></a>02017 <span class="keywordtype">int</span> nbBasins;
1153
+ <a name="l02018"></a>02018 <a class="code" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a> *tab;
1154
+ <a name="l02019"></a>02019 <a class="code" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a>&amp; operator[](<span class="keywordtype">int</span> index) {<span class="keywordflow">return</span> tab[index];}
1155
+ <a name="l02020"></a>02020 <span class="keywordtype">void</span> get_rid_of(<a class="code" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a> &amp;basin) {basin.<a class="code" href="structCamBasin.html#81a8ec38adcdfa2dcfc17a233377b911" title="Surface of the region.">surface</a>=0;}
1156
+ <a name="l02021"></a>02021 <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a>() {tab=NULL;sizeMax=0;nbBasins=0;}
1157
+ <a name="l02022"></a>02022 ~<a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a>();
1158
+ <a name="l02023"></a>02023 };
1159
+ <a name="l02024"></a>02024 <span class="preprocessor">#else</span>
1160
+ <a name="l02025"></a>02025 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct</span>
1161
+ <a name="l02026"></a>02026 {
1162
+ <a name="l02027"></a>02027 <span class="keywordtype">int</span> sizeMax;
1163
+ <a name="l02028"></a>02028 <span class="keywordtype">int</span> nbBasins;
1164
+ <a name="l02029"></a>02029 <a class="code" href="structCamBasin.html" title="The structure defining a basin.">CamBasin</a> *tab;
1165
+ <a name="l02030"></a>02030 } <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a>;
1166
+ <a name="l02031"></a>02031 <span class="preprocessor">#endif</span>
1167
+ <a name="l02032"></a>02032 <span class="preprocessor"></span>
1168
+ <a name="l02034"></a>02034 <span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#b0ada0b41b9b3d5e20a8deeeb5285988" title="Free a table of basins after use.">camFreeTableOfBasins</a>(<a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> *t);
1169
+ <a name="l02035"></a>02035
1170
+ <a name="l02037"></a>02037
1171
+ <a name="l02053"></a>02053 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#24e77c449137eb273e6da49d84ad114a" title="2D Hierarchical watershed computation">camHierarchicalWatershed</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> *tob);
1172
+ <a name="l02054"></a>02054
1173
+ <a name="l02056"></a>02056
1174
+ <a name="l02073"></a>02073 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#d6d60c91f0e41c7f367b97870913c26b" title="2D Hierarchical watershed computation (with watershed/contours markers)">camHierarchicalWatershedContours</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> *tob);
1175
+ <a name="l02074"></a>02074
1176
+ <a name="l02076"></a>02076
1177
+ <a name="l02082"></a>02082 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#cd8315716d2699af0a2879ceee3f31ad" title="Retrieves regions from a watershed image.">camHierarchicalWatershedRegions</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *watershed, <a class="code" href="structCamTableOfBasins.html" title="The table of basins structure. Simply a dynamic size array of CamBasin.">CamTableOfBasins</a> *tob);
1178
+ <a name="l02084"></a>02084
1179
+ <a name="l02088"></a>02088
1180
+ <a name="l02090"></a>02090
1181
+ <a name="l02102"></a>02102 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#8d5f43e0d5e8d51ab70573bdc8f986e9" title="Circle Hough. Find a circle in a picture.">camHoughCircle</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> percent, <span class="keywordtype">int</span> rmin, <span class="keywordtype">int</span> rmax, <span class="keywordtype">int</span> *xc, <span class="keywordtype">int</span> *yc, <span class="keywordtype">int</span> *rc);
1182
+ <a name="l02103"></a>02103
1183
+ <a name="l02104"></a>02104 <span class="keyword">struct </span>_CamKeypoints;
1184
+ <a name="l02105"></a>02105
1185
+ <a name="l02106"></a>02106 <span class="preprocessor">#endif // SWIG </span>
1186
+ <a name="l02107"></a>02107 <span class="preprocessor"></span>
1187
+ <a name="l02111"></a>02111
1188
+ <a name="l02112"></a>02112 <span class="preprocessor">#ifdef __cplusplus</span>
1189
+ <a name="l02113"></a>02113 <span class="preprocessor"></span><span class="preprocessor">#ifdef SWIG</span>
1190
+ <a name="l02114"></a>02114 <span class="preprocessor"></span> %<span class="keyword">mutable</span>;
1191
+ <a name="l02115"></a>02115 <span class="preprocessor">#endif</span>
1192
+ <a name="l02116"></a>02116 <span class="preprocessor"></span>
1193
+ <a name="l02118"></a><a class="code" href="structCamKeypoint.html">02118</a> <span class="keyword">struct </span><a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> {
1194
+ <a name="l02119"></a>02119 <span class="preprocessor">#else</span>
1195
+ <a name="l02120"></a>02120 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{
1196
+ <a name="l02121"></a>02121 <span class="preprocessor">#endif // __cplusplus</span>
1197
+ <a name="l02122"></a><a class="code" href="structCamKeypoint.html#ebc07c3b7be69899f10778e217f0d887">02122</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#ebc07c3b7be69899f10778e217f0d887" title="The descriptor table itself.">descriptor</a>[128];
1198
+ <a name="l02123"></a><a class="code" href="structCamKeypoint.html#07a30246e192d905a7a9f2244e2663b2">02123</a> <span class="keywordtype">int</span> x;
1199
+ <a name="l02124"></a><a class="code" href="structCamKeypoint.html#c89f5070e7ff5f9875eb5cf6900be6b4">02124</a> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#c89f5070e7ff5f9875eb5cf6900be6b4" title="y coordinate of keypoints in image">y</a>;
1200
+ <a name="l02125"></a><a class="code" href="structCamKeypoint.html#770485d6df275450c801f35ee6b57b3b">02125</a> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#770485d6df275450c801f35ee6b57b3b" title="Scale in pixels.">scale</a>;
1201
+ <a name="l02126"></a><a class="code" href="structCamKeypoint.html#31e334a5d147581b2aa97c227b4ac61b">02126</a> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#31e334a5d147581b2aa97c227b4ac61b" title="Angle in degrees.">angle</a>;
1202
+ <a name="l02127"></a><a class="code" href="structCamKeypoint.html#33eb33870c313ba5e531d408e0720042">02127</a> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#33eb33870c313ba5e531d408e0720042" title="Hessian value.">value</a>;
1203
+ <a name="l02128"></a>02128 <span class="preprocessor">#ifdef SWIG</span>
1204
+ <a name="l02129"></a>02129 <span class="preprocessor"></span> %immutable;
1205
+ <a name="l02130"></a>02130 <span class="preprocessor">#endif</span>
1206
+ <a name="l02131"></a><a class="code" href="structCamKeypoint.html#bc7a29bdee07971bad75ce9cef9837e8">02131</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="structCamKeypoint.html#bc7a29bdee07971bad75ce9cef9837e8" title="Size of descriptor.">size</a>;
1207
+ <a name="l02132"></a><a class="code" href="structCamKeypoint.html#14fad295c520f537d00aca5fd52c3758">02132</a> <span class="keywordtype">void</span> *<span class="keyword">internal</span>;
1208
+ <a name="l02133"></a>02133 <span class="preprocessor">#ifdef __cplusplus</span>
1209
+ <a name="l02134"></a>02134 <span class="preprocessor"></span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *<span class="keyword">set</span>;
1210
+ <a name="l02135"></a>02135 <span class="keywordtype">bool</span> <a class="code" href="structCamKeypoint.html#9fa16a9fe4418918746d5a4f0b94b940" title="C++ wrapping for camDrawKeypoint function.">draw</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> color = 255) <span class="keyword">const</span>;
1211
+ <a name="l02136"></a>02136 <span class="keywordtype">bool</span> <a class="code" href="structCamKeypoint.html#97f2bb81f571ce6bcf2857e3ad2624c1" title="Set the descriptor.">set_descriptor</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> array, <span class="keywordtype">int</span> sz);
1212
+ <a name="l02137"></a>02137 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a>() { x = 0; y = 0; scale = 0; angle = 0; value = 0; size = 0; <span class="keyword">internal</span> = NULL; <span class="keyword">set</span> = NULL; }
1213
+ <a name="l02138"></a>02138 };
1214
+ <a name="l02139"></a>02139 <span class="preprocessor">#else</span>
1215
+ <a name="l02140"></a>02140 <span class="preprocessor"></span> <span class="keyword">struct </span>_CamKeypoints *<span class="keyword">set</span>;
1216
+ <a name="l02141"></a>02141 } <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a>;
1217
+ <a name="l02142"></a>02142 <span class="preprocessor">#endif</span>
1218
+ <a name="l02143"></a>02143 <span class="preprocessor"></span>
1219
+ <a name="l02144"></a>02144 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
1220
+ <a name="l02145"></a>02145 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *p1;
1221
+ <a name="l02146"></a>02146 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *p2;
1222
+ <a name="l02147"></a>02147 <span class="keywordtype">int</span> mark;
1223
+ <a name="l02148"></a>02148 <span class="keywordtype">int</span> error;
1224
+ <a name="l02149"></a>02149 } CamKeypointsMatch;
1225
+ <a name="l02150"></a>02150
1226
+ <a name="l02151"></a>02151 <span class="preprocessor">#define CAM_MAX_NB_MATCHES 2048</span>
1227
+ <a name="l02152"></a>02152 <span class="preprocessor"></span>
1228
+ <a name="l02153"></a>02153 <span class="preprocessor">#ifdef __cplusplus</span>
1229
+ <a name="l02155"></a><a class="code" href="structCamAffineTransform.html">02155</a> <span class="preprocessor">struct CamAffineTransform {</span>
1230
+ <a name="l02156"></a>02156 <span class="preprocessor"></span> <span class="keywordtype">double</span> m[6];
1231
+ <a name="l02157"></a>02157 };
1232
+ <a name="l02158"></a>02158
1233
+ <a name="l02160"></a><a class="code" href="structCamKeypointsMatches.html">02160</a> <span class="keyword">struct </span><a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> {
1234
+ <a name="l02161"></a>02161 <span class="preprocessor">#else</span>
1235
+ <a name="l02162"></a>02162 <span class="preprocessor"></span>
1236
+ <a name="l02163"></a>02163 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
1237
+ <a name="l02164"></a>02164 <span class="keywordtype">double</span> m[6];
1238
+ <a name="l02165"></a>02165 } <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a>;
1239
+ <a name="l02166"></a>02166
1240
+ <a name="l02167"></a>02167 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
1241
+ <a name="l02168"></a>02168 <span class="preprocessor">#endif //__cplusplus</span>
1242
+ <a name="l02169"></a>02169 <span class="preprocessor"></span> <span class="keywordtype">int</span> nbMatches;
1243
+ <a name="l02170"></a>02170 <span class="keywordtype">int</span> nbOutliers;
1244
+ <a name="l02171"></a>02171 <span class="keywordtype">int</span> allocated;
1245
+ <a name="l02172"></a>02172 CamKeypointsMatch *pairs;
1246
+ <a name="l02173"></a>02173 <span class="preprocessor">#ifdef __cplusplus</span>
1247
+ <a name="l02174"></a>02174 <span class="preprocessor"></span> <a class="code" href="structCamKeypointsMatches.html#34222d022d712dc455344673cf5589c9" title="Default constructor.">CamKeypointsMatches</a>(<span class="keywordtype">int</span> size = CAM_MAX_NB_MATCHES);
1248
+ <a name="l02175"></a>02175 <a class="code" href="structCamKeypointsMatches.html#c4fc4a739eeea2a381e4e2ff1ea4a105" title="Default destructor.">~CamKeypointsMatches</a>();
1249
+ <a name="l02176"></a>02176 <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> <a class="code" href="structCamKeypointsMatches.html#520fcf7096bdd7b35383e2d7e6fcbb14" title="C++ wrapping for camFindAffindTransform function.">find_affine_transform</a>(<span class="keywordtype">int</span> *error) <span class="keyword">const</span>;
1250
+ <a name="l02177"></a>02177 <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> <a class="code" href="structCamKeypointsMatches.html#ef4dfd487445029119e071f9dfcbc908" title="C++ wrapping for camFindAffindTransform function.">find_affine_transform2</a>(<span class="keywordtype">int</span> *error) <span class="keyword">const</span>;
1251
+ <a name="l02178"></a>02178 };
1252
+ <a name="l02179"></a>02179 <span class="preprocessor">#else</span>
1253
+ <a name="l02180"></a>02180 <span class="preprocessor"></span>} <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a>;
1254
+ <a name="l02181"></a>02181 <span class="preprocessor">#endif</span>
1255
+ <a name="l02182"></a>02182 <span class="preprocessor"></span>
1256
+ <a name="l02183"></a>02183 <span class="preprocessor">#ifdef __cplusplus</span>
1257
+ <a name="l02184"></a>02184 <span class="preprocessor"></span><span class="keyword">struct </span><a class="code" href="structCamKeypointsKdTree.html" title="The CamKeypointsKdTree class.">CamKeypointsKdTree</a>;
1258
+ <a name="l02185"></a>02185
1259
+ <a name="l02186"></a>02186 <span class="preprocessor">#ifdef SWIG</span>
1260
+ <a name="l02187"></a>02187 <span class="preprocessor"></span> %<span class="keyword">mutable</span>;
1261
+ <a name="l02188"></a>02188 <span class="preprocessor">#endif</span>
1262
+ <a name="l02190"></a><a class="code" href="structCamKeypoints.html">02190</a> <span class="preprocessor">struct CamKeypoints {</span>
1263
+ <a name="l02191"></a>02191 <span class="preprocessor"></span><span class="preprocessor">#else</span>
1264
+ <a name="l02193"></a>02193 <span class="preprocessor">typedef struct _CamKeypoints {</span>
1265
+ <a name="l02194"></a>02194 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
1266
+ <a name="l02195"></a><a class="code" href="structCamKeypoints.html#8bbfd8787209ced73bbd0636d9723eec">02195</a> <span class="preprocessor"></span> <span class="keywordtype">int</span> width, height;
1267
+ <a name="l02196"></a><a class="code" href="structCamKeypoints.html#2a80dc2e870c438f38bd8e02608d0d90">02196</a> <span class="keywordtype">int</span> cx, cy;
1268
+ <a name="l02197"></a><a class="code" href="structCamKeypoints.html#dd9d5cd20096f5778d6e375e4e4c21e5">02197</a> <span class="keywordtype">int</span> id;
1269
+ <a name="l02198"></a>02198 <span class="preprocessor">#ifdef SWIG</span>
1270
+ <a name="l02199"></a>02199 <span class="preprocessor"></span> %immutable;
1271
+ <a name="l02200"></a>02200 <span class="preprocessor">#endif</span>
1272
+ <a name="l02201"></a>02201 <span class="preprocessor"></span> <span class="keywordtype">int</span> allocated;
1273
+ <a name="l02202"></a><a class="code" href="structCamKeypoints.html#8ac987fba8b4caa344d13f7150e373b8">02202</a> <span class="keywordtype">int</span> nbPoints;
1274
+ <a name="l02203"></a><a class="code" href="structCamKeypoints.html#0e184e38e1997b77e5484817c22fe4ce">02203</a> <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> **keypoint;
1275
+ <a name="l02204"></a><a class="code" href="structCamKeypoints.html#c8178c7eb9ae7d65450446d9792c5e73">02204</a> <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *bag;
1276
+ <a name="l02205"></a>02205 <span class="preprocessor">#ifdef __cplusplus</span>
1277
+ <a name="l02206"></a><a class="code" href="structCamKeypoints.html#1c5e31cbcf91e58bd678f450abbd70be">02206</a> <span class="preprocessor"></span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>() {allocated = 0; nbPoints = 0; keypoint = NULL; bag = NULL; cx = 0; cy = 0;}
1278
+ <a name="l02207"></a>02207 <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>(<span class="keywordtype">int</span> nbPoints);
1279
+ <a name="l02208"></a>02208 <span class="preprocessor">#ifndef SWIG</span>
1280
+ <a name="l02209"></a>02209 <span class="preprocessor"></span> <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a>&amp; operator[](<span class="keywordtype">int</span> index);
1281
+ <a name="l02210"></a>02210 <span class="preprocessor">#endif</span>
1282
+ <a name="l02211"></a>02211 <span class="preprocessor"></span> ~<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>();
1283
+ <a name="l02212"></a>02212
1284
+ <a name="l02213"></a>02213 <span class="keywordtype">bool</span> <span class="keyword">add</span>(<a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> &amp;p);
1285
+ <a name="l02214"></a>02214 <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>&amp; operator&lt;&lt;(<a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> &amp;p) { <span class="keyword">add</span>(p); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
1286
+ <a name="l02215"></a>02215 <span class="keywordtype">bool</span> draw(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;image, <span class="keywordtype">int</span> color = 255) <span class="keyword">const</span>;
1287
+ <a name="l02216"></a>02216 <span class="keywordtype">int</span> matching(<span class="keyword">const</span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> **models, <span class="keywordtype">int</span> nbModels, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> &amp;matches) <span class="keyword">const</span>;
1288
+ <a name="l02217"></a>02217 <span class="keywordtype">int</span> matching2(<span class="keyword">const</span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> &amp;points, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> &amp;matches) <span class="keyword">const</span>;
1289
+ <a name="l02218"></a>02218 <span class="keywordtype">int</span> matchingKdTree(<span class="keyword">const</span> <a class="code" href="structCamKeypointsKdTree.html" title="The CamKeypointsKdTree class.">CamKeypointsKdTree</a> &amp;kdTree, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> &amp;matches, <span class="keywordtype">int</span> explore = 100) <span class="keyword">const</span>;
1290
+ <a name="l02219"></a>02219
1291
+ <a name="l02220"></a>02220 <span class="keywordtype">bool</span> alloc(<span class="keywordtype">int</span> nbPoints);
1292
+ <a name="l02221"></a>02221 <span class="keywordtype">bool</span> realloc(<span class="keywordtype">int</span> nbPoints);
1293
+ <a name="l02222"></a>02222 };
1294
+ <a name="l02223"></a>02223 <span class="preprocessor">#else</span>
1295
+ <a name="l02224"></a>02224 <span class="preprocessor"></span>} <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>;
1296
+ <a name="l02225"></a>02225 <span class="preprocessor">#endif</span>
1297
+ <a name="l02226"></a>02226 <span class="preprocessor"></span>
1298
+ <a name="l02227"></a>02227 <span class="preprocessor">#define CAM_UPRIGHT 1</span>
1299
+ <a name="l02228"></a>02228 <span class="preprocessor"></span>
1300
+ <a name="l02229"></a>02229 <span class="keywordtype">int</span> camKeypointsSetParameters(<span class="keywordtype">int</span> patchSize, <span class="keywordtype">int</span> sigma, <span class="keywordtype">int</span> threshGradient);
1301
+ <a name="l02230"></a>02230
1302
+ <a name="l02231"></a>02231 <span class="preprocessor">#ifndef SWIG</span>
1303
+ <a name="l02232"></a>02232 <span class="preprocessor"></span>
1304
+ <a name="l02234"></a>02234 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#24e47734b134286f05de2db740c96b7f" title="Keypoints allocation.">camAllocateKeypoints</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *fpoints, <span class="keywordtype">int</span> nbPoints);
1305
+ <a name="l02235"></a>02235
1306
+ <a name="l02237"></a>02237 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#06e681e9a1386744c8756d070f7efb9e" title="Keypoints reallocation.">camReallocateKeypoints</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *fpoints, <span class="keywordtype">int</span> nbPoints);
1307
+ <a name="l02238"></a>02238
1308
+ <a name="l02240"></a>02240 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4430338c8eb437d7d7c216f20a8e1fb8" title="Keypoints release.">camFreeKeypoints</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *fpoints);
1309
+ <a name="l02241"></a>02241
1310
+ <a name="l02243"></a>02243 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#96269ad40d6e7fbe1019609cffe14a58" title="Draw kepoints on screen.">camDrawKeypoints</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> color);
1311
+ <a name="l02244"></a>02244
1312
+ <a name="l02246"></a>02246 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#404b9ccff1c286c618f1e0a85d9955e7" title="Draw one keypoint on screen.">camDrawKeypoint</a>(<a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *point, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> color);
1313
+ <a name="l02247"></a>02247
1314
+ <a name="l02249"></a>02249
1315
+ <a name="l02251"></a>02251 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#43d708768b49c7fd7d70395682df50fd" title="Harris corner detector.">camHarris</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> k);
1316
+ <a name="l02252"></a>02252
1317
+ <a name="l02254"></a>02254 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#59fed4d1929b4e5a13e2f27cc24c3dc8" title="Local maxima finder (Circle7 neighborhood).">camFindLocalMaximaCircle7</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> threshold);
1318
+ <a name="l02255"></a>02255
1319
+ <a name="l02257"></a>02257 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#24c5e6cd5dae89458f8ec6d96bca913a" title="Local maxima finder (Circle5 neighborhood).">camFindLocalMaximaCircle5</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> threshold);
1320
+ <a name="l02258"></a>02258
1321
+ <a name="l02260"></a>02260 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#845a27c37bd030f61e922093974bf559" title="Local maxima finder (Square3 neighborhood).">camFindLocalMaximaCircle3</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> threshold);
1322
+ <a name="l02261"></a>02261
1323
+ <a name="l02263"></a>02263 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b70cc0998157584bbb4df573a616271f" title="Integral image computation.">camIntegralImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1324
+ <a name="l02264"></a>02264
1325
+ <a name="l02266"></a>02266 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#bf35335b4fb608df1027e5c172600ca0" title="Fast Hessian Detection (for one scale only).">camFastHessianDetectorFixedScale</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *integral, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> scale);
1326
+ <a name="l02267"></a>02267
1327
+ <a name="l02269"></a>02269 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#bcccad316d621ae86fdb4da6bc500119" title="Fast Hessian Detection (for all scales).">camFastHessianDetector</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> threshold, <span class="keywordtype">int</span> options);
1328
+ <a name="l02270"></a>02270
1329
+ <a name="l02272"></a>02272 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a>* <a class="code" href="camellia_8h.html#6f2e53a03e30a93bdc41238835749aca" title="Find a keypoint in a set of keypoints.">camFindKeypoint</a>(<a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *point, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points, <span class="keywordtype">int</span> *dist1, <span class="keywordtype">int</span> *dist2);
1330
+ <a name="l02273"></a>02273
1331
+ <a name="l02275"></a>02275 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#19112fda60b52fe8402c8233d1abe4e2" title="Allocate keypoints matches.">camAllocateKeypointsMatches</a>(<a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches, <span class="keywordtype">int</span> nbpairs);
1332
+ <a name="l02276"></a>02276
1333
+ <a name="l02278"></a>02278 <span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#863e173916b6d802a081a0835efd06eb" title="Free keypoints matches.">camFreeKeypointsMatches</a>(<a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches);
1334
+ <a name="l02279"></a>02279
1335
+ <a name="l02281"></a>02281 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#12b5414b38f85a3d95f85d9767c33eee" title="Find an object in a database (brute force matching).">camKeypointsMatching</a>(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *target, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> **models, <span class="keywordtype">int</span> nbModels, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches);
1336
+ <a name="l02282"></a>02282 <span class="keywordtype">int</span> camKeypointsMatching2(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points1, <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *points2, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches);
1337
+ <a name="l02283"></a>02283
1338
+ <a name="l02285"></a>02285 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#d4206e571087ad81100f3af4c2fcb552" title="Find the affine transform from one object to the next.">camFindAffineTransform</a>(<a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches, <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> *t, <span class="keywordtype">int</span> *error);
1339
+ <a name="l02286"></a>02286 <span class="keywordtype">int</span> camFindAffineTransform2(<a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches, <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> *t, <span class="keywordtype">int</span> *error);
1340
+ <a name="l02287"></a>02287
1341
+ <a name="l02289"></a>02289 <span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#87f18e886e6bd7861a91a47a3a18e75e" title="Apply an affine transform on a point (xy) to find the target point (uv).">camApplyAffineTransform</a>(<a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> *xy, <a class="code" href="structCamPoint.html" title="The structure used to identify a point in 2D.">CamPoint</a> *uv, <a class="code" href="structCamAffineTransform.html" title="Affine Transform parameters.">CamAffineTransform</a> *t);
1342
+ <a name="l02290"></a>02290
1343
+ <a name="l02291"></a>02291 <span class="keyword">typedef</span> <span class="keyword">struct </span>_CamFPKdTreeNode {
1344
+ <a name="l02292"></a>02292 <span class="keywordtype">int</span> i;
1345
+ <a name="l02293"></a>02293 <span class="keywordtype">int</span> m;
1346
+ <a name="l02294"></a>02294 <span class="keyword">struct </span>_CamFPKdTreeNode *right;
1347
+ <a name="l02295"></a>02295 } CamFPKdTreeNode;
1348
+ <a name="l02296"></a>02296
1349
+ <a name="l02297"></a>02297 <span class="keywordtype">int</span> camKeypointsMatchingKdTree(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> *target, CamFPKdTreeNode *kdTreeRoot, <a class="code" href="structCamKeypointsMatches.html" title="A match between 2 CamKeypoints.">CamKeypointsMatches</a> *matches, <span class="keywordtype">int</span> explore);
1350
+ <a name="l02298"></a>02298
1351
+ <a name="l02299"></a>02299 CamFPKdTreeNode *camKeypointsCompileKdTree(<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> **models, <span class="keywordtype">int</span> nbModels);
1352
+ <a name="l02300"></a>02300
1353
+ <a name="l02301"></a>02301 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *camFindKeypointKdTree(<a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *point, CamFPKdTreeNode *kdTreeRoot, <span class="keywordtype">int</span> explore, <span class="keywordtype">int</span> *dist1, <span class="keywordtype">int</span> *dist2);
1354
+ <a name="l02302"></a>02302
1355
+ <a name="l02303"></a>02303 <span class="preprocessor">#endif // SWIG</span>
1356
+ <a name="l02304"></a>02304 <span class="preprocessor"></span>
1357
+ <a name="l02305"></a>02305 <span class="preprocessor">#ifdef __cplusplus</span>
1358
+ <a name="l02307"></a><a class="code" href="structCamKeypointsKdTree.html">02307</a> <span class="preprocessor">struct CamKeypointsKdTree {</span>
1359
+ <a name="l02308"></a>02308 <span class="preprocessor"></span> CamFPKdTreeNode *root;
1360
+ <a name="l02309"></a>02309
1361
+ <a name="l02310"></a>02310 <span class="keywordtype">void</span> compile(<span class="keyword">const</span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> **models, <span class="keywordtype">int</span> nbModels) {root = camKeypointsCompileKdTree((<a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a>**)models, nbModels);}
1362
+ <a name="l02311"></a>02311 <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *find(<span class="keyword">const</span> <a class="code" href="structCamKeypoint.html" title="The Keypoint structure.">CamKeypoint</a> *point, <span class="keywordtype">int</span> explore = 100, <span class="keywordtype">int</span> *dist1 = NULL, <span class="keywordtype">int</span> *dist2 = NULL) <span class="keyword">const</span>; <span class="comment">// C++ Wrapper for camFindKeypointKdTree function</span>
1363
+ <a name="l02312"></a>02312
1364
+ <a name="l02313"></a>02313 <a class="code" href="structCamKeypointsKdTree.html" title="The CamKeypointsKdTree class.">CamKeypointsKdTree</a>(<span class="keyword">const</span> <a class="code" href="structCamKeypoints.html" title="The CamKeypoints structure.">CamKeypoints</a> **models = NULL, <span class="keywordtype">int</span> nbModels = 0) { <span class="keywordflow">if</span> (nbModels != 0) compile(models, nbModels); <span class="keywordflow">else</span> root = NULL;};
1365
+ <a name="l02314"></a><a class="code" href="structCamKeypointsKdTree.html#be357e379fce45a146c06b9c5110eac7">02314</a> ~<a class="code" href="structCamKeypointsKdTree.html" title="The CamKeypointsKdTree class.">CamKeypointsKdTree</a>() {<span class="keywordflow">if</span> (root) free(root);}
1366
+ <a name="l02315"></a>02315 };
1367
+ <a name="l02316"></a>02316 <span class="preprocessor">#endif // __cplusplus</span>
1368
+ <a name="l02317"></a>02317 <span class="preprocessor"></span>
1369
+ <a name="l02319"></a>02319
1370
+ <a name="l02323"></a>02323
1371
+ <a name="l02324"></a>02324 <span class="comment">/* Image allocation utility routines</span>
1372
+ <a name="l02325"></a>02325 <span class="comment"> */</span>
1373
+ <a name="l02326"></a>02326
1374
+ <a name="l02327"></a>02327 <span class="preprocessor">#ifndef SWIG</span>
1375
+ <a name="l02328"></a>02328 <span class="preprocessor"></span>
1376
+ <a name="l02330"></a>02330 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#912e006e9f07a11ec36dbf8c3219d638" title="Grey scale image allocation.">camAllocateImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth);
1377
+ <a name="l02332"></a>02332 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#3f4f5e263a8d1856dc62507ef7e9a3bb" title="Any kind of image allocation.">camAllocateImageEx</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth, <span class="keywordtype">int</span> color_seq);
1378
+ <a name="l02334"></a>02334 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7e15a79d8f2e9b6323cce0dc74fe8f02" title="Fill image header (no memory initialization).">camFillImageHeader</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> depth, <span class="keywordtype">int</span> channelseq);
1379
+ <a name="l02336"></a>02336 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#c4c5be480b06529eca08f1b0df99c5dc" title="YUV image allocation.">camAllocateYUVImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1380
+ <a name="l02338"></a>02338 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ea168982d8e14543fd55f6da04be2934" title="HLS image allocation.">camAllocateHLSImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1381
+ <a name="l02340"></a>02340 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9ab8678168958b15a014b09899575f6b" title="RGB image allocation.">camAllocateRGBImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1382
+ <a name="l02342"></a>02342 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#71efb458354b38be740b155c2644463d" title="RGB image allocation with alpha channel.">camAllocateRGBAImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1383
+ <a name="l02344"></a>02344 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4d6d862667b343fba17671cd0ec04060" title="BGR image allocation.">camAllocateBGRImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1384
+ <a name="l02346"></a>02346 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#bdaad0135b5c598ef1379690703703b4" title="BGR image allocation with alpha channel.">camAllocateBGRAImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1385
+ <a name="l02348"></a>02348 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#f9e0cfd15d26b78ad54684acb9aafb35" title="Image memory release.">camDeallocateImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1386
+ <a name="l02350"></a>02350 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#ec824e1a11642d16688ff1c8aea54791" title="Image memory release.">camFreeImage</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1387
+ <a name="l02351"></a>02351
1388
+ <a name="l02352"></a>02352 <span class="comment">/* Other useful functions</span>
1389
+ <a name="l02353"></a>02353 <span class="comment"> */</span>
1390
+ <a name="l02355"></a>02355 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#35499ec3aab3b8bd15565f15bcbc434f" title="Set the ROI utility function.">camSetROI</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi, <span class="keywordtype">int</span> coi, <span class="keywordtype">int</span> xOffset, <span class="keywordtype">int</span> yOffset, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
1391
+ <a name="l02357"></a>02357 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#5b388099a71fda354a7de927203b5056" title="Set the ROI to the maximum size of the image.">camSetMaxROI</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1392
+ <a name="l02359"></a>02359 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9126b44faaeaa69e7b04f0738aa7a8b9" title="Reduce the roi by a given number of pixels on each side.">camReduceROI</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi, <span class="keywordtype">int</span> pixels);
1393
+ <a name="l02361"></a>02361 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2dfe31c691e6b5c8686815c1e74aba66" title="Enlarge the roi by a given number of pixels on each side.">camEnlargeROI</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi, <span class="keywordtype">int</span> pixels);
1394
+ <a name="l02363"></a>02363 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9a4a1542a049e0a321db75c5db12c681" title="Simple 2x Zoom functin (by pixels replication).">camZoom2x</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dst);
1395
+ <a name="l02365"></a>02365 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#8924fb25405730e75099c28b6415693f" title="Simple nearest-neighbour decimation.">camDecimateNN</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *src, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest, <span class="keywordtype">int</span> factor);
1396
+ <a name="l02367"></a>02367 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#0fc42c0fed9f1c909a7e3b4a97330aad" title="Set the image mask (Run-Length encoded mask).">camSetRLEMask</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *mask);
1397
+ <a name="l02369"></a>02369 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#73dd3205a41d8a460f1d5057124475ed" title="Set the image mask (CamImage mask).">camSetMask</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *mask);
1398
+ <a name="l02370"></a>02370
1399
+ <a name="l02371"></a>02371 <span class="preprocessor">#define camDownScaling2x2 camDownscaling2x2</span>
1400
+ <a name="l02373"></a>02373 <span class="preprocessor">int camDownScaling2x2(CamImage *src, CamImage *dest);</span>
1401
+ <a name="l02375"></a>02375 <span class="preprocessor"></span>
1402
+ <a name="l02379"></a>02379 <span class="preprocessor">int camCopy(CamImage *source, CamImage *dest);</span>
1403
+ <a name="l02381"></a>02381 <span class="preprocessor"></span>
1404
+ <a name="l02384"></a>02384 <span class="preprocessor">int camClone(CamImage *source, CamImage *dest);</span>
1405
+ <a name="l02386"></a>02386 <span class="preprocessor"></span>
1406
+ <a name="l02389"></a>02389 <span class="preprocessor">int camRefCopy(CamImage *source, CamImage *dest);</span>
1407
+ <a name="l02391"></a>02391 <span class="preprocessor">int camSet(CamImage *image, int fillValue);</span>
1408
+ <a name="l02393"></a>02393 <span class="preprocessor"></span>
1409
+ <a name="l02397"></a>02397 <span class="preprocessor">int camAlphaComposite(CamImage *source1, CamImage *source2, CamImage *dest);</span>
1410
+ <a name="l02398"></a>02398 <span class="preprocessor"></span>
1411
+ <a name="l02400"></a>02400 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#0cf71999d7a1fbae3c61a4dae8e3aa0a" title="Set the border value of an image.">camSetBorder</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> borderValue);
1412
+ <a name="l02402"></a>02402 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#5adebabc6e39eaafb1ec6abc0756f8c3" title="Clip the roi of an image.">camClipROI</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1413
+ <a name="l02404"></a>02404 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#2a8f67c7fc1a9736f789a2458b8c1a3f" title="Clip a ROI with respect to an image.">camClip</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1414
+ <a name="l02406"></a>02406 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#3185c266234556bd2f120096f1f08da5" title="Compute intersection between ROIs.">camROIIntersect</a>(<a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi1, <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *roi2, <a class="code" href="structCamROI.html" title="The IPL Region Of Interest structure.">CamROI</a> *dest);
1415
+ <a name="l02407"></a>02407
1416
+ <a name="l02408"></a>02408 <span class="preprocessor">#endif //SWIG</span>
1417
+ <a name="l02409"></a>02409 <span class="preprocessor"></span><span class="keywordtype">int</span> camSetImageViewer(<span class="keywordtype">char</span> *s);
1418
+ <a name="l02410"></a>02410 <span class="preprocessor">#ifndef SWIG</span>
1419
+ <a name="l02411"></a>02411 <span class="preprocessor"></span>
1420
+ <a name="l02413"></a>02413 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#9d3a1aac17bb5d79d1d5ffa7c6d081c5" title="View an image.">camView</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1421
+ <a name="l02415"></a>02415 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="camellia_8h.html#29e7e764723f9f6e9c9222ddf8d5cd0d" title="Returns the version of the library.">camVersion</a>();
1422
+ <a name="l02416"></a>02416
1423
+ <a name="l02417"></a>02417 <span class="comment">/* Drawing functions</span>
1424
+ <a name="l02418"></a>02418 <span class="comment"> */</span>
1425
+ <a name="l02420"></a>02420 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4043dc2be0ba8d7a173f280f5d007d61" title="Draw a line.">camDrawLine</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> color);
1426
+ <a name="l02422"></a>02422 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#58ab689dd945c0a44c13bfc1690567d9" title="Accumulate a line in a frame (very useful for Hough transforms).">camAccumulateLine</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> acc);
1427
+ <a name="l02424"></a>02424 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#cffc60a3e19b28ee96d0ae9e56eabc3d" title="Draw a rectangle.">camDrawRectangle</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2, <span class="keywordtype">int</span> color);
1428
+ <a name="l02426"></a>02426 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#f988af691f73e1402f3cfd2d4d3520c1" title="Draw some text using 16 segments font (looks like an alarm clock...).">camDrawText16s</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *text, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> cwidth, <span class="keywordtype">int</span> cheight, <span class="keywordtype">int</span> orientation, <span class="keywordtype">int</span> color);
1429
+ <a name="l02428"></a>02428 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#4adc874143a32e767aad5f3329fccb9c" title="Draw a circle.">camDrawCircle</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> r, <span class="keywordtype">int</span> color);
1430
+ <a name="l02430"></a>02430 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#46d433af3bb1ca759be272291622b130" title="Draw an ellipse.">camDrawEllipse</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> rx, <span class="keywordtype">int</span> ry, <span class="keywordtype">int</span> color);
1431
+ <a name="l02432"></a>02432
1432
+ <a name="l02434"></a>02434 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7e7bab9a4ef6bc165f2cf12290d014fc" title="Plot.">camPlot</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> color, <span class="keywordtype">int</span> kind);
1433
+ <a name="l02436"></a>02436
1434
+ <a name="l02447"></a>02447 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#1cb0a4ab978407d47b9117430d33c3ae" title="Fill a region with a color.">camFillColor</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> fillcolor, <span class="keywordtype">int</span> tolerance);
1435
+ <a name="l02448"></a>02448
1436
+ <a name="l02449"></a>02449 <span class="preprocessor">#endif // SWIG</span>
1437
+ <a name="l02450"></a>02450 <span class="preprocessor"></span>
1438
+ <a name="l02451"></a>02451 <span class="preprocessor">#ifdef __cplusplus</span>
1439
+ <a name="l02453"></a><a class="code" href="structCamBitmapFont.html">02453</a> <span class="preprocessor">struct CamBitmapFont {</span>
1440
+ <a name="l02454"></a>02454 <span class="preprocessor"></span><span class="preprocessor">#else</span>
1441
+ <a name="l02455"></a>02455 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{
1442
+ <a name="l02456"></a>02456 <span class="preprocessor">#endif</span>
1443
+ <a name="l02457"></a>02457 <span class="preprocessor"></span> <span class="keywordtype">int</span> first_char;
1444
+ <a name="l02458"></a>02458 <span class="keywordtype">int</span> nb_chars;
1445
+ <a name="l02459"></a>02459 <span class="keywordtype">int</span> height;
1446
+ <a name="l02460"></a>02460 <a class="code" href="structCamRLEImage.html" title="The CamRLEImage structure : the RLE (Run Length Encoded) image structure.">CamRLEImage</a> *masks;
1447
+ <a name="l02461"></a>02461 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *letters;
1448
+ <a name="l02462"></a>02462 <span class="preprocessor">#ifdef __cplusplus</span>
1449
+ <a name="l02463"></a>02463 <span class="preprocessor"></span> <a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a>() {first_char=33; nb_chars=0; masks=NULL; letters=NULL;}
1450
+ <a name="l02464"></a>02464 <a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
1451
+ <a name="l02465"></a>02465 ~<a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a>();
1452
+ <a name="l02466"></a>02466 <span class="keywordtype">bool</span> load(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
1453
+ <a name="l02467"></a>02467 };
1454
+ <a name="l02468"></a>02468 <span class="preprocessor">#else</span>
1455
+ <a name="l02469"></a>02469 <span class="preprocessor"></span>} <a class="code" href="structCamBitmapFont.html" title="The bitmap font structure.">CamBitmapFont</a>;
1456
+ <a name="l02470"></a>02470 <span class="preprocessor">#endif</span>
1457
+ <a name="l02471"></a>02471 <span class="preprocessor"></span>
1458
+ <a name="l02472"></a>02472 <span class="preprocessor">#ifndef SWIG</span>
1459
+ <a name="l02474"></a>02474 <span class="preprocessor">int camLoadBitmapFont(CamBitmapFont *font, char *filename);</span>
1460
+ <a name="l02476"></a>02476 <span class="preprocessor">int camFreeBitmapFont(CamBitmapFont *font);</span>
1461
+ <a name="l02478"></a>02478 <span class="preprocessor">int camDrawTextBitmap(CamImage *image, char *text, int x, int y, CamBitmapFont *font);</span>
1462
+ <a name="l02479"></a>02479 <span class="preprocessor"></span><span class="preprocessor">#endif // SWIG</span>
1463
+ <a name="l02480"></a>02480 <span class="preprocessor"></span>
1464
+ <a name="l02482"></a>02482
1465
+ <a name="l02484"></a>02484 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#f26daf901d61d38ed4b5c2dfe82b9691" title="24 bits integer color representation. Stricly equivalent to the Windows RGB macro...">camRGB</a>(<span class="keywordtype">int</span> r, <span class="keywordtype">int</span> g, <span class="keywordtype">int</span> b);
1466
+ <a name="l02485"></a>02485
1467
+ <a name="l02487"></a>02487 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#7527f24b971c50e84ee2438dd415c71f" title="32 bits integer color representation, including an alpha channel">camRGBA</a>(<span class="keywordtype">int</span> r, <span class="keywordtype">int</span> g, <span class="keywordtype">int</span> b, <span class="keywordtype">int</span> a);
1468
+ <a name="l02488"></a>02488
1469
+ <a name="l02489"></a>02489 <span class="preprocessor">#ifndef SWIG</span>
1470
+ <a name="l02490"></a>02490 <span class="preprocessor"></span>
1471
+ <a name="l02491"></a>02491 <span class="comment">/* Load and save PGM images</span>
1472
+ <a name="l02492"></a>02492 <span class="comment"> */</span>
1473
+ <a name="l02494"></a>02494 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b795d824e2bd8f384980b79729b974a6" title="Load a PGM image.">camLoadPGM</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *fn);
1474
+ <a name="l02496"></a>02496 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#15f25150d0d3607c6e82d39ce713bfc3" title="Save a PGM image.">camSavePGM</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *filename);
1475
+ <a name="l02498"></a>02498 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#823fce2ce63e6c12b48c710d930d1e8b" title="Save a raw PGM image (8-bits only).">camSaveRawPGM</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *filename);
1476
+ <a name="l02499"></a>02499
1477
+ <a name="l02500"></a>02500 <span class="comment">/* Load and save BMP images</span>
1478
+ <a name="l02501"></a>02501 <span class="comment"> */</span>
1479
+ <a name="l02503"></a>02503 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#c7b9f5883f486f1af9971009347faf6f" title="Load a BMP image.">camLoadBMP</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *fn);
1480
+ <a name="l02505"></a>02505 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#06cd51a111de95af501a3e7425868f9c" title="Save a BMP image.">camSaveBMP</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image, <span class="keywordtype">char</span> *filename);
1481
+ <a name="l02506"></a>02506
1482
+ <a name="l02507"></a>02507 <span class="comment">/* Load config files</span>
1483
+ <a name="l02508"></a>02508 <span class="comment"> */</span>
1484
+ <a name="l02509"></a>02509 <span class="preprocessor">#define CAM_CONFIG_MAX_ENTRIES 256</span>
1485
+ <a name="l02510"></a>02510 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{
1486
+ <a name="l02511"></a>02511 <span class="keywordtype">int</span> nbEntries;
1487
+ <a name="l02512"></a>02512 <span class="keywordtype">char</span> parameter[CAM_CONFIG_MAX_ENTRIES][128];
1488
+ <a name="l02513"></a>02513 <span class="keywordtype">char</span> value[CAM_CONFIG_MAX_ENTRIES][128];
1489
+ <a name="l02514"></a>02514 } CamConfig;
1490
+ <a name="l02515"></a>02515
1491
+ <a name="l02516"></a>02516 <span class="keywordtype">int</span> camLoadConfig(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CamConfig *config);
1492
+ <a name="l02517"></a>02517 <span class="keywordtype">int</span> camConfigInt(<span class="keyword">const</span> CamConfig *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *entry);
1493
+ <a name="l02518"></a>02518 <span class="keywordtype">float</span> camConfigFloat(<span class="keyword">const</span> CamConfig *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *entry);
1494
+ <a name="l02519"></a>02519 <span class="keyword">const</span> <span class="keywordtype">char</span> *camConfigString(<span class="keyword">const</span> CamConfig *config, <span class="keyword">const</span> <span class="keywordtype">char</span> *entry);
1495
+ <a name="l02520"></a>02520
1496
+ <a name="l02521"></a>02521 <span class="comment">/* Image capture functions</span>
1497
+ <a name="l02522"></a>02522 <span class="comment"> */</span>
1498
+ <a name="l02523"></a>02523 <span class="keywordtype">void</span>* camCaptureInit(<span class="keywordtype">int</span> options);
1499
+ <a name="l02524"></a>02524 <span class="keywordtype">int</span> camCapture(<span class="keywordtype">void</span> *handle, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image);
1500
+ <a name="l02525"></a>02525 <span class="keywordtype">int</span> camCaptureOver(<span class="keywordtype">void</span> *handle);
1501
+ <a name="l02526"></a>02526
1502
+ <a name="l02527"></a>02527 <span class="preprocessor">#endif</span>
1503
+ <a name="l02528"></a>02528 <span class="preprocessor"></span>
1504
+ <a name="l02529"></a>02529 <span class="preprocessor">#define CAM_CAPTURE_AUTO_SOURCE 1</span>
1505
+ <a name="l02530"></a>02530 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CAPTURE_DISPLAY 2</span>
1506
+ <a name="l02531"></a>02531 <span class="preprocessor"></span><span class="preprocessor">#define CAM_CAPTURE_USE_READ 4</span>
1507
+ <a name="l02532"></a>02532 <span class="preprocessor"></span>
1508
+ <a name="l02533"></a>02533 <span class="preprocessor">#ifdef __cplusplus</span>
1509
+ <a name="l02534"></a>02534 <span class="preprocessor"></span><span class="keyword">class </span>CamCapture {
1510
+ <a name="l02535"></a>02535 <span class="keywordtype">void</span> *handle;
1511
+ <a name="l02536"></a>02536 <span class="keyword">public</span>:
1512
+ <a name="l02537"></a>02537 <span class="keywordtype">bool</span> capture(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> &amp;capture);
1513
+ <a name="l02538"></a>02538 <span class="keywordtype">bool</span> ready() {<span class="keywordflow">return</span> (handle)?<span class="keyword">true</span>:<span class="keyword">false</span>;}
1514
+ <a name="l02539"></a>02539 CamCapture(<span class="keywordtype">int</span> options=0);
1515
+ <a name="l02540"></a>02540 ~CamCapture();
1516
+ <a name="l02541"></a>02541 };
1517
+ <a name="l02542"></a>02542 <span class="preprocessor">#endif</span>
1518
+ <a name="l02543"></a>02543 <span class="preprocessor"></span>
1519
+ <a name="l02544"></a>02544 <span class="preprocessor">#ifndef SWIG</span>
1520
+ <a name="l02545"></a>02545 <span class="preprocessor"></span>
1521
+ <a name="l02547"></a>02547 <span class="keywordtype">void</span> <a class="code" href="camellia_8h.html#dd5488e303f8e030cca6dd592f987c89" title="Error management function.">camError</a>(<span class="keywordtype">char</span> *module, <span class="keywordtype">char</span> *error);
1522
+ <a name="l02548"></a>02548 <span class="keyword">typedef</span> void (*camErrorFunct)(<span class="keywordtype">char</span> *,<span class="keywordtype">char</span>*);
1523
+ <a name="l02549"></a>02549 <span class="keywordtype">void</span> camSetErrorFunct(camErrorFunct funct);
1524
+ <a name="l02551"></a>02551
1525
+ <a name="l02555"></a>02555 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#36862e66ce65a8ea856b3cd1948bc9bf" title="Converts a YUV image to a RGB image.">camYUV2RGB</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>* source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1526
+ <a name="l02556"></a>02556 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#13dd49f78d364201f6242b7ebe5defd6" title="Converts a RGB image to a YUV image.">camRGB2YUV</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>* source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1527
+ <a name="l02557"></a>02557 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#b0bbdcdb9e8960a91e7519de8d02cea4" title="Converts a RGB image to a gray scale image.">camRGB2Y</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1528
+ <a name="l02558"></a>02558 <span class="keywordtype">int</span> <a class="code" href="camellia_8h.html#5b44d46b2cc8662b2f87a5e6207d7cc6" title="Converts a RGB image to a HLS image.">camRGB2HLS</a>(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a>* source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest);
1529
+ <a name="l02559"></a>02559
1530
+ <a name="l02560"></a>02560
1531
+ <a name="l02564"></a>02564 <span class="comment">/*</span>
1532
+ <a name="l02565"></a>02565 <span class="comment"> * Computes the Sum of Absolute Values between two 8x8 blocks</span>
1533
+ <a name="l02566"></a>02566 <span class="comment"> *</span>
1534
+ <a name="l02567"></a>02567 <span class="comment"> * This function takes into account the blocks lying partially outside the image.</span>
1535
+ <a name="l02568"></a>02568 <span class="comment"> * MMX optimized if &lt;DFN&gt;CAM_OPT_MMX&lt;/DFN&gt; compilation option is set (requires Intel C++ compiler).</span>
1536
+ <a name="l02569"></a>02569 <span class="comment"> *</span>
1537
+ <a name="l02570"></a>02570 <span class="comment"> *</span>
1538
+ <a name="l02571"></a>02571 <span class="comment"> * \param image1 Current image</span>
1539
+ <a name="l02572"></a>02572 <span class="comment"> * \param image2 Previous image</span>
1540
+ <a name="l02573"></a>02573 <span class="comment"> * \param bleft The x coordinate of the current block</span>
1541
+ <a name="l02574"></a>02574 <span class="comment"> * \param btop The y coordinate of the current block</span>
1542
+ <a name="l02575"></a>02575 <span class="comment"> * \param dx The x offset to reach the candidate block</span>
1543
+ <a name="l02576"></a>02576 <span class="comment"> * \param dy The y offset to reach the candidate block</span>
1544
+ <a name="l02577"></a>02577 <span class="comment"> *</span>
1545
+ <a name="l02578"></a>02578 <span class="comment"> * \return The SAD value between the given two blocks</span>
1546
+ <a name="l02579"></a>02579 <span class="comment"> */</span>
1547
+ <a name="l02580"></a>02580 <span class="keywordtype">int</span> camSAD8x8(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image2, <span class="keywordtype">int</span> bleft, <span class="keywordtype">int</span> btop, <span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> dy);
1548
+ <a name="l02581"></a>02581
1549
+ <a name="l02582"></a>02582 <span class="comment">/*</span>
1550
+ <a name="l02583"></a>02583 <span class="comment"> * Computes the Sum of Absolute Values between two 16x16 blocks</span>
1551
+ <a name="l02584"></a>02584 <span class="comment"> *</span>
1552
+ <a name="l02585"></a>02585 <span class="comment"> * This function takes into account the blocks lying partially outside the image.</span>
1553
+ <a name="l02586"></a>02586 <span class="comment"> * MMX optimized if &lt;DFN&gt;CAM_OPT_MMX&lt;/DFN&gt; compilation option is set (requires Intel C++ compiler).</span>
1554
+ <a name="l02587"></a>02587 <span class="comment"> *</span>
1555
+ <a name="l02588"></a>02588 <span class="comment"> *</span>
1556
+ <a name="l02589"></a>02589 <span class="comment"> * \param image1 Current image</span>
1557
+ <a name="l02590"></a>02590 <span class="comment"> * \param image2 Previous image</span>
1558
+ <a name="l02591"></a>02591 <span class="comment"> * \param bleft The x coordinate of the current block</span>
1559
+ <a name="l02592"></a>02592 <span class="comment"> * \param btop The y coordinate of the current block</span>
1560
+ <a name="l02593"></a>02593 <span class="comment"> * \param dx The x offset to reach the candidate block</span>
1561
+ <a name="l02594"></a>02594 <span class="comment"> * \param dy The y offset to reach the candidate block</span>
1562
+ <a name="l02595"></a>02595 <span class="comment"> *</span>
1563
+ <a name="l02596"></a>02596 <span class="comment"> * \return The SAD value between the given two blocks</span>
1564
+ <a name="l02597"></a>02597 <span class="comment"> */</span>
1565
+ <a name="l02598"></a>02598 <span class="keywordtype">int</span> camSAD16x16(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image1, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *image2, <span class="keywordtype">int</span> bleft, <span class="keywordtype">int</span> btop, <span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> dy);
1566
+ <a name="l02599"></a>02599
1567
+ <a name="l02600"></a>02600 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
1568
+ <a name="l02601"></a>02601 <span class="keywordtype">int</span> niter;
1569
+ <a name="l02602"></a>02602 <span class="keywordtype">int</span> seed;
1570
+ <a name="l02603"></a>02603 <span class="keywordtype">int</span> lsearch;
1571
+ <a name="l02604"></a>02604 <span class="keywordtype">int</span> rsearch;
1572
+ <a name="l02605"></a>02605 <span class="keywordtype">int</span> blockSize;
1573
+ <a name="l02606"></a>02606 <span class="keywordtype">int</span> scans;
1574
+ <a name="l02607"></a>02607 <span class="keywordtype">int</span> candidates;
1575
+ <a name="l02608"></a>02608 <span class="keywordtype">int</span> test0;
1576
+ <a name="l02609"></a>02609 } CamMotionEstimation3DRSParams;
1577
+ <a name="l02610"></a>02610
1578
+ <a name="l02611"></a>02611 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
1579
+ <a name="l02612"></a>02612 <span class="keywordtype">int</span> vx[CAM_MAX_SCANLINE/8][CAM_MAX_FRAME_HEIGHT/8];
1580
+ <a name="l02613"></a>02613 <span class="keywordtype">int</span> vy[CAM_MAX_SCANLINE/8][CAM_MAX_FRAME_HEIGHT/8];
1581
+ <a name="l02614"></a>02614 <span class="keywordtype">int</span> SAD[CAM_MAX_SCANLINE/8][CAM_MAX_FRAME_HEIGHT/8];
1582
+ <a name="l02615"></a>02615 } CamMotionEstimation3DRSResults;
1583
+ <a name="l02616"></a>02616
1584
+ <a name="l02617"></a>02617 <span class="keywordtype">int</span> camMotionEstimation3DRSInit(CamMotionEstimation3DRSParams *params, <span class="keywordtype">int</span> seed, <span class="keywordtype">int</span> lsearch, <span class="keywordtype">int</span> rsearch, <span class="keywordtype">int</span> bs, <span class="keywordtype">int</span> scans, <span class="keywordtype">int</span> candidates, <span class="keywordtype">int</span> test0);
1585
+ <a name="l02618"></a>02618 <span class="keywordtype">int</span> camMotionEstimation3DRS(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *current, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *previous, CamMotionEstimation3DRSParams *params, CamMotionEstimation3DRSResults *results);
1586
+ <a name="l02620"></a>02620
1587
+ <a name="l02624"></a>02624
1588
+ <a name="l02625"></a>02625 <span class="keywordtype">void</span> camProject(<span class="keyword">const</span> <span class="keywordtype">double</span> extr[4][4], <span class="keyword">const</span> <span class="keywordtype">double</span> fc[2], <span class="keyword">const</span> <span class="keywordtype">double</span> cc[2], <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span> *xp, <span class="keywordtype">int</span> *yp);
1589
+ <a name="l02626"></a>02626
1590
+ <a name="l02627"></a>02627 <span class="keywordtype">void</span> camBackproject(<span class="keyword">const</span> <span class="keywordtype">double</span> extr[4][4], <span class="keyword">const</span> <span class="keywordtype">double</span> fc[2], <span class="keyword">const</span> <span class="keywordtype">double</span> cc[2], <span class="keywordtype">int</span> xp, <span class="keywordtype">int</span> yp, <span class="keywordtype">double</span> z, <span class="keywordtype">double</span> *x, <span class="keywordtype">double</span> *y);
1591
+ <a name="l02628"></a>02628
1592
+ <a name="l02629"></a>02629 <span class="keywordtype">int</span> camUndistort(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest,
1593
+ <a name="l02630"></a>02630 <span class="keyword">const</span> <span class="keywordtype">float</span>* intrinsic_matrix,
1594
+ <a name="l02631"></a>02631 <span class="keyword">const</span> <span class="keywordtype">float</span>* dist_coeffs);
1595
+ <a name="l02632"></a>02632 <span class="keywordtype">int</span> camUndistortFixed(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest,
1596
+ <a name="l02633"></a>02633 <span class="keyword">const</span> CAM_FIXED_POINT* intrinsic_matrix,
1597
+ <a name="l02634"></a>02634 <span class="keyword">const</span> CAM_FIXED_POINT* dist_coeffs);
1598
+ <a name="l02635"></a>02635 <span class="keywordtype">int</span> camUndistortBuildLUT(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source,
1599
+ <a name="l02636"></a>02636 <span class="keyword">const</span> <span class="keywordtype">float</span>* intrinsic_matrix,
1600
+ <a name="l02637"></a>02637 <span class="keyword">const</span> <span class="keywordtype">float</span>* dist_coeffs,
1601
+ <a name="l02638"></a>02638 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *LUTX, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *LUTY);
1602
+ <a name="l02639"></a>02639 <span class="keywordtype">int</span> camUndistortLUT(<a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *source, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *dest,
1603
+ <a name="l02640"></a>02640 <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *LUTX, <a class="code" href="structCamImage.html" title="The famous IplImage/CamImage structure, today&amp;#39;s standard structure for image...">CamImage</a> *LUTY);
1604
+ <a name="l02641"></a>02641
1605
+ <a name="l02643"></a>02643
1606
+ <a name="l02644"></a>02644 <span class="preprocessor">#endif // SWIG</span>
1607
+ <a name="l02645"></a>02645 <span class="preprocessor"></span>
1608
+ <a name="l02646"></a>02646 <span class="preprocessor">#ifdef __cplusplus</span>
1609
+ <a name="l02647"></a>02647 <span class="preprocessor"></span>}
1610
+ <a name="l02648"></a>02648 <span class="preprocessor">#endif</span>
1611
+ <a name="l02649"></a>02649 <span class="preprocessor"></span>
1612
+ <a name="l02650"></a>02650 <span class="preprocessor">#endif</span>
1613
+ <a name="l02651"></a>02651 <span class="preprocessor"></span>
1614
+ </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 3 16:41:07 2008 for Camellia by&nbsp;
1615
+ <a href="http://www.doxygen.org/index.html">
1616
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
1617
+ </body>
1618
+ </html>