Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
204 chris 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<html>
3
        <head>
4
                <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5
                <title>ARToolKit API Documentation</title>
6
                <link href="doxygen.css" rel="stylesheet" type="text/css">
7
        </head>
8
        <body>
9
<!-- Generated by Doxygen 1.4.6 -->
10
<div class="tabs">
11
  <ul>
12
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
13
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14
    <li id="current"><a href="files.html"><span>Files</span></a></li>
15
  </ul></div>
16
<div class="tabs">
17
  <ul>
18
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
19
    <li><a href="globals.html"><span>Globals</span></a></li>
20
  </ul></div>
21
<h1>ar.h File Reference</h1>ARToolKit subroutines. <a href="#_details">More...</a>
22
<p>
23
<code>#include &lt;stdio.h&gt;</code><br>
24
<code>#include &lt;malloc.h&gt;</code><br>
25
<code>#include &lt;AR/config.h&gt;</code><br>
26
<code>#include &lt;<a class="el" href="param_8h.html">AR/param.h</a>&gt;</code><br>
27
<table border="0" cellpadding="0" cellspacing="0">
28
<tr><td></td></tr>
29
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
30
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a></td></tr>
31
 
32
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">main structure for detected marker.  <a href="structARMarkerInfo.html#_details">More...</a><br></td></tr>
33
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a></td></tr>
34
 
35
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal structure use for marker detection.  <a href="structARMarkerInfo2.html#_details">More...</a><br></td></tr>
36
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarPrevInfo.html">arPrevInfo</a></td></tr>
37
 
38
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">structure for temporal continuity of tracking  <a href="structarPrevInfo.html#_details">More...</a><br></td></tr>
39
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
40
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#8f604950d2f084c26c5536d3f3c6d2dc">arMalloc</a>(V, T, S)</td></tr>
41
 
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocation macro function  <a href="#8f604950d2f084c26c5536d3f3c6d2dc"></a><br></td></tr>
43
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="afe90e222c0db6403f85ca96a864e68d"></a><!-- doxytag: member="ar.h::ARInt8" ref="afe90e222c0db6403f85ca96a864e68d" args="" -->
45
typedef char&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARInt8</b></td></tr>
46
 
47
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cba23a097cd35890823aa7a6404af36"></a><!-- doxytag: member="ar.h::ARInt16" ref="6cba23a097cd35890823aa7a6404af36" args="" -->
48
typedef short&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARInt16</b></td></tr>
49
 
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4229ab76abade2d0527641b296f9524"></a><!-- doxytag: member="ar.h::ARInt32" ref="c4229ab76abade2d0527641b296f9524" args="" -->
51
typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARInt32</b></td></tr>
52
 
53
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02e9800188e0181b7fa171eda70b784b"></a><!-- doxytag: member="ar.h::ARUint8" ref="02e9800188e0181b7fa171eda70b784b" args="" -->
54
typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARUint8</b></td></tr>
55
 
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c5b88b57c3936d5a4bae49b6a56ce473"></a><!-- doxytag: member="ar.h::ARUint16" ref="c5b88b57c3936d5a4bae49b6a56ce473" args="" -->
57
typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARUint16</b></td></tr>
58
 
59
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfbcb187d9acbaf00da1b25e0ce02ea3"></a><!-- doxytag: member="ar.h::ARUint32" ref="dfbcb187d9acbaf00da1b25e0ce02ea3" args="" -->
60
typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>ARUint32</b></td></tr>
61
 
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#641bf68ce0529b6b323ec156e69c5590">AR_PIXEL_FORMAT</a></td></tr>
63
 
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ARToolKit pixel-format specifiers.  <a href="#641bf68ce0529b6b323ec156e69c5590"></a><br></td></tr>
65
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
66
<tr><td class="memItemLeft" nowrap align="right" valign="top">ARUint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#5f6a6f78cfce8c8dfc80479b47232eb4">arGetVersion</a> (char **versionStringRef)</td></tr>
67
 
68
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ARToolKit version information in numberic and string format.  <a href="#5f6a6f78cfce8c8dfc80479b47232eb4"></a><br></td></tr>
69
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#52f12a73083b810427e2a9066e69a0f2">arInitCparam</a> (<a class="el" href="structARParam.html">ARParam</a> *param)</td></tr>
70
 
71
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize camera parameters.  <a href="#52f12a73083b810427e2a9066e69a0f2"></a><br></td></tr>
72
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#c2f0ca15b1247e50412fdfa02a1541e1">arLoadPatt</a> (const char *filename)</td></tr>
73
 
74
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">load markers description from a file  <a href="#c2f0ca15b1247e50412fdfa02a1541e1"></a><br></td></tr>
75
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#b2868d9587c68fb7255d4f270bcf878f">arDetectMarker</a> (ARUint8 *dataPtr, int thresh, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **marker_info, int *marker_num)</td></tr>
76
 
77
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">main function to detect the square markers in the video input frame.  <a href="#b2868d9587c68fb7255d4f270bcf878f"></a><br></td></tr>
78
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#0ac7f61f701b09d7bebdff61d21665d4">arDetectMarkerLite</a> (ARUint8 *dataPtr, int thresh, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **marker_info, int *marker_num)</td></tr>
79
 
80
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">main function to detect rapidly the square markers in the video input frame.  <a href="#0ac7f61f701b09d7bebdff61d21665d4"></a><br></td></tr>
81
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#01eddf593ac98e4547e7131263e0d8c6">arGetTransMat</a> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_info, double center[2], double width, double conv[3][4])</td></tr>
82
 
83
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute camera position in function of detected markers.  <a href="#01eddf593ac98e4547e7131263e0d8c6"></a><br></td></tr>
84
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#701276e28f11b53f13877b0316b5f6ec">arGetTransMatCont</a> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_info, double prev_conv[3][4], double center[2], double width, double conv[3][4])</td></tr>
85
 
86
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">compute camera position in function of detected marker with an history function.  <a href="#701276e28f11b53f13877b0316b5f6ec"></a><br></td></tr>
87
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cf3ebf5b35b7579be4265a70c488add"></a><!-- doxytag: member="ar.h::arGetTransMat2" ref="2cf3ebf5b35b7579be4265a70c488add" args="(double rot[3][3], double pos2d[][2], double pos3d[][2], int num, double conv[3][4])" -->
88
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arGetTransMat2</b> (double rot[3][3], double pos2d[][2], double pos3d[][2], int num, double conv[3][4])</td></tr>
89
 
90
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e60c91fbbd9df2d13305889eb6bad42"></a><!-- doxytag: member="ar.h::arGetTransMat3" ref="0e60c91fbbd9df2d13305889eb6bad42" args="(double rot[3][3], double ppos2d[][2], double ppos3d[][2], int num, double conv[3][4], double *dist_factor, double cpara[3][4])" -->
91
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arGetTransMat3</b> (double rot[3][3], double ppos2d[][2], double ppos3d[][2], int num, double conv[3][4], double *dist_factor, double cpara[3][4])</td></tr>
92
 
93
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40e1ae75863fc6c6856e77ba2063d2ba"></a><!-- doxytag: member="ar.h::arGetTransMat4" ref="40e1ae75863fc6c6856e77ba2063d2ba" args="(double rot[3][3], double ppos2d[][2], double ppos3d[][3], int num, double conv[3][4])" -->
94
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arGetTransMat4</b> (double rot[3][3], double ppos2d[][2], double ppos3d[][3], int num, double conv[3][4])</td></tr>
95
 
96
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48c5f3b9b77169136d31cd2c151d3199"></a><!-- doxytag: member="ar.h::arGetTransMat5" ref="48c5f3b9b77169136d31cd2c151d3199" args="(double rot[3][3], double ppos2d[][2], double ppos3d[][3], int num, double conv[3][4], double *dist_factor, double cpara[3][4])" -->
97
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arGetTransMat5</b> (double rot[3][3], double ppos2d[][2], double ppos3d[][3], int num, double conv[3][4], double *dist_factor, double cpara[3][4])</td></tr>
98
 
99
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#e521cbe3ab4de2f3609c27642c49ec02">arFreePatt</a> (int patt_no)</td></tr>
100
 
101
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">remove a pattern from memory.  <a href="#e521cbe3ab4de2f3609c27642c49ec02"></a><br></td></tr>
102
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#6c088b86ead215e7b297a6e80b63f7e5">arActivatePatt</a> (int pat_no)</td></tr>
103
 
104
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">activate a pattern on the recognition procedure.  <a href="#6c088b86ead215e7b297a6e80b63f7e5"></a><br></td></tr>
105
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#30613e52b5b93f17a739b3c0f8dc9eac">arDeactivatePatt</a> (int pat_no)</td></tr>
106
 
107
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">desactivate a pattern on the recognition procedure.  <a href="#30613e52b5b93f17a739b3c0f8dc9eac"></a><br></td></tr>
108
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#7e24d412f5402911f553cbb9d6d79ab5">arSavePatt</a> (ARUint8 *image, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_info, char *filename)</td></tr>
109
 
110
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">save a marker.  <a href="#7e24d412f5402911f553cbb9d6d79ab5"></a><br></td></tr>
111
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#be420456ee7c64086e560ad93e2ebb92">arUtilMatInv</a> (double s[3][4], double d[3][4])</td></tr>
112
 
113
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverse a non-square matrix.  <a href="#be420456ee7c64086e560ad93e2ebb92"></a><br></td></tr>
114
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#6b8cf1b8e77a8ef9e21bb826c8588cee">arUtilMatMul</a> (double s1[3][4], double s2[3][4], double d[3][4])</td></tr>
115
 
116
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication of two matrix.  <a href="#6b8cf1b8e77a8ef9e21bb826c8588cee"></a><br></td></tr>
117
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#c60722714c8cadaf209911537f40c3d8">arUtilMat2QuatPos</a> (double m[3][4], double q[4], double p[3])</td></tr>
118
 
119
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">extract a quaternion/position of matrix.  <a href="#c60722714c8cadaf209911537f40c3d8"></a><br></td></tr>
120
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#93fe43532942ad6b6155c9609b6f17cb">arUtilQuatPos2Mat</a> (double q[4], double p[3], double m[3][4])</td></tr>
121
 
122
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a matrix with a quaternion/position.  <a href="#93fe43532942ad6b6155c9609b6f17cb"></a><br></td></tr>
123
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#bf559062118794d0740cba8780de67d2">arUtilTimer</a> (void)</td></tr>
124
 
125
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the time with the ARToolkit timer.  <a href="#bf559062118794d0740cba8780de67d2"></a><br></td></tr>
126
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#1d05f864313f7d14dc9a8a7c20295b05">arUtilTimerReset</a> (void)</td></tr>
127
 
128
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">reset the internal timer of ARToolkit.  <a href="#1d05f864313f7d14dc9a8a7c20295b05"></a><br></td></tr>
129
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#e563a6bac5ed423dd919f1eaeddde63e">arUtilSleep</a> (int msec)</td></tr>
130
 
131
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sleep the actual thread.  <a href="#e563a6bac5ed423dd919f1eaeddde63e"></a><br></td></tr>
132
<tr><td class="memItemLeft" nowrap align="right" valign="top">ARInt16 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#42ad9c96a619e0d62be0627634332dfe">arLabeling</a> (ARUint8 *image, int thresh, int *label_num, int **area, double **pos, int **clip, int **label_ref)</td></tr>
133
 
134
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">extract connected components from image.  <a href="#42ad9c96a619e0d62be0627634332dfe"></a><br></td></tr>
135
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#f4cc9097aa08c705e97b9abf19c5fdfe">arLabelingCleanup</a> (void)</td></tr>
136
 
137
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clean up static data allocated by arLabeling.  <a href="#f4cc9097aa08c705e97b9abf19c5fdfe"></a><br></td></tr>
138
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#4909575c338b25813a1c824d46b2f4fe">arGetImgFeature</a> (int *num, int **area, int **clip, double **pos)</td></tr>
139
 
140
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#4909575c338b25813a1c824d46b2f4fe"></a><br></td></tr>
141
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#b16c3318db6011fb5eaaf0ded6dd2772">arDetectMarker2</a> (ARInt16 *limage, int label_num, int *label_ref, int *warea, double *wpos, int *wclip, int area_max, int area_min, double factor, int *marker_num)</td></tr>
142
 
143
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#b16c3318db6011fb5eaaf0ded6dd2772"></a><br></td></tr>
144
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#dbf9c7446fbe6fd777f3a0464e071e05">arGetMarkerInfo</a> (ARUint8 *image, <a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *marker_info2, int *marker_num)</td></tr>
145
 
146
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">information on  <a href="#dbf9c7446fbe6fd777f3a0464e071e05"></a><br></td></tr>
147
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#90b6568d18fcceb2fd95fe538cf15a49">arGetCode</a> (ARUint8 *image, int *x_coord, int *y_coord, int *vertex, int *code, int *dir, double *cf)</td></tr>
148
 
149
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#90b6568d18fcceb2fd95fe538cf15a49"></a><br></td></tr>
150
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#5f9a199367ae02c106c1845f8706727e">arGetPatt</a> (ARUint8 *image, int *x_coord, int *y_coord, int *vertex, ARUint8 ext_pat[AR_PATT_SIZE_Y][AR_PATT_SIZE_X][3])</td></tr>
151
 
152
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a normalized pattern from a video image.  <a href="#5f9a199367ae02c106c1845f8706727e"></a><br></td></tr>
153
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#870cde1dfb861bfdbb12f2a71baa2a4e">arGetLine</a> (int x_coord[], int y_coord[], int coord_num, int vertex[], double line[4][3], double v[4][2])</td></tr>
154
 
155
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">estimate a line from a list of point.  <a href="#870cde1dfb861bfdbb12f2a71baa2a4e"></a><br></td></tr>
156
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#16c787be64ef32697d51379624930cad">arGetContour</a> (ARInt16 *limage, int *label_ref, int label, int clip[4], <a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *marker_info2)</td></tr>
157
 
158
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#16c787be64ef32697d51379624930cad"></a><br></td></tr>
159
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#5493c47b96eeda32ee7aabe1e87dbf1c">arModifyMatrix</a> (double rot[3][3], double trans[3], double cpara[3][4], double vertex[][3], double pos2d[][2], int num)</td></tr>
160
 
161
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#5493c47b96eeda32ee7aabe1e87dbf1c"></a><br></td></tr>
162
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#a91c0942b8061abae28060cfd548ed2a">arGetAngle</a> (double rot[3][3], double *wa, double *wb, double *wc)</td></tr>
163
 
164
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">extract euler angle from a rotation matrix.  <a href="#a91c0942b8061abae28060cfd548ed2a"></a><br></td></tr>
165
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#37f711816374205f2479501fd7ed9dc8">arGetRot</a> (double a, double b, double c, double rot[3][3])</td></tr>
166
 
167
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a rotation matrix with euler angle.  <a href="#37f711816374205f2479501fd7ed9dc8"></a><br></td></tr>
168
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#d9dd73e92ed946bec4196becff260063">arGetNewMatrix</a> (double a, double b, double c, double trans[3], double trans2[3][4], double cpara[3][4], double ret[3][4])</td></tr>
169
 
170
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#d9dd73e92ed946bec4196becff260063"></a><br></td></tr>
171
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#0622f4ef5f8243421bc30e4b4e708f91">arGetInitRot</a> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_info, double cpara[3][4], double rot[3][3])</td></tr>
172
 
173
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#0622f4ef5f8243421bc30e4b4e708f91"></a><br></td></tr>
174
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6aa4b1b2b9241ba79411dd6a010f68d1"></a><!-- doxytag: member="ar.h::arsInitCparam" ref="6aa4b1b2b9241ba79411dd6a010f68d1" args="(ARSParam *sparam)" -->
175
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsInitCparam</b> (ARSParam *sparam)</td></tr>
176
 
177
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2f4fa070e8f3e7794112675e5dde2af"></a><!-- doxytag: member="ar.h::arsGetImgFeature" ref="b2f4fa070e8f3e7794112675e5dde2af" args="(int *num, int **area, int **clip, double **pos, int LorR)" -->
178
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetImgFeature</b> (int *num, int **area, int **clip, double **pos, int LorR)</td></tr>
179
 
