XML:
+::
+
+ <?xml version="1.0">
+ <opencv_storage>
+ <A type_id="opencv-matrix">
+ <rows>3</rows>
+ <cols>3</cols>
+ <dt>f</dt>
+ <data>1. 0. 0. 0. 1. 0. 0. 0. 1.</data>
+ </A>
+ </opencv_storage>
+
-\begin{verbatim}
-<?xml version="1.0">
-<opencv_storage>
-<A type_id="opencv-matrix">
- <rows>3</rows>
- <cols>3</cols>
- <dt>f</dt>
- <data>1. 0. 0. 0. 1. 0. 0. 0. 1.</data>
-</A>
-</opencv_storage>
-
-\end{verbatim}
YAML:
+::
+
+ A: !!opencv-matrix
+ rows: 3
+ cols: 3
+ dt: f
+ data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1.]
-\begin{verbatim}
-A: !!opencv-matrix
- rows: 3
- cols: 3
- dt: f
- data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1.]
-\end{verbatim}
As it can be seen from the examples, XML uses nested tags to represent
hierarchy, while YAML uses indentation for that purpose (similar
to the Python programming language).
All the structures are used for representing a cascaded of boosted Haar classifiers. The cascade has the following hierarchical structure:
+::
+
+ Cascade:
+ Stage,,1,,:
+ Classifier,,11,,:
+ Feature,,11,,
+ Classifier,,12,,:
+ Feature,,12,,
+ ...
+ Stage,,2,,:
+ Classifier,,21,,:
+ Feature,,21,,
+ ...
+ ...
-\begin{verbatim}
-Cascade:
- Stage,,1,,:
- Classifier,,11,,:
- Feature,,11,,
- Classifier,,12,,:
- Feature,,12,,
- ...
- Stage,,2,,:
- Classifier,,21,,:
- Feature,,21,,
- ...
- ...
-
-\end{verbatim}
The whole hierarchy can be constructed manually or loaded from a file or an embedded base using the function
:ref:`LoadHaarClassifierCascade`
.