<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ARToolKit API Documentation
</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main
Page
</span></a></li>
<li><a href="annotated.html"><span>Data
Structures
</span></a></li>
<li id="current"><a href="files.html"><span>Files
</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File
List
</span></a></li>
<li><a href="globals.html"><span>Globals
</span></a></li>
</ul></div>
<h1>param.h File Reference
</h1>ARToolkit global structure (parameters) subroutines.
<a href="#_details">More...
</a>
<p>
<code>#include
<AR/config.h
></code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures
</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct
</td><td class="memItemRight" valign="bottom"><a class="el" href="structARParam.html">ARParam
</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">camera intrinsic parameters.
<a href="structARParam.html#_details">More...
</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct
</td><td class="memItemRight" valign="bottom"><b>ARSParam
</b></td></tr>
<tr><td colspan="2"><br><h2>Functions
</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#abc5345858e262fff89f9f0d75c7ce54">arParamGet
</a> (double global[][3], double screen[][2], int data_num, double mat[3][4])
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">XXXBK.
<a href="#abc5345858e262fff89f9f0d75c7ce54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#25fbda2ca487c252896d7f10f1aa1478">arParamDecomp
</a> (
<a class="el" href="structARParam.html">ARParam
</a> *source,
<a class="el" href="structARParam.html">ARParam
</a> *icpara, double trans[3][4])
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">XXXBK.
<a href="#25fbda2ca487c252896d7f10f1aa1478"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#464e59f386f2d030925d8b070c6b35bd">arParamDecompMat
</a> (double source[3][4], double cpara[3][4], double trans[3][4])
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">XXXBK.
<a href="#464e59f386f2d030925d8b070c6b35bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#3e52a8aff371f4bea95049689f89c5fa">arParamIdeal2Observ
</a> (const double dist_factor[4], const double ix, const double iy, double *ox, double *oy)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert ideal screen coordinates of a vertex to observed ones.
<a href="#3e52a8aff371f4bea95049689f89c5fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#e31d34be66699b8343aedaef1d627777">arParamObserv2Ideal
</a> (const double dist_factor[4], const double ox, const double oy, double *ix, double *iy)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert observed screen coordinates of a vertex to ideal ones.
<a href="#e31d34be66699b8343aedaef1d627777"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#ad3ef0e0fba8944c501a2819e1e99ad9">arParamChangeSize
</a> (
<a class="el" href="structARParam.html">ARParam
</a> *source, int xsize, int ysize,
<a class="el" href="structARParam.html">ARParam
</a> *newparam)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the camera size parameters.
<a href="#ad3ef0e0fba8944c501a2819e1e99ad9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#acbb90cde0696e4ab8269b98b44822ca">arParamSave
</a> (char *filename, int num,
<a class="el" href="structARParam.html">ARParam
</a> *param,...)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">save a camera intrinsic parameters.
<a href="#acbb90cde0696e4ab8269b98b44822ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#09b936765527cf0b1cbf5636d8757ff2">arParamLoad
</a> (const char *filename, int num,
<a class="el" href="structARParam.html">ARParam
</a> *param,...)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">load the camera intrinsic parameters.
<a href="#09b936765527cf0b1cbf5636d8757ff2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int
</td><td class="memItemRight" valign="bottom"><a class="el" href="param_8h.html#677677fbc07c60ac1b8b6576af98d045">arParamDisp
</a> (
<a class="el" href="structARParam.html">ARParam
</a> *param)
</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">display parameters.
<a href="#677677fbc07c60ac1b8b6576af98d045"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd14c6f4e2fbab1287ff6642aaec8598"></a><!-- doxytag: member="param.h::arsParamChangeSize" ref="dd14c6f4e2fbab1287ff6642aaec8598" args="(ARSParam *source, int xsize, int ysize, ARSParam *newparam)" -->
int
</td><td class="memItemRight" valign="bottom"><b>arsParamChangeSize
</b> (ARSParam *source, int xsize, int ysize, ARSParam *newparam)
</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f19f2237742066d68ea8304ad4ff60bb"></a><!-- doxytag: member="param.h::arsParamSave" ref="f19f2237742066d68ea8304ad4ff60bb" args="(char *filename, ARSParam *sparam)" -->
int
</td><td class="memItemRight" valign="bottom"><b>arsParamSave
</b> (char *filename, ARSParam *sparam)
</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe6d94517f7a3abb4c17d86583a52fc8"></a><!-- doxytag: member="param.h::arsParamLoad" ref="fe6d94517f7a3abb4c17d86583a52fc8" args="(char *filename, ARSParam *sparam)" -->
int
</td><td class="memItemRight" valign="bottom"><b>arsParamLoad
</b> (char *filename, ARSParam *sparam)
</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00fe0d77fc497e74a7e9e58c981eaef7"></a><!-- doxytag: member="param.h::arsParamDisp" ref="00fe0d77fc497e74a7e9e58c981eaef7" args="(ARSParam *sparam)" -->
int
</td><td class="memItemRight" valign="bottom"><b>arsParamDisp
</b> (ARSParam *sparam)
</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a0e280448327a32adb0f56878020f83"></a><!-- doxytag: member="param.h::arsParamGetMat" ref="8a0e280448327a32adb0f56878020f83" args="(double matL[3][4], double matR[3][4], double cparaL[3][4], double cparaR[3][4], double matL2R[3][4])" -->
int
</td><td class="memItemRight" valign="bottom"><b>arsParamGetMat
</b> (double matL[3][4], double matR[3][4], double cparaL[3][4], double cparaR[3][4], double matL2R[3][4])
</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description
</h2>
ARToolkit global structure (parameters) subroutines.
<p>
This file contains principal routines for loading, saving, and modify camera parameters for of ARToolkit library. Different structures are used for modify in run-time this parameters in the library. A file structure is use for input/output.
<dl compact><dt><b>Remarks:
</b></dt><dd></dd></dl>
History :
<p>
<dl compact><dt><b>Author:
</b></dt><dd>Takeshi Mita
<a href="mailto:tmita@inolab.sys.es.osaka-u.ac.jp">tmita@inolab.sys.es.osaka-u.ac.jp
</a> <p>
Shinsaku Hiura
<a href="mailto:shinsaku@sys.es.osaka-u.ac.jp">shinsaku@sys.es.osaka-u.ac.jp
</a> <p>
Hirokazu Kato
<a href="mailto:kato@sys.im.hiroshima-cu.ac.jp">kato@sys.im.hiroshima-cu.ac.jp
</a></dd></dl>
<dl compact><dt><b>Version:
</b></dt><dd>4.1
</dd></dl>
<dl compact><dt><b>Date:
</b></dt><dd>01/12/07
</dd></dl>
<hr><h2>Function Documentation
</h2>
<a class="anchor" name="ad3ef0e0fba8944c501a2819e1e99ad9"></a><!-- doxytag: member="param.h::arParamChangeSize" ref="ad3ef0e0fba8944c501a2819e1e99ad9" args="(ARParam *source, int xsize, int ysize, ARParam *newparam)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamChangeSize
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>source
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>int
</td>
<td class="mdname" nowrap> <em>xsize
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>int
</td>
<td class="mdname" nowrap> <em>ysize
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>newparam
</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
change the camera size parameters.
<p>
Change the size variable in camera intrinsic parameters.
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>source
</em> </td><td>name of the source parameters structure
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>xsize
</em> </td><td>new length size
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>ysize
</em> </td><td>new height size
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>newparam
</em> </td><td>name of the destination parameters structure.
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="25fbda2ca487c252896d7f10f1aa1478"></a><!-- doxytag: member="param.h::arParamDecomp" ref="25fbda2ca487c252896d7f10f1aa1478" args="(ARParam *source, ARParam *icpara, double trans[3][4])" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamDecomp
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>source
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>icpara
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double
</td>
<td class="mdname" nowrap> <em>trans
</em>[3][4]
</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
XXXBK.
<p>
XXXBK
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>source
</em> </td><td>XXXBK
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>icpara
</em> </td><td>XXXBK
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>trans
</em> </td><td>XXXBK
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>XXXBK
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="464e59f386f2d030925d8b070c6b35bd"></a><!-- doxytag: member="param.h::arParamDecompMat" ref="464e59f386f2d030925d8b070c6b35bd" args="(double source[3][4], double cpara[3][4], double trans[3][4])" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamDecompMat
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">double
</td>
<td class="mdname" nowrap> <em>source
</em>[3][4],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double
</td>
<td class="mdname" nowrap> <em>cpara
</em>[3][4],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double
</td>
<td class="mdname" nowrap> <em>trans
</em>[3][4]
</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
XXXBK.
<p>
XXXBK
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>source
</em> </td><td>input camera matrix
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>cpara
</em> </td><td>camera parameter to be set
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>trans
</em> </td><td>XXXBK
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>XXXBK
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="677677fbc07c60ac1b8b6576af98d045"></a><!-- doxytag: member="param.h::arParamDisp" ref="677677fbc07c60ac1b8b6576af98d045" args="(ARParam *param)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamDisp
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname1" valign="top" nowrap> <em>param
</em> </td>
<td class="md" valign="top"> )
</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
display parameters.
<p>
Display the structure of the camera instrinsic parameters argument.
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>param
</em> </td><td>structure to display
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="abc5345858e262fff89f9f0d75c7ce54"></a><!-- doxytag: member="param.h::arParamGet" ref="abc5345858e262fff89f9f0d75c7ce54" args="(double global[][3], double screen[][2], int data_num, double mat[3][4])" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamGet
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">double
</td>
<td class="mdname" nowrap> <em>global
</em>[][3],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double
</td>
<td class="mdname" nowrap> <em>screen
</em>[][2],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>int
</td>
<td class="mdname" nowrap> <em>data_num
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double
</td>
<td class="mdname" nowrap> <em>mat
</em>[3][4]
</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
XXXBK.
<p>
XXXBK
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>global
</em> </td><td>XXXBK
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>screen
</em> </td><td>XXXBK
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>data_num
</em> </td><td>XXXBK
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>mat
</em> </td><td>XXXBK
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>XXXBK
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="3e52a8aff371f4bea95049689f89c5fa"></a><!-- doxytag: member="param.h::arParamIdeal2Observ" ref="3e52a8aff371f4bea95049689f89c5fa" args="(const double dist_factor[4], const double ix, const double iy, double *ox, double *oy)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int int arParamIdeal2Observ
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">const double
</td>
<td class="mdname" nowrap> <em>dist_factor
</em>[4],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double
</td>
<td class="mdname" nowrap> <em>ix
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double
</td>
<td class="mdname" nowrap> <em>iy
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double *
</td>
<td class="mdname" nowrap> <em>ox
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double *
</td>
<td class="mdname" nowrap> <em>oy
</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Convert ideal screen coordinates of a vertex to observed ones.
<p>
Ideal coordinates mean that the distortion of the camera is compensated (so a straight line looks straight). In observed coordinates the camera-distortion is not compensated and thus a straight line is not shown really straight.
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dist_factor
</em> </td><td>distorsion factors of used camera
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>ix
</em> </td><td>x in ideal screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>iy
</em> </td><td>y in ideal screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>ox
</em> </td><td>resulted x in observed screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>oy
</em> </td><td>resulted y in observed screen coordinates
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0 if success, -1 otherwise
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="09b936765527cf0b1cbf5636d8757ff2"></a><!-- doxytag: member="param.h::arParamLoad" ref="09b936765527cf0b1cbf5636d8757ff2" args="(const char *filename, int num, ARParam *param,...)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamLoad
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">const char *
</td>
<td class="mdname" nowrap> <em>filename
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>int
</td>
<td class="mdname" nowrap> <em>num
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>param
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap> </td>
<td class="mdname" nowrap> <em>...
</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
load the camera intrinsic parameters.
<p>
Load camera intrinsic parameters in the ARToolkit Library from a file (itself, an output of the calibration step).
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>filename
</em> </td><td>name of the parameters file.
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>num
</em> </td><td>number of variable arguments
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>param
</em> </td><td>result of the loaded parameters
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0 if success, -1 if Error (file not found, file structure problem)
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="e31d34be66699b8343aedaef1d627777"></a><!-- doxytag: member="param.h::arParamObserv2Ideal" ref="e31d34be66699b8343aedaef1d627777" args="(const double dist_factor[4], const double ox, const double oy, double *ix, double *iy)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamObserv2Ideal
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">const double
</td>
<td class="mdname" nowrap> <em>dist_factor
</em>[4],
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double
</td>
<td class="mdname" nowrap> <em>ox
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>const double
</td>
<td class="mdname" nowrap> <em>oy
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double *
</td>
<td class="mdname" nowrap> <em>ix
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>double *
</td>
<td class="mdname" nowrap> <em>iy
</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Convert observed screen coordinates of a vertex to ideal ones.
<p>
Ideal coordinates mean that the distortion of the camera is compensated (so a straight line looks straight). In observed coordinates the camera-distortion is not compensated and thus a straight line is not shown really straight.
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dist_factor
</em> </td><td>distorsion factors of used camera
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>ox
</em> </td><td>x in observed screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>oy
</em> </td><td>y in observed screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>ix
</em> </td><td>resulted x in ideal screen coordinates
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>iy
</em> </td><td>resulted y in ideal screen coordinates
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0 if success, -1 otherwise
</dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="acbb90cde0696e4ab8269b98b44822ca"></a><!-- doxytag: member="param.h::arParamSave" ref="acbb90cde0696e4ab8269b98b44822ca" args="(char *filename, int num, ARParam *param,...)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">int arParamSave
</td>
<td class="md" valign="top">(
</td>
<td class="md" nowrap valign="top">char *
</td>
<td class="mdname" nowrap> <em>filename
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>int
</td>
<td class="mdname" nowrap> <em>num
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="structARParam.html">ARParam
</a> *
</td>
<td class="mdname" nowrap> <em>param
</em>,
</td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap> </td>
<td class="mdname" nowrap> <em>...
</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)
</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
save a camera intrinsic parameters.
<p>
Save manipulated camera intrinsic parameters in a file.
<dl compact><dt><b>Parameters:
</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>filename
</em> </td><td>name of the parameters file.
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>num
</em> </td><td>number of variable arguments
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>param
</em> </td><td>parameters to save
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:
</b></dt><dd>0 if success, -1 if Error (file not found, file structure problem)
</dd></dl>
</td>
</tr>
</table>
<small>Generated with
<a href="http://www.doxygen.org/index.html">Doxygen
</a><br>
Copyright © 2004-2006. HIT Lab NZ. All Rights Reserved.
</small>
</body>
</html>