180
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ede3e8087984e88e0619391d9a66d765"></a><!-- doxytag: member="ar.h::arsLabeling" ref="ede3e8087984e88e0619391d9a66d765" args="(ARUint8 *image, int thresh, int *label_num, int **area, double **pos, int **clip, int **label_ref, int LorR)" -->
181
ARInt16 *&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsLabeling</b> (ARUint8 *image, int thresh, int *label_num, int **area, double **pos, int **clip, int **label_ref, int LorR)</td></tr>
182
 
183
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60c490cd4565ff92156949dcb9a92e77"></a><!-- doxytag: member="ar.h::arsGetLine" ref="60c490cd4565ff92156949dcb9a92e77" args="(int x_coord[], int y_coord[], int coord_num, int vertex[], double line[4][3], double v[4][2], int LorR)" -->
184
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetLine</b> (int x_coord[], int y_coord[], int coord_num, int vertex[], double line[4][3], double v[4][2], int LorR)</td></tr>
185
 
186
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3465f44639d696b63fb4672fbd999898"></a><!-- doxytag: member="ar.h::arsGetMarkerInfo" ref="3465f44639d696b63fb4672fbd999898" args="(ARUint8 *image, ARMarkerInfo2 *marker_info2, int *marker_num, int LorR)" -->
187
<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetMarkerInfo</b> (ARUint8 *image, <a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *marker_info2, int *marker_num, int LorR)</td></tr>
188
 
189
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="556e7491f8fdeb6499786a035bb1ddb1"></a><!-- doxytag: member="ar.h::arsDetectMarker" ref="556e7491f8fdeb6499786a035bb1ddb1" args="(ARUint8 *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num, int LorR)" -->
190
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsDetectMarker</b> (ARUint8 *dataPtr, int thresh, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **marker_info, int *marker_num, int LorR)</td></tr>
191
 
192
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff5a349d7d8a1c0545ddb826e883af6f"></a><!-- doxytag: member="ar.h::arsDetectMarkerLite" ref="ff5a349d7d8a1c0545ddb826e883af6f" args="(ARUint8 *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num, int LorR)" -->
193
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsDetectMarkerLite</b> (ARUint8 *dataPtr, int thresh, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **marker_info, int *marker_num, int LorR)</td></tr>
194
 
195
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f53a0d19afd60cc92d9def4392683fa"></a><!-- doxytag: member="ar.h::arsGetTransMat" ref="2f53a0d19afd60cc92d9def4392683fa" args="(ARMarkerInfo *marker_infoL, ARMarkerInfo *marker_infoR, double center[2], double width, double transL[3][4], double transR[3][4])" -->
196
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetTransMat</b> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoL, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoR, double center[2], double width, double transL[3][4], double transR[3][4])</td></tr>
197
 
198
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99de31d19baa179fd90c28068c2f0ad3"></a><!-- doxytag: member="ar.h::arsGetTransMatCont" ref="99de31d19baa179fd90c28068c2f0ad3" args="(ARMarkerInfo *marker_infoL, ARMarkerInfo *marker_infoR, double prev_conv[3][4], double center[2], double width, double transL[3][4], double transR[3][4])" -->
199
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetTransMatCont</b> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoL, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoR, double prev_conv[3][4], double center[2], double width, double transL[3][4], double transR[3][4])</td></tr>
200
 
201
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ddd6e8d7a60c681b87bf57ffa989c4cb"></a><!-- doxytag: member="ar.h::arsGetTransMat2" ref="ddd6e8d7a60c681b87bf57ffa989c4cb" args="(double rot[3][3], double ppos2dL[][2], double ppos3dL[][3], int numL, double ppos2dR[][2], double ppos3dR[][3], int numR, double transL[3][4], double transR[3][4])" -->
202
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetTransMat2</b> (double rot[3][3], double ppos2dL[][2], double ppos3dL[][3], int numL, double ppos2dR[][2], double ppos3dR[][3], int numR, double transL[3][4], double transR[3][4])</td></tr>
203
 
204
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="410661610a6043deacadb03fedd4b907"></a><!-- doxytag: member="ar.h::arsGetPosErr" ref="410661610a6043deacadb03fedd4b907" args="(double pos2dL[2], double pos2dR[2])" -->
205
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsGetPosErr</b> (double pos2dL[2], double pos2dR[2])</td></tr>
206
 
207
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fea53ceb127129ee954954d0bcbfd52c"></a><!-- doxytag: member="ar.h::arsCheckPosition" ref="fea53ceb127129ee954954d0bcbfd52c" args="(double pos2dL[2], double pos2dR[2], double thresh)" -->
208
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsCheckPosition</b> (double pos2dL[2], double pos2dR[2], double thresh)</td></tr>
209
 
210
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2127c13541472ad35a5c744f1b8b06f8"></a><!-- doxytag: member="ar.h::arsCheckMarkerPosition" ref="2127c13541472ad35a5c744f1b8b06f8" args="(ARMarkerInfo *marker_infoL, ARMarkerInfo *marker_infoR, double thresh)" -->
211
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsCheckMarkerPosition</b> (<a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoL, <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *marker_infoR, double thresh)</td></tr>
212
 
213
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ab256923d00dd543378eeee73cab5e6"></a><!-- doxytag: member="ar.h::arsModifyMatrix" ref="2ab256923d00dd543378eeee73cab5e6" args="(double rot[3][3], double trans[3], ARSParam *arsParam, double pos3dL[][3], double pos2dL[][2], int numL, double pos3dR[][3], double pos2dR[][2], int numR)" -->
214
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsModifyMatrix</b> (double rot[3][3], double trans[3], ARSParam *arsParam, double pos3dL[][3], double pos2dL[][2], int numL, double pos3dR[][3], double pos2dR[][2], int numR)</td></tr>
215
 
216
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
217
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#de5bfd73c6f13e88ef3ef5d81ab7b423">arDebug</a></td></tr>
218
 
219
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">activate artoolkit debug mode  <a href="#de5bfd73c6f13e88ef3ef5d81ab7b423"></a><br></td></tr>
220
<tr><td class="memItemLeft" nowrap align="right" valign="top">ARUint8 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#79e81de8a750c4ffc4404a91a9588bfc">arImage</a></td></tr>
221
 
222
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal image  <a href="#79e81de8a750c4ffc4404a91a9588bfc"></a><br></td></tr>
223
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#00e128be0b9f056317cf4836884a4638">arFittingMode</a></td></tr>
224
 
225
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">fitting display mode use by ARToolkit.  <a href="#00e128be0b9f056317cf4836884a4638"></a><br></td></tr>
226
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#d4045aca4dba2521ac5da187d326a726">arImageProcMode</a></td></tr>
227
 
228
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">define the image size mode for marker detection.  <a href="#d4045aca4dba2521ac5da187d326a726"></a><br></td></tr>
229
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structARParam.html">ARParam</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#639363f64c4e3cd431e90a2fc0fcd8b8">arParam</a></td></tr>
230
 
231
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal intrinsic camera parameter  <a href="#639363f64c4e3cd431e90a2fc0fcd8b8"></a><br></td></tr>
232
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#849c998539d5da979412026f09a603ca">arImXsize</a></td></tr>
233
 
234
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal image size in width.  <a href="#849c998539d5da979412026f09a603ca"></a><br></td></tr>
235
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#f37d0b07126866ac30bc35b384ea1661">arImYsize</a></td></tr>
236
 
237
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal image size in heigth  <a href="#f37d0b07126866ac30bc35b384ea1661"></a><br></td></tr>
238
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#1665da981c98d36c150d8be1ea9828bc">arTemplateMatchingMode</a></td></tr>
239
 
240
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#1665da981c98d36c150d8be1ea9828bc"></a><br></td></tr>
241
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ar_8h.html#cfa9baadb964cb0cd48764b278cb926c">arMatchingPCAMode</a></td></tr>
242
 
243
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XXXBK.  <a href="#cfa9baadb964cb0cd48764b278cb926c"></a><br></td></tr>
244
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de4753b711f3da2bbce54af27b663d84"></a><!-- doxytag: member="ar.h::arImageL" ref="de4753b711f3da2bbce54af27b663d84" args="" -->
245
ARUint8 *&nbsp;</td><td class="memItemRight" valign="bottom"><b>arImageL</b></td></tr>
246
 
247
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="beb1382317515236244e8fe0f1093e02"></a><!-- doxytag: member="ar.h::arImageR" ref="beb1382317515236244e8fe0f1093e02" args="" -->
248
ARUint8 *&nbsp;</td><td class="memItemRight" valign="bottom"><b>arImageR</b></td></tr>
249
 
250
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eddeae89cc81b84599a93a8595176de7"></a><!-- doxytag: member="ar.h::arsParam" ref="eddeae89cc81b84599a93a8595176de7" args="" -->
251
ARSParam&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsParam</b></td></tr>
252
 
253
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5190d2f54631c0584a56b020a468b38"></a><!-- doxytag: member="ar.h::arsMatR2L" ref="f5190d2f54631c0584a56b020a468b38" args="[3][4]" -->
254
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>arsMatR2L</b> [3][4]</td></tr>
255
 
256
</table>
257
<hr><a name="_details"></a><h2>Detailed Description</h2>
258
ARToolKit subroutines.
259
<p>
260
Core of the ARToolKit Library. This file provides image analysis and marker detection routines. Differents routines give access to camera and marker configurations. Other routines manipulate marker info structures for deliver 3D transformation of markers (more precisely the position of the camera in function of the marker coordinate system).<p>
261
<dl compact><dt><b>Remarks:</b></dt><dd></dd></dl>
262
History :<p>
263
<dl compact><dt><b>Author:</b></dt><dd>Hirokazu Kato <a href="mailto:kato@sys.im.hiroshima-cu.ac.jp">kato@sys.im.hiroshima-cu.ac.jp</a> </dd></dl>
264
<dl compact><dt><b>Version:</b></dt><dd>3.1 </dd></dl>
265
<dl compact><dt><b>Date:</b></dt><dd>01/12/07 </dd></dl>
266
<hr><h2>Define Documentation</h2>
267
<a class="anchor" name="8f604950d2f084c26c5536d3f3c6d2dc"></a><!-- doxytag: member="ar.h::arMalloc" ref="8f604950d2f084c26c5536d3f3c6d2dc" args="(V, T, S)" --><p>
268
<table class="mdTable" cellpadding="2" cellspacing="0">
269
  <tr>
270
    <td class="mdRow">
271
      <table cellpadding="0" cellspacing="0" border="0">
272
        <tr>
273
          <td class="md" nowrap valign="top">#define arMalloc          </td>
