camellia 2.7.0-x86-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>