274
          <td class="md" valign="top">(&nbsp;</td>
275
          <td class="md" nowrap valign="top">V,         <tr>
276
          <td class="md" nowrap align="right"></td>
277
          <td class="md"></td>
278
          <td class="md" nowrap>T,         <tr>
279
          <td class="md" nowrap align="right"></td>
280
          <td class="md"></td>
281
          <td class="md" nowrap>S&nbsp;</td>
282
          <td class="mdname1" valign="top" nowrap>          </td>
283
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
284
          <td class="md" nowrap></td>
285
        </tr>
286
      </table>
287
    </td>
288
  </tr>
289
</table>
290
<table cellspacing="5" cellpadding="0" border="0">
291
  <tr>
292
    <td>
293
      &nbsp;
294
    </td>
295
    <td>
296
 
297
<p>
298
<b>Value:</b><div class="fragment"><pre class="fragment">{ <span class="keywordflow">if</span>( ((V) = (T *)malloc( <span class="keyword">sizeof</span>(T) * (S) )) == 0 ) \
299
{printf(<span class="stringliteral">"malloc error!!\n"</span>); exit(1);} }
300
</pre></div>allocation macro function
301
<p>
302
allocate S elements of type T. <dl compact><dt><b>Parameters:</b></dt><dd>
303
  <table border="0" cellspacing="2" cellpadding="0">
304
    <tr><td valign="top"></td><td valign="top"><em>V</em>&nbsp;</td><td>returned allocated area pointer </td></tr>
305
    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>type of element </td></tr>
306
    <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td>number of elements </td></tr>
307
  </table>
308
</dl>
309
    </td>
310
  </tr>
311
</table>
312
<hr><h2>Typedef Documentation</h2>
313
<a class="anchor" name="641bf68ce0529b6b323ec156e69c5590"></a><!-- doxytag: member="ar.h::AR_PIXEL_FORMAT" ref="641bf68ce0529b6b323ec156e69c5590" args="" --><p>
314
<table class="mdTable" cellpadding="2" cellspacing="0">
315
  <tr>
316
    <td class="mdRow">
317
      <table cellpadding="0" cellspacing="0" border="0">
318
        <tr>
319
          <td class="md" nowrap valign="top"><a class="el" href="ar_8h.html#641bf68ce0529b6b323ec156e69c5590">AR_PIXEL_FORMAT</a>          </td>
320
        </tr>
321
      </table>
322
    </td>
323
  </tr>
324
</table>
325
<table cellspacing="5" cellpadding="0" border="0">
326
  <tr>
327
    <td>
328
      &nbsp;
329
    </td>
330
    <td>
331
 
332
<p>
333
ARToolKit pixel-format specifiers.
334
<p>
335
ARToolKit functions can accept pixel data in a variety of formats. This enumerations provides a set of constants you can use to request data in a particular pixel format from an ARToolKit function that returns data to you, or to specify that data you are providing to an ARToolKit function is in a particular pixel format.<p>
336
AR_PIXEL_FORMAT_RGB Each pixel is represented by 24 bits. Eight bits per each Red, Green, and Blue component. This is the native 24 bit format for the Mac platform.<p>
337
AR_PIXEL_FORMAT_BGR Each pixel is represented by 24 bits. Eight bits per each Blue, Red, and Green component. This is the native 24 bit format for the Win32 platform.<p>
338
AR_PIXEL_FORMAT_RGBA Each pixel is represented by 32 bits. Eight bits per each Red, Green, Blue, and Alpha component.<p>
339
AR_PIXEL_FORMAT_BGRA Each pixel is represented by 32 bits. Eight bits per each Blue, Green, Red, and Alpha component. This is the native 32 bit format for the Win32 platform.<p>
340
AR_PIXEL_FORMAT_ABGR Each pixel is represented by 32 bits. Eight bits per each Alpha, Blue, Green, and Red component. This is the native 32 bit format for the SGI platform.<p>
341
AR_PIXEL_FORMAT_ARGB Each pixel is represented by 32 bits. Eight bits per each Alpha, Red, Green, and Blue component. This is the native 32 bit format for the Mac platform.<p>
342
AR_PIXEL_FORMAT_MONO Each pixel is represented by 8 bits of luminance information.<p>
343
AR_PIXEL_FORMAT_2vuy 8-bit 4:2:2 Component Y'CbCr format. Each 16 bit pixel is represented by an unsigned eight bit luminance component and two unsigned eight bit chroma components. Each pair of pixels shares a common set of chroma values. The components are ordered in memory; Cb, Y0, Cr, Y1. The luminance components have a range of [16, 235], while the chroma value has a range of [16, 240]. This is consistent with the CCIR601 spec. This format is fairly prevalent on both Mac and Win32 platforms. '2vuy' is the Apple QuickTime four-character code for this pixel format. The equivalent Microsoft fourCC is 'UYVY'.<p>
344
AR_PIXEL_FORMAT_yuvs 8-bit 4:2:2 Component Y'CbCr format. Identical to the AR_PIXEL_FORMAT_2vuy except each 16 bit word has been byte swapped. This results in a component ordering of; Y0, Cb, Y1, Cr. This is most prevalent yuv 4:2:2 format on both Mac and Win32 platforms. 'yuvs' is the Apple QuickTime four-character code for this pixel format. The equivalent Microsoft fourCC is 'YUY2'.     </td>
345
  </tr>
346
</table>
347
<hr><h2>Function Documentation</h2>
348
<a class="anchor" name="6c088b86ead215e7b297a6e80b63f7e5"></a><!-- doxytag: member="ar.h::arActivatePatt" ref="6c088b86ead215e7b297a6e80b63f7e5" args="(int pat_no)" --><p>
349
<table class="mdTable" cellpadding="2" cellspacing="0">
350
  <tr>
351
    <td class="mdRow">
352
      <table cellpadding="0" cellspacing="0" border="0">
353
        <tr>
354
          <td class="md" nowrap valign="top">int arActivatePatt           </td>
355
          <td class="md" valign="top">(&nbsp;</td>
356
          <td class="md" nowrap valign="top">int&nbsp;</td>
357
          <td class="mdname1" valign="top" nowrap> <em>pat_no</em>          </td>
358
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
359
          <td class="md" nowrap></td>
360
        </tr>
361
      </table>
362
    </td>
363
  </tr>
364
</table>
365
<table cellspacing="5" cellpadding="0" border="0">
366
  <tr>
367
    <td>
368
      &nbsp;
369
    </td>
370
    <td>
371
 
372
<p>
373
activate a pattern on the recognition procedure.
374
<p>
375
Activate a pattern to be check during the template matching operation. <dl compact><dt><b>Parameters:</b></dt><dd>
376
  <table border="0" cellspacing="2" cellpadding="0">
377
    <tr><td valign="top"></td><td valign="top"><em>patt_no</em>&nbsp;</td><td>number of pattern to activate </td></tr>
378
  </table>
379
</dl>
380
<dl compact><dt><b>Returns:</b></dt><dd>return 1 in success, -1 if error </dd></dl>
381
    </td>
382
  </tr>
383
</table>
384
<a class="anchor" name="30613e52b5b93f17a739b3c0f8dc9eac"></a><!-- doxytag: member="ar.h::arDeactivatePatt" ref="30613e52b5b93f17a739b3c0f8dc9eac" args="(int pat_no)" --><p>
385
<table class="mdTable" cellpadding="2" cellspacing="0">
386
  <tr>
387
    <td class="mdRow">
388
      <table cellpadding="0" cellspacing="0" border="0">
389
        <tr>
390
          <td class="md" nowrap valign="top">int arDeactivatePatt           </td>
391
          <td class="md" valign="top">(&nbsp;</td>
392
          <td class="md" nowrap valign="top">int&nbsp;</td>
393
          <td class="mdname1" valign="top" nowrap> <em>pat_no</em>          </td>
394
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
395
          <td class="md" nowrap></td>
396
        </tr>
397
      </table>
398
    </td>
399
  </tr>
400
</table>
401
<table cellspacing="5" cellpadding="0" border="0">
402
  <tr>
403
    <td>
404
      &nbsp;
405
    </td>
406
    <td>
407
 
408
<p>
409
desactivate a pattern on the recognition procedure.
410
<p>
411
Desactivate a pattern for not be check during the template matching operation. <dl compact><dt><b>Parameters:</b></dt><dd>
412
  <table border="0" cellspacing="2" cellpadding="0">
413
    <tr><td valign="top"></td><td valign="top"><em>patt_no</em>&nbsp;</td><td>number of pattern to desactivate </td></tr>
414
  </table>
415
</dl>
416
<dl compact><dt><b>Returns:</b></dt><dd>return 1 in success, -1 if error </dd></dl>
417
    </td>
418
  </tr>
419
</table>
420
<a class="anchor" name="b2868d9587c68fb7255d4f270bcf878f"></a><!-- doxytag: member="ar.h::arDetectMarker" ref="b2868d9587c68fb7255d4f270bcf878f" args="(ARUint8 *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num)" --><p>
421
<table class="mdTable" cellpadding="2" cellspacing="0">
422
  <tr>
423
    <td class="mdRow">
424
      <table cellpadding="0" cellspacing="0" border="0">
425
        <tr>
426
          <td class="md" nowrap valign="top">int arDetectMarker           </td>
427
          <td class="md" valign="top">(&nbsp;</td>
428
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
429
          <td class="mdname" nowrap> <em>dataPtr</em>, </td>
430
        </tr>
431
        <tr>
432
          <td class="md" nowrap align="right"></td>
433
          <td class="md"></td>
434
          <td class="md" nowrap>int&nbsp;</td>
435
          <td class="mdname" nowrap> <em>thresh</em>, </td>
436
        </tr>
437
        <tr>
438
          <td class="md" nowrap align="right"></td>
439
          <td class="md"></td>
440
          <td class="md" nowrap><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **&nbsp;</td>
441
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
442
        </tr>
443
        <tr>
444
          <td class="md" nowrap align="right"></td>
445
          <td class="md"></td>
446
          <td class="md" nowrap>int *&nbsp;</td>
447
          <td class="mdname" nowrap> <em>marker_num</em></td>
448
        </tr>
449
        <tr>
450
          <td class="md"></td>
451
          <td class="md">)&nbsp;</td>
452
          <td class="md" colspan="2"></td>
453
        </tr>
454
      </table>
455
    </td>
456
  </tr>
457
</table>
458
<table cellspacing="5" cellpadding="0" border="0">
459
  <tr>
460
    <td>
461
      &nbsp;
462
    </td>
463
    <td>
464
 
465
<p>
466
main function to detect the square markers in the video input frame.
467
<p>
468
This function proceeds to thresholding, labeling, contour extraction and line corner estimation (and maintains an history). It's one of the main function of the detection routine with arGetTransMat. <dl compact><dt><b>Parameters:</b></dt><dd>
469
  <table border="0" cellspacing="2" cellpadding="0">
470
    <tr><td valign="top"></td><td valign="top"><em>dataPtr</em>&nbsp;</td><td>a pointer to the color image which is to be searched for square markers. The pixel format depend of your architecture. Generally ABGR, but the images are treated as a gray scale, so the order of BGR components does not matter. However the ordering of the alpha comp, A, is important. </td></tr>
471
    <tr><td valign="top"></td><td valign="top"><em>thresh</em>&nbsp;</td><td>specifies the threshold value (between 0-255) to be used to convert the input image into a binary image. </td></tr>
472
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>a pointer to an array of <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> structures returned which contain all the information about the detected squares in the image </td></tr>
473
    <tr><td valign="top"></td><td valign="top"><em>marker_num</em>&nbsp;</td><td>the number of detected markers in the image. </td></tr>
474
  </table>
475
</dl>
476
<dl compact><dt><b>Returns:</b></dt><dd>0 when the function completes normally, -1 otherwise </dd></dl>
477
    </td>
478
  </tr>
479
</table>
480
<a class="anchor" name="b16c3318db6011fb5eaaf0ded6dd2772"></a><!-- doxytag: member="ar.h::arDetectMarker2" ref="b16c3318db6011fb5eaaf0ded6dd2772" args="(ARInt16 *limage, int label_num, int *label_ref, int *warea, double *wpos, int *wclip, int area_max, int area_min, double factor, int *marker_num)" --><p>
481
<table class="mdTable" cellpadding="2" cellspacing="0">
482
  <tr>
483
    <td class="mdRow">
484
      <table cellpadding="0" cellspacing="0" border="0">
485
        <tr>
486
          <td class="md" nowrap valign="top"><a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a>* arDetectMarker2           </td>
487
          <td class="md" valign="top">(&nbsp;</td>
488
          <td class="md" nowrap valign="top">ARInt16 *&nbsp;</td>
489
          <td class="mdname" nowrap> <em>limage</em>, </td>
490
        </tr>
491
        <tr>
492
          <td class="md" nowrap align="right"></td>
493
          <td class="md"></td>
494
          <td class="md" nowrap>int&nbsp;</td>
495
          <td class="mdname" nowrap> <em>label_num</em>, </td>
496
        </tr>
497
        <tr>
498
          <td class="md" nowrap align="right"></td>
499
          <td class="md"></td>
500
          <td class="md" nowrap>int *&nbsp;</td>
501
          <td class="mdname" nowrap> <em>label_ref</em>, </td>
502
        </tr>
503
        <tr>
504
          <td class="md" nowrap align="right"></td>
505
          <td class="md"></td>
506
          <td class="md" nowrap>int *&nbsp;</td>
507
          <td class="mdname" nowrap> <em>warea</em>, </td>
508
        </tr>
509
        <tr>
510
          <td class="md" nowrap align="right"></td>
511
          <td class="md"></td>
512
          <td class="md" nowrap>double *&nbsp;</td>
513
          <td class="mdname" nowrap> <em>wpos</em>, </td>
514
        </tr>
515
        <tr>
516
          <td class="md" nowrap align="right"></td>
517
          <td class="md"></td>
518
          <td class="md" nowrap>int *&nbsp;</td>
519
          <td class="mdname" nowrap> <em>wclip</em>, </td>
520
        </tr>
521
        <tr>
522
          <td class="md" nowrap align="right"></td>
523
          <td class="md"></td>
524
          <td class="md" nowrap>int&nbsp;</td>
525
          <td class="mdname" nowrap> <em>area_max</em>, </td>
526
        </tr>
527
        <tr>
528
          <td class="md" nowrap align="right"></td>
529
          <td class="md"></td>
530
          <td class="md" nowrap>int&nbsp;</td>
531
          <td class="mdname" nowrap> <em>area_min</em>, </td>
532
        </tr>
533
        <tr>
534
          <td class="md" nowrap align="right"></td>
535
          <td class="md"></td>
536
          <td class="md" nowrap>double&nbsp;</td>
537
          <td class="mdname" nowrap> <em>factor</em>, </td>
538
        </tr>
539
        <tr>
540
          <td class="md" nowrap align="right"></td>
541
          <td class="md"></td>
542
          <td class="md" nowrap>int *&nbsp;</td>
543
          <td class="mdname" nowrap> <em>marker_num</em></td>
544
        </tr>
545
        <tr>
546
          <td class="md"></td>
547
          <td class="md">)&nbsp;</td>
548
          <td class="md" colspan="2"></td>
549
        </tr>
550
      </table>
551
    </td>
552
  </tr>
553
</table>
554
<table cellspacing="5" cellpadding="0" border="0">
555
  <tr>
556
    <td>
557
      &nbsp;
558
    </td>
559
    <td>
560
 
561
<p>
562
XXXBK.
563
<p>
564
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
565
  <table border="0" cellspacing="2" cellpadding="0">
566
    <tr><td valign="top"></td><td valign="top"><em>limage</em>&nbsp;</td><td>XXXBK </td></tr>
567
    <tr><td valign="top"></td><td valign="top"><em>label_num</em>&nbsp;</td><td>XXXBK </td></tr>
568
    <tr><td valign="top"></td><td valign="top"><em>label_ref</em>&nbsp;</td><td>XXXBK </td></tr>
569
    <tr><td valign="top"></td><td valign="top"><em>warea</em>&nbsp;</td><td>XXXBK </td></tr>
570
    <tr><td valign="top"></td><td valign="top"><em>wpos</em>&nbsp;</td><td>XXXBK </td></tr>
571
    <tr><td valign="top"></td><td valign="top"><em>wclip</em>&nbsp;</td><td>XXXBK </td></tr>
572
    <tr><td valign="top"></td><td valign="top"><em>area_max</em>&nbsp;</td><td>XXXBK </td></tr>
573
    <tr><td valign="top"></td><td valign="top"><em>area_min</em>&nbsp;</td><td>XXXBK </td></tr>
574
    <tr><td valign="top"></td><td valign="top"><em>factor</em>&nbsp;</td><td>XXXBK </td></tr>
575
    <tr><td valign="top"></td><td valign="top"><em>marker_num</em>&nbsp;</td><td>XXXBK </td></tr>
576
  </table>
577
</dl>
578
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK XXXBK </dd></dl>
579
    </td>
580
  </tr>
581
</table>
582
<a class="anchor" name="0ac7f61f701b09d7bebdff61d21665d4"></a><!-- doxytag: member="ar.h::arDetectMarkerLite" ref="0ac7f61f701b09d7bebdff61d21665d4" args="(ARUint8 *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num)" --><p>
583
<table class="mdTable" cellpadding="2" cellspacing="0">
584
  <tr>
585
    <td class="mdRow">
586
      <table cellpadding="0" cellspacing="0" border="0">
587
        <tr>
588
          <td class="md" nowrap valign="top">int arDetectMarkerLite           </td>
589
          <td class="md" valign="top">(&nbsp;</td>
590
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
591
          <td class="mdname" nowrap> <em>dataPtr</em>, </td>
592
        </tr>
593
        <tr>
594
          <td class="md" nowrap align="right"></td>
595
          <td class="md"></td>
596
          <td class="md" nowrap>int&nbsp;</td>
597
          <td class="mdname" nowrap> <em>thresh</em>, </td>
598
        </tr>
599
        <tr>
600
          <td class="md" nowrap align="right"></td>
601
          <td class="md"></td>
602
          <td class="md" nowrap><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> **&nbsp;</td>
603
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
604
        </tr>
605
        <tr>
606
          <td class="md" nowrap align="right"></td>
607
          <td class="md"></td>
608
          <td class="md" nowrap>int *&nbsp;</td>
609
          <td class="mdname" nowrap> <em>marker_num</em></td>
610
        </tr>
611
        <tr>
612
          <td class="md"></td>
613
          <td class="md">)&nbsp;</td>
614
          <td class="md" colspan="2"></td>
615
        </tr>
616
      </table>
617
    </td>
618
  </tr>
619
</table>
620
<table cellspacing="5" cellpadding="0" border="0">
621
  <tr>
622
    <td>
623
      &nbsp;
624
    </td>
625
    <td>
626
 
627
<p>
628
main function to detect rapidly the square markers in the video input frame.
629
<p>
630
this function is a simpler version of arDetectMarker that does not have the same error correction functions and so runs a little faster, but is more error prone<p>
631
<dl compact><dt><b>Parameters:</b></dt><dd>
632
  <table border="0" cellspacing="2" cellpadding="0">
633
    <tr><td valign="top"></td><td valign="top"><em>dataPtr</em>&nbsp;</td><td>a pointer to the color image which is to be searched for square markers. The pixel format depend of your architecture. Generally ABGR, but the images are treated as a gray scale, so the order of BGR components does not matter. However the ordering of the alpha component, A, is important. </td></tr>
634
    <tr><td valign="top"></td><td valign="top"><em>thresh</em>&nbsp;</td><td>specifies the threshold value (between 0-255) to be used to convert the input image into a binary image. </td></tr>
635
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>a pointer to an array of <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> structures returned which contain all the information about the detected squares in the image </td></tr>
636
    <tr><td valign="top"></td><td valign="top"><em>marker_num</em>&nbsp;</td><td>the number of detected markers in the image. </td></tr>
637
  </table>
638
</dl>
639
<dl compact><dt><b>Returns:</b></dt><dd>0 when the function completes normally, -1 otherwise </dd></dl>
640
    </td>
641
  </tr>
642
</table>
643
<a class="anchor" name="e521cbe3ab4de2f3609c27642c49ec02"></a><!-- doxytag: member="ar.h::arFreePatt" ref="e521cbe3ab4de2f3609c27642c49ec02" args="(int patt_no)" --><p>
644
<table class="mdTable" cellpadding="2" cellspacing="0">
645
  <tr>
646
    <td class="mdRow">
647
      <table cellpadding="0" cellspacing="0" border="0">
648
        <tr>
649
          <td class="md" nowrap valign="top">int arFreePatt           </td>
650
          <td class="md" valign="top">(&nbsp;</td>
651
          <td class="md" nowrap valign="top">int&nbsp;</td>
652
          <td class="mdname1" valign="top" nowrap> <em>patt_no</em>          </td>
653
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
654
          <td class="md" nowrap></td>
655
        </tr>
656
      </table>
657
    </td>
658
  </tr>
659
</table>
660
<table cellspacing="5" cellpadding="0" border="0">
661
  <tr>
662
    <td>
663
      &nbsp;
664
    </td>
665
    <td>
666
 
667
<p>
668
remove a pattern from memory.
669
<p>
670
desactivate a pattern and remove from memory. post-condition of this function is unavailability of the pattern. <dl compact><dt><b>Parameters:</b></dt><dd>
671
  <table border="0" cellspacing="2" cellpadding="0">
672
    <tr><td valign="top"></td><td valign="top"><em>patt_no</em>&nbsp;</td><td>number of pattern to free </td></tr>
673
  </table>
674
</dl>
675
<dl compact><dt><b>Returns:</b></dt><dd>return 1 in success, -1 if error </dd></dl>
676
    </td>
677
  </tr>
678
</table>
679
<a class="anchor" name="a91c0942b8061abae28060cfd548ed2a"></a><!-- doxytag: member="ar.h::arGetAngle" ref="a91c0942b8061abae28060cfd548ed2a" args="(double rot[3][3], double *wa, double *wb, double *wc)" --><p>
680
<table class="mdTable" cellpadding="2" cellspacing="0">
681
  <tr>
682
    <td class="mdRow">
683
      <table cellpadding="0" cellspacing="0" border="0">
684
        <tr>
685
          <td class="md" nowrap valign="top">int arGetAngle           </td>
686
          <td class="md" valign="top">(&nbsp;</td>
687
          <td class="md" nowrap valign="top">double&nbsp;</td>
688
          <td class="mdname" nowrap> <em>rot</em>[3][3], </td>
689
        </tr>
690
        <tr>
691
          <td class="md" nowrap align="right"></td>
692
          <td class="md"></td>
693
          <td class="md" nowrap>double *&nbsp;</td>
694
          <td class="mdname" nowrap> <em>wa</em>, </td>
695
        </tr>
696
        <tr>
697
          <td class="md" nowrap align="right"></td>
698
          <td class="md"></td>
699
          <td class="md" nowrap>double *&nbsp;</td>
700
          <td class="mdname" nowrap> <em>wb</em>, </td>
701
        </tr>
702
        <tr>
703
          <td class="md" nowrap align="right"></td>
704
          <td class="md"></td>
705
          <td class="md" nowrap>double *&nbsp;</td>
706
          <td class="mdname" nowrap> <em>wc</em></td>
707
        </tr>
708
        <tr>
709
          <td class="md"></td>
710
          <td class="md">)&nbsp;</td>
711
          <td class="md" colspan="2"></td>
712
        </tr>
713
      </table>
714
    </td>
715
  </tr>
716
</table>
717
<table cellspacing="5" cellpadding="0" border="0">
718
  <tr>
719
    <td>
720
      &nbsp;
721
    </td>
722
    <td>
723
 
724
<p>
725
extract euler angle from a rotation matrix.
726
<p>
727
Based on a matrix rotation representation, furnish the cprresponding euler angles. <dl compact><dt><b>Parameters:</b></dt><dd>
728
  <table border="0" cellspacing="2" cellpadding="0">
729
    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>the initial rotation matrix </td></tr>
730
    <tr><td valign="top"></td><td valign="top"><em>wa</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
731
    <tr><td valign="top"></td><td valign="top"><em>wb</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
732
    <tr><td valign="top"></td><td valign="top"><em>wc</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
733
  </table>
734
</dl>
735
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
736
    </td>
737
  </tr>
738
</table>
739
<a class="anchor" name="90b6568d18fcceb2fd95fe538cf15a49"></a><!-- doxytag: member="ar.h::arGetCode" ref="90b6568d18fcceb2fd95fe538cf15a49" args="(ARUint8 *image, int *x_coord, int *y_coord, int *vertex, int *code, int *dir, double *cf)" --><p>
740
<table class="mdTable" cellpadding="2" cellspacing="0">
741
  <tr>
742
    <td class="mdRow">
743
      <table cellpadding="0" cellspacing="0" border="0">
744
        <tr>
745
          <td class="md" nowrap valign="top">int arGetCode           </td>
746
          <td class="md" valign="top">(&nbsp;</td>
747
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
748
          <td class="mdname" nowrap> <em>image</em>, </td>
749
        </tr>
750
        <tr>
751
          <td class="md" nowrap align="right"></td>
752
          <td class="md"></td>
753
          <td class="md" nowrap>int *&nbsp;</td>
754
          <td class="mdname" nowrap> <em>x_coord</em>, </td>
755
        </tr>
756
        <tr>
757
          <td class="md" nowrap align="right"></td>
758
          <td class="md"></td>
759
          <td class="md" nowrap>int *&nbsp;</td>
760
          <td class="mdname" nowrap> <em>y_coord</em>, </td>
761
        </tr>
762
        <tr>
763
          <td class="md" nowrap align="right"></td>
764
          <td class="md"></td>
765
          <td class="md" nowrap>int *&nbsp;</td>
766
          <td class="mdname" nowrap> <em>vertex</em>, </td>
767
        </tr>
768
        <tr>
769
          <td class="md" nowrap align="right"></td>
770
          <td class="md"></td>
771
          <td class="md" nowrap>int *&nbsp;</td>
772
          <td class="mdname" nowrap> <em>code</em>, </td>
773
        </tr>
774
        <tr>
775
          <td class="md" nowrap align="right"></td>
776
          <td class="md"></td>
777
          <td class="md" nowrap>int *&nbsp;</td>
778
          <td class="mdname" nowrap> <em>dir</em>, </td>
779
        </tr>
780
        <tr>
781
          <td class="md" nowrap align="right"></td>
782
          <td class="md"></td>
783
          <td class="md" nowrap>double *&nbsp;</td>
784
          <td class="mdname" nowrap> <em>cf</em></td>
785
        </tr>
786
        <tr>
787
          <td class="md"></td>
788
          <td class="md">)&nbsp;</td>
789
          <td class="md" colspan="2"></td>
790
        </tr>
791
      </table>
792
    </td>
793
  </tr>
794
</table>
795
<table cellspacing="5" cellpadding="0" border="0">
796
  <tr>
797
    <td>
798
      &nbsp;
799
    </td>
800
    <td>
801
 
802
<p>
803
XXXBK.
804
<p>
805
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
806
  <table border="0" cellspacing="2" cellpadding="0">
807
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>XXXBK </td></tr>
808
    <tr><td valign="top"></td><td valign="top"><em>x_coord</em>&nbsp;</td><td>XXXBK </td></tr>
809
    <tr><td valign="top"></td><td valign="top"><em>y_coord</em>&nbsp;</td><td>XXXBK </td></tr>
810
    <tr><td valign="top"></td><td valign="top"><em>vertex</em>&nbsp;</td><td>XXXBK </td></tr>
811
    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</td><td>XXXBK </td></tr>
812
    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>XXXBK </td></tr>
813
    <tr><td valign="top"></td><td valign="top"><em>cf</em>&nbsp;</td><td>XXXBK </td></tr>
814
  </table>
815
</dl>
816
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
817
    </td>
818
  </tr>
819
</table>
820
<a class="anchor" name="16c787be64ef32697d51379624930cad"></a><!-- doxytag: member="ar.h::arGetContour" ref="16c787be64ef32697d51379624930cad" args="(ARInt16 *limage, int *label_ref, int label, int clip[4], ARMarkerInfo2 *marker_info2)" --><p>
821
<table class="mdTable" cellpadding="2" cellspacing="0">
822
  <tr>
823
    <td class="mdRow">
824
      <table cellpadding="0" cellspacing="0" border="0">
825
        <tr>
826
          <td class="md" nowrap valign="top">int arGetContour           </td>
827
          <td class="md" valign="top">(&nbsp;</td>
828
          <td class="md" nowrap valign="top">ARInt16 *&nbsp;</td>
829
          <td class="mdname" nowrap> <em>limage</em>, </td>
830
        </tr>
831
        <tr>
832
          <td class="md" nowrap align="right"></td>
833
          <td class="md"></td>
834
          <td class="md" nowrap>int *&nbsp;</td>
835
          <td class="mdname" nowrap> <em>label_ref</em>, </td>
836
        </tr>
837
        <tr>
838
          <td class="md" nowrap align="right"></td>
839
          <td class="md"></td>
840
          <td class="md" nowrap>int&nbsp;</td>
841
          <td class="mdname" nowrap> <em>label</em>, </td>
842
        </tr>
843
        <tr>
844
          <td class="md" nowrap align="right"></td>
845
          <td class="md"></td>
846
          <td class="md" nowrap>int&nbsp;</td>
847
          <td class="mdname" nowrap> <em>clip</em>[4], </td>
848
        </tr>
849
        <tr>
850
          <td class="md" nowrap align="right"></td>
851
          <td class="md"></td>
852
          <td class="md" nowrap><a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *&nbsp;</td>
853
          <td class="mdname" nowrap> <em>marker_info2</em></td>
854
        </tr>
855
        <tr>
856
          <td class="md"></td>
857
          <td class="md">)&nbsp;</td>
858
          <td class="md" colspan="2"></td>
859
        </tr>
860
      </table>
861
    </td>
862
  </tr>
863
</table>
864
<table cellspacing="5" cellpadding="0" border="0">
865
  <tr>
866
    <td>
867
      &nbsp;
868
    </td>
869
    <td>
870
 
871
<p>
872
XXXBK.
873
<p>
874
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
875
  <table border="0" cellspacing="2" cellpadding="0">
876
    <tr><td valign="top"></td><td valign="top"><em>limage</em>&nbsp;</td><td>XXXBK </td></tr>
877
    <tr><td valign="top"></td><td valign="top"><em>label_ref</em>&nbsp;</td><td>XXXBK </td></tr>
878
    <tr><td valign="top"></td><td valign="top"><em>label</em>&nbsp;</td><td>XXXBK </td></tr>
879
    <tr><td valign="top"></td><td valign="top"><em>clip</em>&nbsp;</td><td>XXXBK </td></tr>
880
    <tr><td valign="top"></td><td valign="top"><em>marker_info2</em>&nbsp;</td><td>XXXBK </td></tr>
881
  </table>
882
</dl>
883
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
884
    </td>
885
  </tr>
886
</table>
887
<a class="anchor" name="4909575c338b25813a1c824d46b2f4fe"></a><!-- doxytag: member="ar.h::arGetImgFeature" ref="4909575c338b25813a1c824d46b2f4fe" args="(int *num, int **area, int **clip, double **pos)" --><p>
888
<table class="mdTable" cellpadding="2" cellspacing="0">
889
  <tr>
890
    <td class="mdRow">
891
      <table cellpadding="0" cellspacing="0" border="0">
892
        <tr>
893
          <td class="md" nowrap valign="top">void arGetImgFeature           </td>
894
          <td class="md" valign="top">(&nbsp;</td>
895
          <td class="md" nowrap valign="top">int *&nbsp;</td>
896
          <td class="mdname" nowrap> <em>num</em>, </td>
897
        </tr>
898
        <tr>
899
          <td class="md" nowrap align="right"></td>
900
          <td class="md"></td>
901
          <td class="md" nowrap>int **&nbsp;</td>
902
          <td class="mdname" nowrap> <em>area</em>, </td>
903
        </tr>
904
        <tr>
905
          <td class="md" nowrap align="right"></td>
906
          <td class="md"></td>
907
          <td class="md" nowrap>int **&nbsp;</td>
908
          <td class="mdname" nowrap> <em>clip</em>, </td>
909
        </tr>
910
        <tr>
911
          <td class="md" nowrap align="right"></td>
912
          <td class="md"></td>
913
          <td class="md" nowrap>double **&nbsp;</td>
914
          <td class="mdname" nowrap> <em>pos</em></td>
915
        </tr>
916
        <tr>
917
          <td class="md"></td>
918
          <td class="md">)&nbsp;</td>
919
          <td class="md" colspan="2"></td>
920
        </tr>
921
      </table>
922
    </td>
923
  </tr>
924
</table>
925
<table cellspacing="5" cellpadding="0" border="0">
926
  <tr>
927
    <td>
928
      &nbsp;
929
    </td>
930
    <td>
931
 
932
<p>
933
XXXBK.
934
<p>
935
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
936
  <table border="0" cellspacing="2" cellpadding="0">
937
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>XXXBK </td></tr>
938
    <tr><td valign="top"></td><td valign="top"><em>area</em>&nbsp;</td><td>XXXBK </td></tr>
939
    <tr><td valign="top"></td><td valign="top"><em>clip</em>&nbsp;</td><td>XXXBK </td></tr>
940
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>XXXBK </td></tr>
941
  </table>
942
</dl>
943
    </td>
944
  </tr>
945
</table>
946
<a class="anchor" name="0622f4ef5f8243421bc30e4b4e708f91"></a><!-- doxytag: member="ar.h::arGetInitRot" ref="0622f4ef5f8243421bc30e4b4e708f91" args="(ARMarkerInfo *marker_info, double cpara[3][4], double rot[3][3])" --><p>
947
<table class="mdTable" cellpadding="2" cellspacing="0">
948
  <tr>
949
    <td class="mdRow">
950
      <table cellpadding="0" cellspacing="0" border="0">
951
        <tr>
952
          <td class="md" nowrap valign="top">int arGetInitRot           </td>
953
          <td class="md" valign="top">(&nbsp;</td>
954
          <td class="md" nowrap valign="top"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td>
955
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
956
        </tr>
957
        <tr>
958
          <td class="md" nowrap align="right"></td>
959
          <td class="md"></td>
960
          <td class="md" nowrap>double&nbsp;</td>
961
          <td class="mdname" nowrap> <em>cpara</em>[3][4], </td>
962
        </tr>
963
        <tr>
964
          <td class="md" nowrap align="right"></td>
965
          <td class="md"></td>
966
          <td class="md" nowrap>double&nbsp;</td>
967
          <td class="mdname" nowrap> <em>rot</em>[3][3]</td>
968
        </tr>
969
        <tr>
970
          <td class="md"></td>
971
          <td class="md">)&nbsp;</td>
972
          <td class="md" colspan="2"></td>
973
        </tr>
974
      </table>
975
    </td>
976
  </tr>
977
</table>
978
<table cellspacing="5" cellpadding="0" border="0">
979
  <tr>
980
    <td>
981
      &nbsp;
982
    </td>
983
    <td>
984
 
985
<p>
986
XXXBK.
987
<p>
988
XXXBK:initial of what ? <dl compact><dt><b>Parameters:</b></dt><dd>
989
  <table border="0" cellspacing="2" cellpadding="0">
990
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>XXXBK </td></tr>
991
    <tr><td valign="top"></td><td valign="top"><em>cpara</em>&nbsp;</td><td>XXXBK </td></tr>
992
    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>XXXBK </td></tr>
993
  </table>
994
</dl>
995
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
996
    </td>
997
  </tr>
998
</table>
999
<a class="anchor" name="870cde1dfb861bfdbb12f2a71baa2a4e"></a><!-- doxytag: member="ar.h::arGetLine" ref="870cde1dfb861bfdbb12f2a71baa2a4e" args="(int x_coord[], int y_coord[], int coord_num, int vertex[], double line[4][3], double v[4][2])" --><p>
1000
<table class="mdTable" cellpadding="2" cellspacing="0">
1001
  <tr>
1002
    <td class="mdRow">
1003
      <table cellpadding="0" cellspacing="0" border="0">
1004
        <tr>
1005
          <td class="md" nowrap valign="top">int arGetLine           </td>
1006
          <td class="md" valign="top">(&nbsp;</td>
1007
          <td class="md" nowrap valign="top">int&nbsp;</td>
1008
          <td class="mdname" nowrap> <em>x_coord</em>[], </td>
1009
        </tr>
1010
        <tr>
1011
          <td class="md" nowrap align="right"></td>
1012
          <td class="md"></td>
1013
          <td class="md" nowrap>int&nbsp;</td>
1014
          <td class="mdname" nowrap> <em>y_coord</em>[], </td>
1015
        </tr>
1016
        <tr>
1017
          <td class="md" nowrap align="right"></td>
1018
          <td class="md"></td>
1019
          <td class="md" nowrap>int&nbsp;</td>
1020
          <td class="mdname" nowrap> <em>coord_num</em>, </td>
1021
        </tr>
1022
        <tr>
1023
          <td class="md" nowrap align="right"></td>
1024
          <td class="md"></td>
1025
          <td class="md" nowrap>int&nbsp;</td>
1026
          <td class="mdname" nowrap> <em>vertex</em>[], </td>
1027
        </tr>
1028
        <tr>
1029
          <td class="md" nowrap align="right"></td>
1030
          <td class="md"></td>
1031
          <td class="md" nowrap>double&nbsp;</td>
1032
          <td class="mdname" nowrap> <em>line</em>[4][3], </td>
1033
        </tr>
1034
        <tr>
1035
          <td class="md" nowrap align="right"></td>
1036
          <td class="md"></td>
1037
          <td class="md" nowrap>double&nbsp;</td>
1038
          <td class="mdname" nowrap> <em>v</em>[4][2]</td>
1039
        </tr>
1040
        <tr>
1041
          <td class="md"></td>
1042
          <td class="md">)&nbsp;</td>
1043
          <td class="md" colspan="2"></td>
1044
        </tr>
1045
      </table>
1046
    </td>
1047
  </tr>
1048
</table>
1049
<table cellspacing="5" cellpadding="0" border="0">
1050
  <tr>
1051
    <td>
1052
      &nbsp;
1053
    </td>
1054
    <td>
1055
 
1056
<p>
1057
estimate a line from a list of point.
1058
<p>
1059
Compute a linear regression from a list of point. <dl compact><dt><b>Parameters:</b></dt><dd>
1060
  <table border="0" cellspacing="2" cellpadding="0">
1061
    <tr><td valign="top"></td><td valign="top"><em>x_coord</em>&nbsp;</td><td>X coordinate of points </td></tr>
1062
    <tr><td valign="top"></td><td valign="top"><em>y_coord</em>&nbsp;</td><td>Y coordinate of points </td></tr>
1063
    <tr><td valign="top"></td><td valign="top"><em>coord_num</em>&nbsp;</td><td>number of points </td></tr>
1064
    <tr><td valign="top"></td><td valign="top"><em>vertex</em>&nbsp;</td><td>XXXBK </td></tr>
1065
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>XXXBK </td></tr>
1066
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>XXXBK </td></tr>
1067
  </table>
1068
</dl>
1069
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1070
    </td>
1071
  </tr>
1072
</table>
1073
<a class="anchor" name="dbf9c7446fbe6fd777f3a0464e071e05"></a><!-- doxytag: member="ar.h::arGetMarkerInfo" ref="dbf9c7446fbe6fd777f3a0464e071e05" args="(ARUint8 *image, ARMarkerInfo2 *marker_info2, int *marker_num)" --><p>
1074
<table class="mdTable" cellpadding="2" cellspacing="0">
1075
  <tr>
1076
    <td class="mdRow">
1077
      <table cellpadding="0" cellspacing="0" border="0">
1078
        <tr>
1079
          <td class="md" nowrap valign="top"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a>* arGetMarkerInfo           </td>
1080
          <td class="md" valign="top">(&nbsp;</td>
1081
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
1082
          <td class="mdname" nowrap> <em>image</em>, </td>
1083
        </tr>
1084
        <tr>
1085
          <td class="md" nowrap align="right"></td>
1086
          <td class="md"></td>
1087
          <td class="md" nowrap><a class="el" href="structARMarkerInfo2.html">ARMarkerInfo2</a> *&nbsp;</td>
1088
          <td class="mdname" nowrap> <em>marker_info2</em>, </td>
1089
        </tr>
1090
        <tr>
1091
          <td class="md" nowrap align="right"></td>
1092
          <td class="md"></td>
1093
          <td class="md" nowrap>int *&nbsp;</td>
1094
          <td class="mdname" nowrap> <em>marker_num</em></td>
1095
        </tr>
1096
        <tr>
1097
          <td class="md"></td>
1098
          <td class="md">)&nbsp;</td>
1099
          <td class="md" colspan="2"></td>
1100
        </tr>
1101
      </table>
1102
    </td>
1103
  </tr>
1104
</table>
1105
<table cellspacing="5" cellpadding="0" border="0">
1106
  <tr>
1107
    <td>
1108
      &nbsp;
1109
    </td>
1110
    <td>
1111
 
1112
<p>
1113
information on
1114
<p>
1115
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
1116
  <table border="0" cellspacing="2" cellpadding="0">
1117
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>XXXBK </td></tr>
1118
    <tr><td valign="top"></td><td valign="top"><em>marker_info2</em>&nbsp;</td><td>XXXBK </td></tr>
1119
    <tr><td valign="top"></td><td valign="top"><em>marker_num</em>&nbsp;</td><td>XXXBK </td></tr>
1120
  </table>
1121
</dl>
1122
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1123
    </td>
1124
  </tr>
1125
</table>
1126
<a class="anchor" name="d9dd73e92ed946bec4196becff260063"></a><!-- doxytag: member="ar.h::arGetNewMatrix" ref="d9dd73e92ed946bec4196becff260063" args="(double a, double b, double c, double trans[3], double trans2[3][4], double cpara[3][4], double ret[3][4])" --><p>
1127
<table class="mdTable" cellpadding="2" cellspacing="0">
1128
  <tr>
1129
    <td class="mdRow">
1130
      <table cellpadding="0" cellspacing="0" border="0">
1131
        <tr>
1132
          <td class="md" nowrap valign="top">int arGetNewMatrix           </td>
1133
          <td class="md" valign="top">(&nbsp;</td>
1134
          <td class="md" nowrap valign="top">double&nbsp;</td>
1135
          <td class="mdname" nowrap> <em>a</em>, </td>
1136
        </tr>
1137
        <tr>
1138
          <td class="md" nowrap align="right"></td>
1139
          <td class="md"></td>
1140
          <td class="md" nowrap>double&nbsp;</td>
1141
          <td class="mdname" nowrap> <em>b</em>, </td>
1142
        </tr>
1143
        <tr>
1144
          <td class="md" nowrap align="right"></td>
1145
          <td class="md"></td>
1146
          <td class="md" nowrap>double&nbsp;</td>
1147
          <td class="mdname" nowrap> <em>c</em>, </td>
1148
        </tr>
1149
        <tr>
1150
          <td class="md" nowrap align="right"></td>
1151
          <td class="md"></td>
1152
          <td class="md" nowrap>double&nbsp;</td>
1153
          <td class="mdname" nowrap> <em>trans</em>[3], </td>
1154
        </tr>
1155
        <tr>
1156
          <td class="md" nowrap align="right"></td>
1157
          <td class="md"></td>
1158
          <td class="md" nowrap>double&nbsp;</td>
1159
          <td class="mdname" nowrap> <em>trans2</em>[3][4], </td>
1160
        </tr>
1161
        <tr>
1162
          <td class="md" nowrap align="right"></td>
1163
          <td class="md"></td>
1164
          <td class="md" nowrap>double&nbsp;</td>
1165
          <td class="mdname" nowrap> <em>cpara</em>[3][4], </td>
1166
        </tr>
1167
        <tr>
1168
          <td class="md" nowrap align="right"></td>
1169
          <td class="md"></td>
1170
          <td class="md" nowrap>double&nbsp;</td>
1171
          <td class="mdname" nowrap> <em>ret</em>[3][4]</td>
1172
        </tr>
1173
        <tr>
1174
          <td class="md"></td>
1175
          <td class="md">)&nbsp;</td>
1176
          <td class="md" colspan="2"></td>
1177
        </tr>
1178
      </table>
1179
    </td>
1180
  </tr>
1181
</table>
1182
<table cellspacing="5" cellpadding="0" border="0">
1183
  <tr>
1184
    <td>
1185
      &nbsp;
1186
    </td>
1187
    <td>
1188
 
1189
<p>
1190
XXXBK.
1191
<p>
1192
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
1193
  <table border="0" cellspacing="2" cellpadding="0">
1194
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>XXXBK </td></tr>
1195
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>XXXBK </td></tr>
1196
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>XXXBK </td></tr>
1197
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>XXXBK </td></tr>
1198
    <tr><td valign="top"></td><td valign="top"><em>trans2</em>&nbsp;</td><td>XXXBK </td></tr>
1199
    <tr><td valign="top"></td><td valign="top"><em>cpara</em>&nbsp;</td><td>XXXBK </td></tr>
1200
    <tr><td valign="top"></td><td valign="top"><em>ret</em>&nbsp;</td><td>XXXBK </td></tr>
1201
  </table>
1202
</dl>
1203
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1204
    </td>
1205
  </tr>
1206
</table>
1207
<a class="anchor" name="5f9a199367ae02c106c1845f8706727e"></a><!-- doxytag: member="ar.h::arGetPatt" ref="5f9a199367ae02c106c1845f8706727e" args="(ARUint8 *image, int *x_coord, int *y_coord, int *vertex, ARUint8 ext_pat[AR_PATT_SIZE_Y][AR_PATT_SIZE_X][3])" --><p>
1208
<table class="mdTable" cellpadding="2" cellspacing="0">
1209
  <tr>
1210
    <td class="mdRow">
1211
      <table cellpadding="0" cellspacing="0" border="0">
1212
        <tr>
1213
          <td class="md" nowrap valign="top">int arGetPatt           </td>
1214
          <td class="md" valign="top">(&nbsp;</td>
1215
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
1216
          <td class="mdname" nowrap> <em>image</em>, </td>
1217
        </tr>
1218
        <tr>
1219
          <td class="md" nowrap align="right"></td>
1220
          <td class="md"></td>
1221
          <td class="md" nowrap>int *&nbsp;</td>
1222
          <td class="mdname" nowrap> <em>x_coord</em>, </td>
1223
        </tr>
1224
        <tr>
1225
          <td class="md" nowrap align="right"></td>
1226
          <td class="md"></td>
1227
          <td class="md" nowrap>int *&nbsp;</td>
1228
          <td class="mdname" nowrap> <em>y_coord</em>, </td>
1229
        </tr>
1230
        <tr>
1231
          <td class="md" nowrap align="right"></td>
1232
          <td class="md"></td>
1233
          <td class="md" nowrap>int *&nbsp;</td>
1234
          <td class="mdname" nowrap> <em>vertex</em>, </td>
1235
        </tr>
1236
        <tr>
1237
          <td class="md" nowrap align="right"></td>
1238
          <td class="md"></td>
1239
          <td class="md" nowrap>ARUint8&nbsp;</td>
1240
          <td class="mdname" nowrap> <em>ext_pat</em>[AR_PATT_SIZE_Y][AR_PATT_SIZE_X][3]</td>
1241
        </tr>
1242
        <tr>
1243
          <td class="md"></td>
1244
          <td class="md">)&nbsp;</td>
1245
          <td class="md" colspan="2"></td>
1246
        </tr>
1247
      </table>
1248
    </td>
1249
  </tr>
1250
</table>
1251
<table cellspacing="5" cellpadding="0" border="0">
1252
  <tr>
1253
    <td>
1254
      &nbsp;
1255
    </td>
1256
    <td>
1257
 
1258
<p>
1259
Get a normalized pattern from a video image.
1260
<p>
1261
This function returns a normalized pattern from a video image. The format is a table with AR_PATT_SIZE_X by AR_PATT_SIZE_Y <dl compact><dt><b>Parameters:</b></dt><dd>
1262
  <table border="0" cellspacing="2" cellpadding="0">
1263
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>video input image </td></tr>
1264
    <tr><td valign="top"></td><td valign="top"><em>x_coord</em>&nbsp;</td><td>XXXBK </td></tr>
1265
    <tr><td valign="top"></td><td valign="top"><em>y_coord</em>&nbsp;</td><td>XXXBK </td></tr>
1266
    <tr><td valign="top"></td><td valign="top"><em>vertex</em>&nbsp;</td><td>XXXBK </td></tr>
1267
    <tr><td valign="top"></td><td valign="top"><em>ext_pat</em>&nbsp;</td><td>detected pattern. </td></tr>
1268
  </table>
1269
</dl>
1270
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1271
    </td>
1272
  </tr>
1273
</table>
1274
<a class="anchor" name="37f711816374205f2479501fd7ed9dc8"></a><!-- doxytag: member="ar.h::arGetRot" ref="37f711816374205f2479501fd7ed9dc8" args="(double a, double b, double c, double rot[3][3])" --><p>
1275
<table class="mdTable" cellpadding="2" cellspacing="0">
1276
  <tr>
1277
    <td class="mdRow">
1278
      <table cellpadding="0" cellspacing="0" border="0">
1279
        <tr>
1280
          <td class="md" nowrap valign="top">int arGetRot           </td>
1281
          <td class="md" valign="top">(&nbsp;</td>
1282
          <td class="md" nowrap valign="top">double&nbsp;</td>
1283
          <td class="mdname" nowrap> <em>a</em>, </td>
1284
        </tr>
1285
        <tr>
1286
          <td class="md" nowrap align="right"></td>
1287
          <td class="md"></td>
1288
          <td class="md" nowrap>double&nbsp;</td>
1289
          <td class="mdname" nowrap> <em>b</em>, </td>
1290
        </tr>
1291
        <tr>
1292
          <td class="md" nowrap align="right"></td>
1293
          <td class="md"></td>
1294
          <td class="md" nowrap>double&nbsp;</td>
1295
          <td class="mdname" nowrap> <em>c</em>, </td>
1296
        </tr>
1297
        <tr>
1298
          <td class="md" nowrap align="right"></td>
1299
          <td class="md"></td>
1300
          <td class="md" nowrap>double&nbsp;</td>
1301
          <td class="mdname" nowrap> <em>rot</em>[3][3]</td>
1302
        </tr>
1303
        <tr>
1304
          <td class="md"></td>
1305
          <td class="md">)&nbsp;</td>
1306
          <td class="md" colspan="2"></td>
1307
        </tr>
1308
      </table>
1309
    </td>
1310
  </tr>
1311
</table>
1312
<table cellspacing="5" cellpadding="0" border="0">
1313
  <tr>
1314
    <td>
1315
      &nbsp;
1316
    </td>
1317
    <td>
1318
 
1319
<p>
1320
create a rotation matrix with euler angle.
1321
<p>
1322
Based on a euler description, furnish a rotation matrix. <dl compact><dt><b>Parameters:</b></dt><dd>
1323
  <table border="0" cellspacing="2" cellpadding="0">
1324
    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
1325
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
1326
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>XXXBK:which element ? </td></tr>
1327
    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>the resulted rotation matrix </td></tr>
1328
  </table>
1329
</dl>
1330
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1331
    </td>
1332
  </tr>
1333
</table>
1334
<a class="anchor" name="01eddf593ac98e4547e7131263e0d8c6"></a><!-- doxytag: member="ar.h::arGetTransMat" ref="01eddf593ac98e4547e7131263e0d8c6" args="(ARMarkerInfo *marker_info, double center[2], double width, double conv[3][4])" --><p>
1335
<table class="mdTable" cellpadding="2" cellspacing="0">
1336
  <tr>
1337
    <td class="mdRow">
1338
      <table cellpadding="0" cellspacing="0" border="0">
1339
        <tr>
1340
          <td class="md" nowrap valign="top">double arGetTransMat           </td>
1341
          <td class="md" valign="top">(&nbsp;</td>
1342
          <td class="md" nowrap valign="top"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td>
1343
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
1344
        </tr>
1345
        <tr>
1346
          <td class="md" nowrap align="right"></td>
1347
          <td class="md"></td>
1348
          <td class="md" nowrap>double&nbsp;</td>
1349
          <td class="mdname" nowrap> <em>center</em>[2], </td>
1350
        </tr>
1351
        <tr>
1352
          <td class="md" nowrap align="right"></td>
1353
          <td class="md"></td>
1354
          <td class="md" nowrap>double&nbsp;</td>
1355
          <td class="mdname" nowrap> <em>width</em>, </td>
1356
        </tr>
1357
        <tr>
1358
          <td class="md" nowrap align="right"></td>
1359
          <td class="md"></td>
1360
          <td class="md" nowrap>double&nbsp;</td>
1361
          <td class="mdname" nowrap> <em>conv</em>[3][4]</td>
1362
        </tr>
1363
        <tr>
1364
          <td class="md"></td>
1365
          <td class="md">)&nbsp;</td>
1366
          <td class="md" colspan="2"></td>
1367
        </tr>
1368
      </table>
1369
    </td>
1370
  </tr>
1371
</table>
1372
<table cellspacing="5" cellpadding="0" border="0">
1373
  <tr>
1374
    <td>
1375
      &nbsp;
1376
    </td>
1377
    <td>
1378
 
1379
<p>
1380
compute camera position in function of detected markers.
1381
<p>
1382
calculate the transformation between a detected marker and the real camera, i.e. the position and orientation of the camera relative to the tracking mark. <dl compact><dt><b>Parameters:</b></dt><dd>
1383
  <table border="0" cellspacing="2" cellpadding="0">
1384
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>the structure containing the parameters for the marker for which the camera position and orientation is to be found relative to. This structure is found using arDetectMarker. </td></tr>
1385
    <tr><td valign="top"></td><td valign="top"><em>center</em>&nbsp;</td><td>the physical center of the marker. arGetTransMat assumes that the marker is in x-y plane, and z axis is pointing downwards from marker plane. So vertex positions can be represented in 2D coordinates by ignoring the z axis information. The marker vertices are specified in order of clockwise. </td></tr>
1386
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>the size of the marker (in mm). </td></tr>
1387
    <tr><td valign="top"></td><td valign="top"><em>conv</em>&nbsp;</td><td>the transformation matrix from the marker coordinates to camera coordinate frame, that is the relative position of real camera to the real marker </td></tr>
1388
  </table>
1389
</dl>
1390
<dl compact><dt><b>Returns:</b></dt><dd>always 0. </dd></dl>
1391
    </td>
1392
  </tr>
1393
</table>
1394
<a class="anchor" name="701276e28f11b53f13877b0316b5f6ec"></a><!-- doxytag: member="ar.h::arGetTransMatCont" ref="701276e28f11b53f13877b0316b5f6ec" args="(ARMarkerInfo *marker_info, double prev_conv[3][4], double center[2], double width, double conv[3][4])" --><p>
1395
<table class="mdTable" cellpadding="2" cellspacing="0">
1396
  <tr>
1397
    <td class="mdRow">
1398
      <table cellpadding="0" cellspacing="0" border="0">
1399
        <tr>
1400
          <td class="md" nowrap valign="top">double arGetTransMatCont           </td>
1401
          <td class="md" valign="top">(&nbsp;</td>
1402
          <td class="md" nowrap valign="top"><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td>
1403
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
1404
        </tr>
1405
        <tr>
1406
          <td class="md" nowrap align="right"></td>
1407
          <td class="md"></td>
1408
          <td class="md" nowrap>double&nbsp;</td>
1409
          <td class="mdname" nowrap> <em>prev_conv</em>[3][4], </td>
1410
        </tr>
1411
        <tr>
1412
          <td class="md" nowrap align="right"></td>
1413
          <td class="md"></td>
1414
          <td class="md" nowrap>double&nbsp;</td>
1415
          <td class="mdname" nowrap> <em>center</em>[2], </td>
1416
        </tr>
1417
        <tr>
1418
          <td class="md" nowrap align="right"></td>
1419
          <td class="md"></td>
1420
          <td class="md" nowrap>double&nbsp;</td>
1421
          <td class="mdname" nowrap> <em>width</em>, </td>
1422
        </tr>
1423
        <tr>
1424
          <td class="md" nowrap align="right"></td>
1425
          <td class="md"></td>
1426
          <td class="md" nowrap>double&nbsp;</td>
1427
          <td class="mdname" nowrap> <em>conv</em>[3][4]</td>
1428
        </tr>
1429
        <tr>
1430
          <td class="md"></td>
1431
          <td class="md">)&nbsp;</td>
1432
          <td class="md" colspan="2"></td>
1433
        </tr>
1434
      </table>
1435
    </td>
1436
  </tr>
1437
</table>
1438
<table cellspacing="5" cellpadding="0" border="0">
1439
  <tr>
1440
    <td>
1441
      &nbsp;
1442
    </td>
1443
    <td>
1444
 
1445
<p>
1446
compute camera position in function of detected marker with an history function.
1447
<p>
1448
calculate the transformation between a detected marker and the real camera, i.e. the position and orientation of the camera relative to the tracking mark. Since this routine operate on previous values, the result are more stable (less jittering).<p>
1449
<dl compact><dt><b>Parameters:</b></dt><dd>
1450
  <table border="0" cellspacing="2" cellpadding="0">
1451
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>the structure containing the parameters for the marker for which the camera position and orientation is to be found relative to. This structure is found using arDetectMarker. </td></tr>
1452
    <tr><td valign="top"></td><td valign="top"><em>prev_conv</em>&nbsp;</td><td>the previous transformation matrix obtain. </td></tr>
1453
    <tr><td valign="top"></td><td valign="top"><em>center</em>&nbsp;</td><td>the physical center of the marker. arGetTransMat assumes that the marker is in x-y plane, and z axis is pointing downwards from marker plane. So vertex positions can be represented in 2D coordinates by ignoring the z axis information. The marker vertices are specified in order of clockwise. </td></tr>
1454
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>the size of the marker (in mm). </td></tr>
1455
    <tr><td valign="top"></td><td valign="top"><em>conv</em>&nbsp;</td><td>the transformation matrix from the marker coordinates to camera coordinate frame, that is the relative position of real camera to the real marker </td></tr>
1456
  </table>
1457
</dl>
1458
<dl compact><dt><b>Returns:</b></dt><dd>always 0. </dd></dl>
1459
    </td>
1460
  </tr>
1461
</table>
1462
<a class="anchor" name="5f6a6f78cfce8c8dfc80479b47232eb4"></a><!-- doxytag: member="ar.h::arGetVersion" ref="5f6a6f78cfce8c8dfc80479b47232eb4" args="(char **versionStringRef)" --><p>
1463
<table class="mdTable" cellpadding="2" cellspacing="0">
1464
  <tr>
1465
    <td class="mdRow">
1466
      <table cellpadding="0" cellspacing="0" border="0">
1467
        <tr>
1468
          <td class="md" nowrap valign="top">ARUint32 arGetVersion           </td>
1469
          <td class="md" valign="top">(&nbsp;</td>
1470
          <td class="md" nowrap valign="top">char **&nbsp;</td>
1471
          <td class="mdname1" valign="top" nowrap> <em>versionStringRef</em>          </td>
1472
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1473
          <td class="md" nowrap></td>
1474
        </tr>
1475
      </table>
1476
    </td>
1477
  </tr>
1478
</table>
1479
<table cellspacing="5" cellpadding="0" border="0">
1480
  <tr>
1481
    <td>
1482
      &nbsp;
1483
    </td>
1484
    <td>
1485
 
1486
<p>
1487
Get the ARToolKit version information in numberic and string format.
1488
<p>
1489
As of version 2.72, ARToolKit now allows querying of the version number of the toolkit available at runtime. It is highly recommended that any calling program that depends on features in a certain ARToolKit version, check at runtime that it is linked to a version of ARToolKit that can supply those features. It is NOT sufficient to check the ARToolKit SDK header versions, since with ARToolKit implemented in dynamically-loaded libraries, there is no guarantee that the version of ARToolKit installed on the machine at run-time will as recent as the version of the ARToolKit SDK which the host program was compiled against. The version information is reported in binary-coded decimal format, and optionally in an ASCII string. See the config.h header for more discussion of the definition of major, minor, tiny and build version numbers.<p>
1490
<dl compact><dt><b>Parameters:</b></dt><dd>
1491
  <table border="0" cellspacing="2" cellpadding="0">
1492
    <tr><td valign="top"></td><td valign="top"><em>versionStringRef</em>&nbsp;</td><td>If non-NULL, the location pointed to will be filled with a pointer to a string containing the version information. Fields in the version string are separated by spaces. As of version 2.72.0, there is only one field implemented, and this field contains the major, minor and tiny version numbers in dotted-decimal format. The string is guaranteed to contain at least this field in all future versions of the toolkit. Later versions of the toolkit may add other fields to this string to report other types of version information. The storage for the string is malloc'ed inside the function. The caller is responsible for free'ing the string.</td></tr>
1493
  </table>
1494
</dl>
1495
<dl compact><dt><b>Returns:</b></dt><dd>Returns the full version number of the ARToolKit in binary coded decimal (BCD) format. BCD format allows simple tests of version number in the caller e.g. if ((arGetVersion(NULL) &gt;&gt; 16) &gt; 0x0272) printf("This release is later than 2.72\n"); The major version number is encoded in the most-significant byte (bits 31-24), the minor version number in the second-most-significant byte (bits 23-16), the tiny version number in the third-most-significant byte (bits 15-8), and the build version number in the least-significant byte (bits 7-0). </dd></dl>
1496
    </td>
1497
  </tr>
1498
</table>
1499
<a class="anchor" name="52f12a73083b810427e2a9066e69a0f2"></a><!-- doxytag: member="ar.h::arInitCparam" ref="52f12a73083b810427e2a9066e69a0f2" args="(ARParam *param)" --><p>
1500
<table class="mdTable" cellpadding="2" cellspacing="0">
1501
  <tr>
1502
    <td class="mdRow">
1503
      <table cellpadding="0" cellspacing="0" border="0">
1504
        <tr>
1505
          <td class="md" nowrap valign="top">int arInitCparam           </td>
1506
          <td class="md" valign="top">(&nbsp;</td>
1507
          <td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam</a> *&nbsp;</td>
1508
          <td class="mdname1" valign="top" nowrap> <em>param</em>          </td>
1509
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1510
          <td class="md" nowrap></td>
1511
        </tr>
1512
      </table>
1513
    </td>
1514
  </tr>
1515
</table>
1516
<table cellspacing="5" cellpadding="0" border="0">
1517
  <tr>
1518
    <td>
1519
      &nbsp;
1520
    </td>
1521
    <td>
1522
 
1523
<p>
1524
initialize camera parameters.
1525
<p>
1526
set the camera parameters specified in the camera parameters structure *param to static memory in the AR library. These camera parameters are typically read from a data file at program startup. In the video-see through AR applications, the default camera parameters are sufficient, no camera calibration is needed. <dl compact><dt><b>Parameters:</b></dt><dd>
1527
  <table border="0" cellspacing="2" cellpadding="0">
1528
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>the camera parameter structure </td></tr>
1529
  </table>
1530
</dl>
1531
<dl compact><dt><b>Returns:</b></dt><dd>always 0 </dd></dl>
1532
    </td>
1533
  </tr>
1534
</table>
1535
<a class="anchor" name="42ad9c96a619e0d62be0627634332dfe"></a><!-- doxytag: member="ar.h::arLabeling" ref="42ad9c96a619e0d62be0627634332dfe" args="(ARUint8 *image, int thresh, int *label_num, int **area, double **pos, int **clip, int **label_ref)" --><p>
1536
<table class="mdTable" cellpadding="2" cellspacing="0">
1537
  <tr>
1538
    <td class="mdRow">
1539
      <table cellpadding="0" cellspacing="0" border="0">
1540
        <tr>
1541
          <td class="md" nowrap valign="top">ARInt16* arLabeling           </td>
1542
          <td class="md" valign="top">(&nbsp;</td>
1543
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
1544
          <td class="mdname" nowrap> <em>image</em>, </td>
1545
        </tr>
1546
        <tr>
1547
          <td class="md" nowrap align="right"></td>
1548
          <td class="md"></td>
1549
          <td class="md" nowrap>int&nbsp;</td>
1550
          <td class="mdname" nowrap> <em>thresh</em>, </td>
1551
        </tr>
1552
        <tr>
1553
          <td class="md" nowrap align="right"></td>
1554
          <td class="md"></td>
1555
          <td class="md" nowrap>int *&nbsp;</td>
1556
          <td class="mdname" nowrap> <em>label_num</em>, </td>
1557
        </tr>
1558
        <tr>
1559
          <td class="md" nowrap align="right"></td>
1560
          <td class="md"></td>
1561
          <td class="md" nowrap>int **&nbsp;</td>
1562
          <td class="mdname" nowrap> <em>area</em>, </td>
1563
        </tr>
1564
        <tr>
1565
          <td class="md" nowrap align="right"></td>
1566
          <td class="md"></td>
1567
          <td class="md" nowrap>double **&nbsp;</td>
1568
          <td class="mdname" nowrap> <em>pos</em>, </td>
1569
        </tr>
1570
        <tr>
1571
          <td class="md" nowrap align="right"></td>
1572
          <td class="md"></td>
1573
          <td class="md" nowrap>int **&nbsp;</td>
1574
          <td class="mdname" nowrap> <em>clip</em>, </td>
1575
        </tr>
1576
        <tr>
1577
          <td class="md" nowrap align="right"></td>
1578
          <td class="md"></td>
1579
          <td class="md" nowrap>int **&nbsp;</td>
1580
          <td class="mdname" nowrap> <em>label_ref</em></td>
1581
        </tr>
1582
        <tr>
1583
          <td class="md"></td>
1584
          <td class="md">)&nbsp;</td>
1585
          <td class="md" colspan="2"></td>
1586
        </tr>
1587
      </table>
1588
    </td>
1589
  </tr>
1590
</table>
1591
<table cellspacing="5" cellpadding="0" border="0">
1592
  <tr>
1593
    <td>
1594
      &nbsp;
1595
    </td>
1596
    <td>
1597
 
1598
<p>
1599
extract connected components from image.
1600
<p>
1601
Label the input image, i.e. extract connected components from the input video image. <dl compact><dt><b>Parameters:</b></dt><dd>
1602
  <table border="0" cellspacing="2" cellpadding="0">
1603
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>input image, as returned by <a class="el" href="video_8h.html#aba310982da09d39a4a92c5cd394d0dd">arVideoGetImage()</a> </td></tr>
1604
    <tr><td valign="top"></td><td valign="top"><em>thresh</em>&nbsp;</td><td>lighting threshold </td></tr>
1605
    <tr><td valign="top"></td><td valign="top"><em>label_num</em>&nbsp;</td><td>Ouput- number of detected components </td></tr>
1606
    <tr><td valign="top"></td><td valign="top"><em>area</em>&nbsp;</td><td>On return, if label_num &gt; 0, points to an array of ints, one for each detected component. </td></tr>
1607
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>On return, if label_num &gt; 0, points to an array of doubles, one for each detected component. </td></tr>
1608
    <tr><td valign="top"></td><td valign="top"><em>clip</em>&nbsp;</td><td>On return, if label_num &gt; 0, points to an array of ints, one for each detected component. </td></tr>
1609
    <tr><td valign="top"></td><td valign="top"><em>label_ref</em>&nbsp;</td><td>On return, if label_num &gt; 0, points to an array of ints, one for each detected component. </td></tr>
1610
  </table>
1611
</dl>
1612
<dl compact><dt><b>Returns:</b></dt><dd>returns a pointer to the labeled output image, ready for passing onto the next stage of processing. </dd></dl>
1613
    </td>
1614
  </tr>
1615
</table>
1616
<a class="anchor" name="f4cc9097aa08c705e97b9abf19c5fdfe"></a><!-- doxytag: member="ar.h::arLabelingCleanup" ref="f4cc9097aa08c705e97b9abf19c5fdfe" args="(void)" --><p>
1617
<table class="mdTable" cellpadding="2" cellspacing="0">
1618
  <tr>
1619
    <td class="mdRow">
1620
      <table cellpadding="0" cellspacing="0" border="0">
1621
        <tr>
1622
          <td class="md" nowrap valign="top">void arLabelingCleanup           </td>
1623
          <td class="md" valign="top">(&nbsp;</td>
1624
          <td class="md" nowrap valign="top">void&nbsp;</td>
1625
          <td class="mdname1" valign="top" nowrap>          </td>
1626
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1627
          <td class="md" nowrap></td>
1628
        </tr>
1629
      </table>
1630
    </td>
1631
  </tr>
1632
</table>
1633
<table cellspacing="5" cellpadding="0" border="0">
1634
  <tr>
1635
    <td>
1636
      &nbsp;
1637
    </td>
1638
    <td>
1639
 
1640
<p>
1641
clean up static data allocated by arLabeling.
1642
<p>
1643
In debug mode, arLabeling may allocate and use static storage. This function deallocates this storage.     </td>
1644
  </tr>
1645
</table>
1646
<a class="anchor" name="c2f0ca15b1247e50412fdfa02a1541e1"></a><!-- doxytag: member="ar.h::arLoadPatt" ref="c2f0ca15b1247e50412fdfa02a1541e1" args="(const char *filename)" --><p>
1647
<table class="mdTable" cellpadding="2" cellspacing="0">
1648
  <tr>
1649
    <td class="mdRow">
1650
      <table cellpadding="0" cellspacing="0" border="0">
1651
        <tr>
1652
          <td class="md" nowrap valign="top">int arLoadPatt           </td>
1653
          <td class="md" valign="top">(&nbsp;</td>
1654
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
1655
          <td class="mdname1" valign="top" nowrap> <em>filename</em>          </td>
1656
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1657
          <td class="md" nowrap></td>
1658
        </tr>
1659
      </table>
1660
    </td>
1661
  </tr>
1662
</table>
1663
<table cellspacing="5" cellpadding="0" border="0">
1664
  <tr>
1665
    <td>
1666
      &nbsp;
1667
    </td>
1668
    <td>
1669
 
1670
<p>
1671
load markers description from a file
1672
<p>
1673
load the bitmap pattern specified in the file filename into the pattern matching array for later use by the marker detection routines. <dl compact><dt><b>Parameters:</b></dt><dd>
1674
  <table border="0" cellspacing="2" cellpadding="0">
1675
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>name of the file containing the pattern bitmap to be loaded </td></tr>
1676
  </table>
1677
</dl>
1678
<dl compact><dt><b>Returns:</b></dt><dd>the identity number of the pattern loaded or –1 if the pattern load failed. </dd></dl>
1679
    </td>
1680
  </tr>
1681
</table>
1682
<a class="anchor" name="5493c47b96eeda32ee7aabe1e87dbf1c"></a><!-- doxytag: member="ar.h::arModifyMatrix" ref="5493c47b96eeda32ee7aabe1e87dbf1c" args="(double rot[3][3], double trans[3], double cpara[3][4], double vertex[][3], double pos2d[][2], int num)" --><p>
1683
<table class="mdTable" cellpadding="2" cellspacing="0">
1684
  <tr>
1685
    <td class="mdRow">
1686
      <table cellpadding="0" cellspacing="0" border="0">
1687
        <tr>
1688
          <td class="md" nowrap valign="top">double arModifyMatrix           </td>
1689
          <td class="md" valign="top">(&nbsp;</td>
1690
          <td class="md" nowrap valign="top">double&nbsp;</td>
1691
          <td class="mdname" nowrap> <em>rot</em>[3][3], </td>
1692
        </tr>
1693
        <tr>
1694
          <td class="md" nowrap align="right"></td>
1695
          <td class="md"></td>
1696
          <td class="md" nowrap>double&nbsp;</td>
1697
          <td class="mdname" nowrap> <em>trans</em>[3], </td>
1698
        </tr>
1699
        <tr>
1700
          <td class="md" nowrap align="right"></td>
1701
          <td class="md"></td>
1702
          <td class="md" nowrap>double&nbsp;</td>
1703
          <td class="mdname" nowrap> <em>cpara</em>[3][4], </td>
1704
        </tr>
1705
        <tr>
1706
          <td class="md" nowrap align="right"></td>
1707
          <td class="md"></td>
1708
          <td class="md" nowrap>double&nbsp;</td>
1709
          <td class="mdname" nowrap> <em>vertex</em>[][3], </td>
1710
        </tr>
1711
        <tr>
1712
          <td class="md" nowrap align="right"></td>
1713
          <td class="md"></td>
1714
          <td class="md" nowrap>double&nbsp;</td>
1715
          <td class="mdname" nowrap> <em>pos2d</em>[][2], </td>
1716
        </tr>
1717
        <tr>
1718
          <td class="md" nowrap align="right"></td>
1719
          <td class="md"></td>
1720
          <td class="md" nowrap>int&nbsp;</td>
1721
          <td class="mdname" nowrap> <em>num</em></td>
1722
        </tr>
1723
        <tr>
1724
          <td class="md"></td>
1725
          <td class="md">)&nbsp;</td>
1726
          <td class="md" colspan="2"></td>
1727
        </tr>
1728
      </table>
1729
    </td>
1730
  </tr>
1731
</table>
1732
<table cellspacing="5" cellpadding="0" border="0">
1733
  <tr>
1734
    <td>
1735
      &nbsp;
1736
    </td>
1737
    <td>
1738
 
1739
<p>
1740
XXXBK.
1741
<p>
1742
XXXBK <dl compact><dt><b>Parameters:</b></dt><dd>
1743
  <table border="0" cellspacing="2" cellpadding="0">
1744
    <tr><td valign="top"></td><td valign="top"><em>rot</em>&nbsp;</td><td>XXXBK </td></tr>
1745
    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>XXXBK </td></tr>
1746
    <tr><td valign="top"></td><td valign="top"><em>cpara</em>&nbsp;</td><td>XXXBK </td></tr>
1747
    <tr><td valign="top"></td><td valign="top"><em>vertex</em>&nbsp;</td><td>XXXBK </td></tr>
1748
    <tr><td valign="top"></td><td valign="top"><em>pos2d</em>&nbsp;</td><td>XXXBK </td></tr>
1749
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>XXXBK </td></tr>
1750
  </table>
1751
</dl>
1752
<dl compact><dt><b>Returns:</b></dt><dd>XXXBK </dd></dl>
1753
    </td>
1754
  </tr>
1755
</table>
1756
<a class="anchor" name="7e24d412f5402911f553cbb9d6d79ab5"></a><!-- doxytag: member="ar.h::arSavePatt" ref="7e24d412f5402911f553cbb9d6d79ab5" args="(ARUint8 *image, ARMarkerInfo *marker_info, char *filename)" --><p>
1757
<table class="mdTable" cellpadding="2" cellspacing="0">
1758
  <tr>
1759
    <td class="mdRow">
1760
      <table cellpadding="0" cellspacing="0" border="0">
1761
        <tr>
1762
          <td class="md" nowrap valign="top">int arSavePatt           </td>
1763
          <td class="md" valign="top">(&nbsp;</td>
1764
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
1765
          <td class="mdname" nowrap> <em>image</em>, </td>
1766
        </tr>
1767
        <tr>
1768
          <td class="md" nowrap align="right"></td>
1769
          <td class="md"></td>
1770
          <td class="md" nowrap><a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> *&nbsp;</td>
1771
          <td class="mdname" nowrap> <em>marker_info</em>, </td>
1772
        </tr>
1773
        <tr>
1774
          <td class="md" nowrap align="right"></td>
1775
          <td class="md"></td>
1776
          <td class="md" nowrap>char *&nbsp;</td>
1777
          <td class="mdname" nowrap> <em>filename</em></td>
1778
        </tr>
1779
        <tr>
1780
          <td class="md"></td>
1781
          <td class="md">)&nbsp;</td>
1782
          <td class="md" colspan="2"></td>
1783
        </tr>
1784
      </table>
1785
    </td>
1786
  </tr>
1787
</table>
1788
<table cellspacing="5" cellpadding="0" border="0">
1789
  <tr>
1790
    <td>
1791
      &nbsp;
1792
    </td>
1793
    <td>
1794
 
1795
<p>
1796
save a marker.
1797
<p>
1798
used in mk_patt to save a bitmap of the pattern of the currently detected marker. The saved image is a table of the normalized viewed pattern. <dl compact><dt><b>Parameters:</b></dt><dd>
1799
  <table border="0" cellspacing="2" cellpadding="0">
1800
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>a pointer to the image containing the marker pattern to be trained. </td></tr>
1801
    <tr><td valign="top"></td><td valign="top"><em>marker_info</em>&nbsp;</td><td>a pointer to the <a class="el" href="structARMarkerInfo.html">ARMarkerInfo</a> structure of the pattern to be trained. </td></tr>
1802
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The name of the file where the bitmap image is to be saved. </td></tr>
1803
  </table>
1804
</dl>
1805
<dl compact><dt><b>Returns:</b></dt><dd>0 if the bitmap image is successfully saved, -1 otherwise. </dd></dl>
1806
    </td>
1807
  </tr>
1808
</table>
1809
<a class="anchor" name="c60722714c8cadaf209911537f40c3d8"></a><!-- doxytag: member="ar.h::arUtilMat2QuatPos" ref="c60722714c8cadaf209911537f40c3d8" args="(double m[3][4], double q[4], double p[3])" --><p>
1810
<table class="mdTable" cellpadding="2" cellspacing="0">
1811
  <tr>
1812
    <td class="mdRow">
1813
      <table cellpadding="0" cellspacing="0" border="0">
1814
        <tr>
1815
          <td class="md" nowrap valign="top">int arUtilMat2QuatPos           </td>
1816
          <td class="md" valign="top">(&nbsp;</td>
1817
          <td class="md" nowrap valign="top">double&nbsp;</td>
1818
          <td class="mdname" nowrap> <em>m</em>[3][4], </td>
1819
        </tr>
1820
        <tr>
1821
          <td class="md" nowrap align="right"></td>
1822
          <td class="md"></td>
1823
          <td class="md" nowrap>double&nbsp;</td>
1824
          <td class="mdname" nowrap> <em>q</em>[4], </td>
1825
        </tr>
1826
        <tr>
1827
          <td class="md" nowrap align="right"></td>
1828
          <td class="md"></td>
1829
          <td class="md" nowrap>double&nbsp;</td>
1830
          <td class="mdname" nowrap> <em>p</em>[3]</td>
1831
        </tr>
1832
        <tr>
1833
          <td class="md"></td>
1834
          <td class="md">)&nbsp;</td>
1835
          <td class="md" colspan="2"></td>
1836
        </tr>
1837
      </table>
1838
    </td>
1839
  </tr>
1840
</table>
1841
<table cellspacing="5" cellpadding="0" border="0">
1842
  <tr>
1843
    <td>
1844
      &nbsp;
1845
    </td>
1846
    <td>
1847
 
1848
<p>
1849
extract a quaternion/position of matrix.
1850
<p>
1851
Extract a rotation (quaternion format) and a position (vector format) from a transformation matrix. The precondition is an euclidian matrix. <dl compact><dt><b>Parameters:</b></dt><dd>
1852
  <table border="0" cellspacing="2" cellpadding="0">
1853
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>source matrix </td></tr>
1854
    <tr><td valign="top"></td><td valign="top"><em>q</em>&nbsp;</td><td>a rotation represented by a quaternion. </td></tr>
1855
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>a translation represented by a vector. </td></tr>
1856
  </table>
1857
</dl>
1858
<dl compact><dt><b>Returns:</b></dt><dd>0 if the extraction success, -1 otherwise (quaternion not normalize) </dd></dl>
1859
    </td>
1860
  </tr>
1861
</table>
1862
<a class="anchor" name="be420456ee7c64086e560ad93e2ebb92"></a><!-- doxytag: member="ar.h::arUtilMatInv" ref="be420456ee7c64086e560ad93e2ebb92" args="(double s[3][4], double d[3][4])" --><p>
1863
<table class="mdTable" cellpadding="2" cellspacing="0">
1864
  <tr>
1865
    <td class="mdRow">
1866
      <table cellpadding="0" cellspacing="0" border="0">
1867
        <tr>
1868
          <td class="md" nowrap valign="top">int arUtilMatInv           </td>
1869
          <td class="md" valign="top">(&nbsp;</td>
1870
          <td class="md" nowrap valign="top">double&nbsp;</td>
1871
          <td class="mdname" nowrap> <em>s</em>[3][4], </td>
1872
        </tr>
1873
        <tr>
1874
          <td class="md" nowrap align="right"></td>
1875
          <td class="md"></td>
1876
          <td class="md" nowrap>double&nbsp;</td>
1877
          <td class="mdname" nowrap> <em>d</em>[3][4]</td>
1878
        </tr>
1879
        <tr>
1880
          <td class="md"></td>
1881
          <td class="md">)&nbsp;</td>
1882
          <td class="md" colspan="2"></td>
1883
        </tr>
1884
      </table>
1885
    </td>
1886
  </tr>
1887
</table>
1888
<table cellspacing="5" cellpadding="0" border="0">
1889
  <tr>
1890
    <td>
1891
      &nbsp;
1892
    </td>
1893
    <td>
1894
 
1895
<p>
1896
Inverse a non-square matrix.
1897
<p>
1898
Inverse a matrix in a non homogeneous format. The matrix need to be euclidian. <dl compact><dt><b>Parameters:</b></dt><dd>
1899
  <table border="0" cellspacing="2" cellpadding="0">
1900
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>matrix input </td></tr>
1901
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>resulted inverse matrix. </td></tr>
1902
  </table>
1903
</dl>
1904
<dl compact><dt><b>Returns:</b></dt><dd>0 if the inversion success, -1 otherwise </dd></dl>
1905
<dl compact><dt><b>Remarks:</b></dt><dd>input matrix can be also output matrix </dd></dl>
1906
    </td>
1907
  </tr>
1908
</table>
1909
<a class="anchor" name="6b8cf1b8e77a8ef9e21bb826c8588cee"></a><!-- doxytag: member="ar.h::arUtilMatMul" ref="6b8cf1b8e77a8ef9e21bb826c8588cee" args="(double s1[3][4], double s2[3][4], double d[3][4])" --><p>
1910
<table class="mdTable" cellpadding="2" cellspacing="0">
1911
  <tr>
1912
    <td class="mdRow">
1913
      <table cellpadding="0" cellspacing="0" border="0">
1914
        <tr>
1915
          <td class="md" nowrap valign="top">int arUtilMatMul           </td>
1916
          <td class="md" valign="top">(&nbsp;</td>
1917
          <td class="md" nowrap valign="top">double&nbsp;</td>
1918
          <td class="mdname" nowrap> <em>s1</em>[3][4], </td>
1919
        </tr>
1920
        <tr>
1921
          <td class="md" nowrap align="right"></td>
1922
          <td class="md"></td>
1923
          <td class="md" nowrap>double&nbsp;</td>
1924
          <td class="mdname" nowrap> <em>s2</em>[3][4], </td>
1925
        </tr>
1926
        <tr>
1927
          <td class="md" nowrap align="right"></td>
1928
          <td class="md"></td>
1929
          <td class="md" nowrap>double&nbsp;</td>
1930
          <td class="mdname" nowrap> <em>d</em>[3][4]</td>
1931
        </tr>
1932
        <tr>
1933
          <td class="md"></td>
1934
          <td class="md">)&nbsp;</td>
1935
          <td class="md" colspan="2"></td>
1936
        </tr>
1937
      </table>
1938
    </td>
1939
  </tr>
1940
</table>
1941
<table cellspacing="5" cellpadding="0" border="0">
1942
  <tr>
1943
    <td>
1944
      &nbsp;
1945
    </td>
1946
    <td>
1947
 
1948
<p>
1949
Multiplication of two matrix.
1950
<p>
1951
This procedure do a multiplication matrix between s1 and s2 and return the result in d : d=s1*s2. The precondition is the output matrix need to be different of input matrix. The precondition is euclidian matrix. <dl compact><dt><b>Parameters:</b></dt><dd>
1952
  <table border="0" cellspacing="2" cellpadding="0">
1953
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>first matrix. </td></tr>
1954
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>second matrix. </td></tr>
1955
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>resulted multiplication matrix. </td></tr>
1956
  </table>
1957
</dl>
1958
<dl compact><dt><b>Returns:</b></dt><dd>0 if the multiplication success, -1 otherwise </dd></dl>
1959
    </td>
1960
  </tr>
1961
</table>
1962
<a class="anchor" name="93fe43532942ad6b6155c9609b6f17cb"></a><!-- doxytag: member="ar.h::arUtilQuatPos2Mat" ref="93fe43532942ad6b6155c9609b6f17cb" args="(double q[4], double p[3], double m[3][4])" --><p>
1963
<table class="mdTable" cellpadding="2" cellspacing="0">
1964
  <tr>
1965
    <td class="mdRow">
1966
      <table cellpadding="0" cellspacing="0" border="0">
1967
        <tr>
1968
          <td class="md" nowrap valign="top">int arUtilQuatPos2Mat           </td>
1969
          <td class="md" valign="top">(&nbsp;</td>
1970
          <td class="md" nowrap valign="top">double&nbsp;</td>
1971
          <td class="mdname" nowrap> <em>q</em>[4], </td>
1972
        </tr>
1973
        <tr>
1974
          <td class="md" nowrap align="right"></td>
1975
          <td class="md"></td>
1976
          <td class="md" nowrap>double&nbsp;</td>
1977
          <td class="mdname" nowrap> <em>p</em>[3], </td>
1978
        </tr>
1979
        <tr>
1980
          <td class="md" nowrap align="right"></td>
1981
          <td class="md"></td>
1982
          <td class="md" nowrap>double&nbsp;</td>
1983
          <td class="mdname" nowrap> <em>m</em>[3][4]</td>
1984
        </tr>
1985
        <tr>
1986
          <td class="md"></td>
1987
          <td class="md">)&nbsp;</td>
1988
          <td class="md" colspan="2"></td>
1989
        </tr>
1990
      </table>
1991
    </td>
1992
  </tr>
1993
</table>
1994
<table cellspacing="5" cellpadding="0" border="0">
1995
  <tr>
1996
    <td>
1997
      &nbsp;
1998
    </td>
1999
    <td>
2000
 
2001
<p>
2002
create a matrix with a quaternion/position.
2003
<p>
2004
Create a transformation matrix from a quaternion rotation and a vector translation. <dl compact><dt><b>Parameters:</b></dt><dd>
2005
  <table border="0" cellspacing="2" cellpadding="0">
2006
    <tr><td valign="top"></td><td valign="top"><em>q</em>&nbsp;</td><td>a rotation represented by a quaternion. </td></tr>
2007
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>a translation represented by a vector. </td></tr>
2008
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>destination matrix </td></tr>
2009
  </table>
2010
</dl>
2011
<dl compact><dt><b>Returns:</b></dt><dd>always 0 </dd></dl>
2012
    </td>
2013
  </tr>
2014
</table>
2015
<a class="anchor" name="e563a6bac5ed423dd919f1eaeddde63e"></a><!-- doxytag: member="ar.h::arUtilSleep" ref="e563a6bac5ed423dd919f1eaeddde63e" args="(int msec)" --><p>
2016
<table class="mdTable" cellpadding="2" cellspacing="0">
2017
  <tr>
2018
    <td class="mdRow">
2019
      <table cellpadding="0" cellspacing="0" border="0">
2020
        <tr>
2021
          <td class="md" nowrap valign="top">void arUtilSleep           </td>
2022
          <td class="md" valign="top">(&nbsp;</td>
2023
          <td class="md" nowrap valign="top">int&nbsp;</td>
2024
          <td class="mdname1" valign="top" nowrap> <em>msec</em>          </td>
2025
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2026
          <td class="md" nowrap></td>
2027
        </tr>
2028
      </table>
2029
    </td>
2030
  </tr>
2031
</table>
2032
<table cellspacing="5" cellpadding="0" border="0">
2033
  <tr>
2034
    <td>
2035
      &nbsp;
2036
    </td>
2037
    <td>
2038
 
2039
<p>
2040
sleep the actual thread.
2041
<p>
2042
Sleep the actual thread. <dl compact><dt><b>Parameters:</b></dt><dd>
2043
  <table border="0" cellspacing="2" cellpadding="0">
2044
    <tr><td valign="top"></td><td valign="top"><em>msec</em>&nbsp;</td><td>time to sleep (in millisecond) </td></tr>
2045
  </table>
2046
</dl>
2047
    </td>
2048
  </tr>
2049
</table>
2050
<a class="anchor" name="bf559062118794d0740cba8780de67d2"></a><!-- doxytag: member="ar.h::arUtilTimer" ref="bf559062118794d0740cba8780de67d2" args="(void)" --><p>
2051
<table class="mdTable" cellpadding="2" cellspacing="0">
2052
  <tr>
2053
    <td class="mdRow">
2054
      <table cellpadding="0" cellspacing="0" border="0">
2055
        <tr>
2056
          <td class="md" nowrap valign="top">double arUtilTimer           </td>
2057
          <td class="md" valign="top">(&nbsp;</td>
2058
          <td class="md" nowrap valign="top">void&nbsp;</td>
2059
          <td class="mdname1" valign="top" nowrap>          </td>
2060
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2061
          <td class="md" nowrap></td>
2062
        </tr>
2063
      </table>
2064
    </td>
2065
  </tr>
2066
</table>
2067
<table cellspacing="5" cellpadding="0" border="0">
2068
  <tr>
2069
    <td>
2070
      &nbsp;
2071
    </td>
2072
    <td>
2073
 
2074
<p>
2075
get the time with the ARToolkit timer.
2076
<p>
2077
Give the time elapsed since the reset of the timer. <dl compact><dt><b>Returns:</b></dt><dd>elapsed time (in milliseconds) </dd></dl>
2078
    </td>
2079
  </tr>
2080
</table>
2081
<a class="anchor" name="1d05f864313f7d14dc9a8a7c20295b05"></a><!-- doxytag: member="ar.h::arUtilTimerReset" ref="1d05f864313f7d14dc9a8a7c20295b05" args="(void)" --><p>
2082
<table class="mdTable" cellpadding="2" cellspacing="0">
2083
  <tr>
2084
    <td class="mdRow">
2085
      <table cellpadding="0" cellspacing="0" border="0">
2086
        <tr>
2087
          <td class="md" nowrap valign="top">void arUtilTimerReset           </td>
2088
          <td class="md" valign="top">(&nbsp;</td>
2089
          <td class="md" nowrap valign="top">void&nbsp;</td>
2090
          <td class="mdname1" valign="top" nowrap>          </td>
2091
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
2092
          <td class="md" nowrap></td>
2093
        </tr>
2094
      </table>
2095
    </td>
2096
  </tr>
2097
</table>
2098
<table cellspacing="5" cellpadding="0" border="0">
2099
  <tr>
2100
    <td>
2101
      &nbsp;
2102
    </td>
2103
    <td>
2104
 
2105
<p>
2106
reset the internal timer of ARToolkit.
2107
<p>
2108
Reset the internal timer used by ARToolKit. timer measurement (with <a class="el" href="ar_8h.html#bf559062118794d0740cba8780de67d2">arUtilTimer()</a>).     </td>
2109
  </tr>
2110
</table>
2111
<hr><h2>Variable Documentation</h2>
2112
<a class="anchor" name="de5bfd73c6f13e88ef3ef5d81ab7b423"></a><!-- doxytag: member="ar.h::arDebug" ref="de5bfd73c6f13e88ef3ef5d81ab7b423" args="" --><p>
2113
<table class="mdTable" cellpadding="2" cellspacing="0">
2114
  <tr>
2115
    <td class="mdRow">
2116
      <table cellpadding="0" cellspacing="0" border="0">
2117
        <tr>
2118
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#de5bfd73c6f13e88ef3ef5d81ab7b423">arDebug</a>          </td>
2119
        </tr>
2120
      </table>
2121
    </td>
2122
  </tr>
2123
</table>
2124
<table cellspacing="5" cellpadding="0" border="0">
2125
  <tr>
2126
    <td>
2127
      &nbsp;
2128
    </td>
2129
    <td>
2130
 
2131
<p>
2132
activate artoolkit debug mode
2133
<p>
2134
control debug informations in ARToolKit. the possible values are:<ul>
2135
<li>0: not in debug mode</li><li>1: in debug mode by default: 0 </li></ul>
2136
    </td>
2137
  </tr>
2138
</table>
2139
<a class="anchor" name="00e128be0b9f056317cf4836884a4638"></a><!-- doxytag: member="ar.h::arFittingMode" ref="00e128be0b9f056317cf4836884a4638" args="" --><p>
2140
<table class="mdTable" cellpadding="2" cellspacing="0">
2141
  <tr>
2142
    <td class="mdRow">
2143
      <table cellpadding="0" cellspacing="0" border="0">
2144
        <tr>
2145
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#00e128be0b9f056317cf4836884a4638">arFittingMode</a>          </td>
2146
        </tr>
2147
      </table>
2148
    </td>
2149
  </tr>
2150
</table>
2151
<table cellspacing="5" cellpadding="0" border="0">
2152
  <tr>
2153
    <td>
2154
      &nbsp;
2155
    </td>
2156
    <td>
2157
 
2158
<p>
2159
fitting display mode use by ARToolkit.
2160
<p>
2161
Correction mode for the distorsion of the camera. You can enable a correction with a texture mapping. the possible values are:<ul>
2162
<li>AR_FITTING_TO_INPUT: input image</li><li>AR_FITTING_TO_IDEAL: compensated image by default: DEFAULT_FITTING_MODE in config.h </li></ul>
2163
    </td>
2164
  </tr>
2165
</table>
2166
<a class="anchor" name="79e81de8a750c4ffc4404a91a9588bfc"></a><!-- doxytag: member="ar.h::arImage" ref="79e81de8a750c4ffc4404a91a9588bfc" args="" --><p>
2167
<table class="mdTable" cellpadding="2" cellspacing="0">
2168
  <tr>
2169
    <td class="mdRow">
2170
      <table cellpadding="0" cellspacing="0" border="0">
2171
        <tr>
2172
          <td class="md" nowrap valign="top">ARUint8 * <a class="el" href="ar_8h.html#79e81de8a750c4ffc4404a91a9588bfc">arImage</a>          </td>
2173
        </tr>
2174
      </table>
2175
    </td>
2176
  </tr>
2177
</table>
2178
<table cellspacing="5" cellpadding="0" border="0">
2179
  <tr>
2180
    <td>
2181
      &nbsp;
2182
    </td>
2183
    <td>
2184
 
2185
<p>
2186
internal image
2187
<p>
2188
internal image used. (access only for debugging ARToolKit) by default: NULL     </td>
2189
  </tr>
2190
</table>
2191
<a class="anchor" name="d4045aca4dba2521ac5da187d326a726"></a><!-- doxytag: member="ar.h::arImageProcMode" ref="d4045aca4dba2521ac5da187d326a726" args="" --><p>
2192
<table class="mdTable" cellpadding="2" cellspacing="0">
2193
  <tr>
2194
    <td class="mdRow">
2195
      <table cellpadding="0" cellspacing="0" border="0">
2196
        <tr>
2197
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#d4045aca4dba2521ac5da187d326a726">arImageProcMode</a>          </td>
2198
        </tr>
2199
      </table>
2200
    </td>
2201
  </tr>
2202
</table>
2203
<table cellspacing="5" cellpadding="0" border="0">
2204
  <tr>
2205
    <td>
2206
      &nbsp;
2207
    </td>
2208
    <td>
2209
 
2210
<p>
2211
define the image size mode for marker detection.
2212
<p>
2213
Video image size for marker detection. This control if all the image is analyzed the possible values are :<ul>
2214
<li>AR_IMAGE_PROC_IN_FULL: full image uses.</li><li>AR_IMAGE_PROC_IN_HALF: half image uses. by default: DEFAULT_IMAGE_PROC_MODE in config.h </li></ul>
2215
    </td>
2216
  </tr>
2217
</table>
2218
<a class="anchor" name="849c998539d5da979412026f09a603ca"></a><!-- doxytag: member="ar.h::arImXsize" ref="849c998539d5da979412026f09a603ca" args="" --><p>
2219
<table class="mdTable" cellpadding="2" cellspacing="0">
2220
  <tr>
2221
    <td class="mdRow">
2222
      <table cellpadding="0" cellspacing="0" border="0">
2223
        <tr>
2224
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#849c998539d5da979412026f09a603ca">arImXsize</a>          </td>
2225
        </tr>
2226
      </table>
2227
    </td>
2228
  </tr>
2229
</table>
2230
<table cellspacing="5" cellpadding="0" border="0">
2231
  <tr>
2232
    <td>
2233
      &nbsp;
2234
    </td>
2235
    <td>
2236
 
2237
<p>
2238
internal image size in width.
2239
<p>
2240
internal image size in width (generally initialize in arInitCparam)     </td>
2241
  </tr>
2242
</table>
2243
<a class="anchor" name="f37d0b07126866ac30bc35b384ea1661"></a><!-- doxytag: member="ar.h::arImYsize" ref="f37d0b07126866ac30bc35b384ea1661" args="" --><p>
2244
<table class="mdTable" cellpadding="2" cellspacing="0">
2245
  <tr>
2246
    <td class="mdRow">
2247
      <table cellpadding="0" cellspacing="0" border="0">
2248
        <tr>
2249
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#f37d0b07126866ac30bc35b384ea1661">arImYsize</a>          </td>
2250
        </tr>
2251
      </table>
2252
    </td>
2253
  </tr>
2254
</table>
2255
<table cellspacing="5" cellpadding="0" border="0">
2256
  <tr>
2257
    <td>
2258
      &nbsp;
2259
    </td>
2260
    <td>
2261
 
2262
<p>
2263
internal image size in heigth
2264
<p>
2265
internal image size in heigth (generally initialize in arInitCparam)     </td>
2266
  </tr>
2267
</table>
2268
<a class="anchor" name="cfa9baadb964cb0cd48764b278cb926c"></a><!-- doxytag: member="ar.h::arMatchingPCAMode" ref="cfa9baadb964cb0cd48764b278cb926c" args="" --><p>
2269
<table class="mdTable" cellpadding="2" cellspacing="0">
2270
  <tr>
2271
    <td class="mdRow">
2272
      <table cellpadding="0" cellspacing="0" border="0">
2273
        <tr>
2274
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#cfa9baadb964cb0cd48764b278cb926c">arMatchingPCAMode</a>          </td>
2275
        </tr>
2276
      </table>
2277
    </td>
2278
  </tr>
2279
</table>
2280
<table cellspacing="5" cellpadding="0" border="0">
2281
  <tr>
2282
    <td>
2283
      &nbsp;
2284
    </td>
2285
    <td>
2286
 
2287
<p>
2288
XXXBK.
2289
<p>
2290
XXXBK the possible values are : -AR_MATCHING_WITHOUT_PCA: without PCA -AR_MATCHING_WITH_PCA: with PCA by default: DEFAULT_MATCHING_PCA_MODE in config.h     </td>
2291
  </tr>
2292
</table>
2293
<a class="anchor" name="639363f64c4e3cd431e90a2fc0fcd8b8"></a><!-- doxytag: member="ar.h::arParam" ref="639363f64c4e3cd431e90a2fc0fcd8b8" args="" --><p>
2294
<table class="mdTable" cellpadding="2" cellspacing="0">
2295
  <tr>
2296
    <td class="mdRow">
2297
      <table cellpadding="0" cellspacing="0" border="0">
2298
        <tr>
2299
          <td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam</a> <a class="el" href="ar_8h.html#639363f64c4e3cd431e90a2fc0fcd8b8">arParam</a>          </td>
2300
        </tr>
2301
      </table>
2302
    </td>
2303
  </tr>
2304
</table>
2305
<table cellspacing="5" cellpadding="0" border="0">
2306
  <tr>
2307
    <td>
2308
      &nbsp;
2309
    </td>
2310
    <td>
2311
 
2312
<p>
2313
internal intrinsic camera parameter
2314
<p>
2315
internal variable for camera intrinsic parameters     </td>
2316
  </tr>
2317
</table>
2318
<a class="anchor" name="1665da981c98d36c150d8be1ea9828bc"></a><!-- doxytag: member="ar.h::arTemplateMatchingMode" ref="1665da981c98d36c150d8be1ea9828bc" args="" --><p>
2319
<table class="mdTable" cellpadding="2" cellspacing="0">
2320
  <tr>
2321
    <td class="mdRow">
2322
      <table cellpadding="0" cellspacing="0" border="0">
2323
        <tr>
2324
          <td class="md" nowrap valign="top">int <a class="el" href="ar_8h.html#1665da981c98d36c150d8be1ea9828bc">arTemplateMatchingMode</a>          </td>
2325
        </tr>
2326
      </table>
2327
    </td>
2328
  </tr>
2329
</table>
2330
<table cellspacing="5" cellpadding="0" border="0">
2331
  <tr>
2332
    <td>
2333
      &nbsp;
2334
    </td>
2335
    <td>
2336
 
2337
<p>
2338
XXXBK.
2339
<p>
2340
XXXBK the possible values are : AR_TEMPLATE_MATCHING_COLOR: Color Template AR_TEMPLATE_MATCHING_BW: BW Template by default: DEFAULT_TEMPLATE_MATCHING_MODE in config.h     </td>
2341
  </tr>
2342
</table>
2343
 
2344
        <small>Generated with <a href="http://www.doxygen.org/index.html">Doxygen</a><br>
2345
        Copyright © 2004-2006. HIT Lab NZ. All Rights Reserved.</small>
2346
        </body>
2347
</html>