LivingMachine/Doxy/html/fonction_8h.html
AntoineUPMC 8abf618e5b Bip
2017-05-31 10:13:39 +02:00

782 lines
40 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>The Camera of Zelda: /nfs/home/sasl/eleves/rob/3408212/rob3-projetsinfo-g15-2017/Code/fonction.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="linku.jpeg"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">The Camera of Zelda
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('fonction_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">fonction.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Bibliothèque, Headers et Documentation des fonctions.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;cv.h&gt;</code><br/>
<code>#include &lt;highgui.h&gt;</code><br/>
<code>#include &lt;SFML/Audio.hpp&gt;</code><br/>
<code>#include &lt;SFML/Graphics.hpp&gt;</code><br/>
<code>#include &lt;SFML/Window.hpp&gt;</code><br/>
</div>
<p><a href="fonction_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__face.html">_face</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:afb63dbc6e533233f41d03e8b8a3bc570"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb63dbc6e533233f41d03e8b8a3bc570"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#afb63dbc6e533233f41d03e8b8a3bc570">JEU</a>&#160;&#160;&#160;0.15</td></tr>
<tr class="memdesc:afb63dbc6e533233f41d03e8b8a3bc570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coefficient de tolérance pour le suivi d'objet. <br/></td></tr>
<tr class="separator:afb63dbc6e533233f41d03e8b8a3bc570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28c9f30d423e9c1ca6fa15a0ec9a0032"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28c9f30d423e9c1ca6fa15a0ec9a0032"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a28c9f30d423e9c1ca6fa15a0ec9a0032">SFML</a></td></tr>
<tr class="memdesc:a28c9f30d423e9c1ca6fa15a0ec9a0032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programme en mode affichage interface utilisateur. <br/></td></tr>
<tr class="separator:a28c9f30d423e9c1ca6fa15a0ec9a0032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9270f8e0b3866a58cfa3a7173da21abd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9270f8e0b3866a58cfa3a7173da21abd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a9270f8e0b3866a58cfa3a7173da21abd">KIRBY</a></td></tr>
<tr class="memdesc:a9270f8e0b3866a58cfa3a7173da21abd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Programme en mode suivi de Kirby (Objet rose) <br/></td></tr>
<tr class="separator:a9270f8e0b3866a58cfa3a7173da21abd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12190c71ff3acb9694bb2f782a1dfcdb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12190c71ff3acb9694bb2f782a1dfcdb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a12190c71ff3acb9694bb2f782a1dfcdb">MAX_FACE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a12190c71ff3acb9694bb2f782a1dfcdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nombre maximum de faces traitées. <br/></td></tr>
<tr class="separator:a12190c71ff3acb9694bb2f782a1dfcdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aa1b85a6249980781b9354232e9bd2408"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b85a6249980781b9354232e9bd2408"></a>
typedef struct <a class="el" href="struct__face.html">_face</a>&#160;</td><td class="memItemRight" valign="bottom"><b>face</b></td></tr>
<tr class="separator:aa1b85a6249980781b9354232e9bd2408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77e86465703f18d4b5dc36ce5c34d609"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77e86465703f18d4b5dc36ce5c34d609"></a>
typedef <a class="el" href="structface.html">face</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>pface</b></td></tr>
<tr class="separator:a77e86465703f18d4b5dc36ce5c34d609"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a93cca84f54fe35dc9ad87eac3583889b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a93cca84f54fe35dc9ad87eac3583889b">maj_angle</a> (int vecX, int vecY, int rayon, double *angle)</td></tr>
<tr class="memdesc:a93cca84f54fe35dc9ad87eac3583889b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Met à jour <em>angle</em> selon la distance entre le centre de la caméra et la cible, avec un tolérance circulaire définie par rayon. <a href="#a93cca84f54fe35dc9ad87eac3583889b">More...</a><br/></td></tr>
<tr class="separator:a93cca84f54fe35dc9ad87eac3583889b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae89e5fc7460ea890fa61d54fd209c1ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#ae89e5fc7460ea890fa61d54fd209c1ae">ajust_pos</a> (int pos, int ref)</td></tr>
<tr class="memdesc:ae89e5fc7460ea890fa61d54fd209c1ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">permet d'éviter des positions supérieures à ref considérées comme aberrantes. <a href="#ae89e5fc7460ea890fa61d54fd209c1ae">More...</a><br/></td></tr>
<tr class="separator:ae89e5fc7460ea890fa61d54fd209c1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3f512a54511a63b30a8967077736766"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#ad3f512a54511a63b30a8967077736766">controle_moteur</a> (double *angle)</td></tr>
<tr class="memdesc:ad3f512a54511a63b30a8967077736766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fonction d'envoie des angles aux moteurs. <a href="#ad3f512a54511a63b30a8967077736766">More...</a><br/></td></tr>
<tr class="separator:ad3f512a54511a63b30a8967077736766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9397b95e9279b0b9cd371c9a2b4514a2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a9397b95e9279b0b9cd371c9a2b4514a2">limite_moteur</a> (int val_pwm)</td></tr>
<tr class="memdesc:a9397b95e9279b0b9cd371c9a2b4514a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fonction qui vérifie que les valeurs envoyees aux moteurs sont correctes. <a href="#a9397b95e9279b0b9cd371c9a2b4514a2">More...</a><br/></td></tr>
<tr class="separator:a9397b95e9279b0b9cd371c9a2b4514a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcdd0544c8eb462cd2835ec99fa0f181"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#adcdd0544c8eb462cd2835ec99fa0f181">config</a> (int *LowH, int *HighH, int *LowS, int *HighS, int *LowV, int *HighV)</td></tr>
<tr class="memdesc:adcdd0544c8eb462cd2835ec99fa0f181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fonction d'affichage du panneau de configuration de la <em>couleur</em> à suivre. <a href="#adcdd0544c8eb462cd2835ec99fa0f181">More...</a><br/></td></tr>
<tr class="separator:adcdd0544c8eb462cd2835ec99fa0f181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc438fce8178d1d5aac4595f19529275"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#acc438fce8178d1d5aac4595f19529275">affichage_config</a> (IplImage *frame, IplImage *HSV, IplImage *Binaire)</td></tr>
<tr class="memdesc:acc438fce8178d1d5aac4595f19529275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fonction d'affichage du flux vidéo, du flux en HSV et de sa binarisation. <a href="#acc438fce8178d1d5aac4595f19529275">More...</a><br/></td></tr>
<tr class="separator:acc438fce8178d1d5aac4595f19529275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91b1b1daf28d90b5299a9a0486f5bdf1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a91b1b1daf28d90b5299a9a0486f5bdf1">Affichage_Tracking</a> (IplImage *frame, int posX, int posY, int width, int height)</td></tr>
<tr class="memdesc:a91b1b1daf28d90b5299a9a0486f5bdf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fonction d'affichage des informations de suivi. <a href="#a91b1b1daf28d90b5299a9a0486f5bdf1">More...</a><br/></td></tr>
<tr class="separator:a91b1b1daf28d90b5299a9a0486f5bdf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3e9405c4ebaa936308670c050285ae1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#ac3e9405c4ebaa936308670c050285ae1">Position_moy</a> (IplImage *Binaire, int *posX, int *posY)</td></tr>
<tr class="memdesc:ac3e9405c4ebaa936308670c050285ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Effectue le baricentre des pixels d'une image binaire pour obtenir la postion de l'objet. <a href="#ac3e9405c4ebaa936308670c050285ae1">More...</a><br/></td></tr>
<tr class="separator:ac3e9405c4ebaa936308670c050285ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96b1dd5c66492425a00921b6eaaacc89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a96b1dd5c66492425a00921b6eaaacc89">traitement</a> (IplImage *frame, IplImage *HSV, IplImage *Binaire, int LowH, int HighH, int LowS, int HighS, int LowV, int HighV)</td></tr>
<tr class="memdesc:a96b1dd5c66492425a00921b6eaaacc89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Effectue une binarisation de <em>frame</em> en fonction des bornes <em>HSV</em>. <a href="#a96b1dd5c66492425a00921b6eaaacc89">More...</a><br/></td></tr>
<tr class="separator:a96b1dd5c66492425a00921b6eaaacc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2cc53a42ff2450413bbb199bb4c1072"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#ad2cc53a42ff2450413bbb199bb4c1072">image_CV2SFML</a> (IplImage *imcv, sf::Image imFlux)</td></tr>
<tr class="memdesc:ad2cc53a42ff2450413bbb199bb4c1072"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convertit une image opencv (IplImage) en une image SFML (sf::Image) <a href="#ad2cc53a42ff2450413bbb199bb4c1072">More...</a><br/></td></tr>
<tr class="separator:ad2cc53a42ff2450413bbb199bb4c1072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a942c8619bb73ca7c3bb7e6fcf1875294"><td class="memItemLeft" align="right" valign="top">CvHaarClassifierCascade *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#a942c8619bb73ca7c3bb7e6fcf1875294">init_cascade</a> ()</td></tr>
<tr class="memdesc:a942c8619bb73ca7c3bb7e6fcf1875294"><td class="mdescLeft">&#160;</td><td class="mdescRight">Charge les fichiers cascades pour la reconnaissance faciale. <a href="#a942c8619bb73ca7c3bb7e6fcf1875294">More...</a><br/></td></tr>
<tr class="separator:a942c8619bb73ca7c3bb7e6fcf1875294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9c63795209f514f5d3554bc9450b8de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fonction_8h.html#ab9c63795209f514f5d3554bc9450b8de">detect_and_draw</a> (IplImage *img, CvHaarClassifierCascade *cascade, <a class="el" href="structface.html">face</a> **tab_face)</td></tr>
<tr class="memdesc:ab9c63795209f514f5d3554bc9450b8de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Détecte et renvoie un rectangle pour chaque visage sur l'image. <a href="#ab9c63795209f514f5d3554bc9450b8de">More...</a><br/></td></tr>
<tr class="separator:ab9c63795209f514f5d3554bc9450b8de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6544632f3a5db05caf6d23b1f8820880"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6544632f3a5db05caf6d23b1f8820880"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>get_color</b> (IplImage *image, <a class="el" href="structface.html">face</a> *rec_face, int *BGR)</td></tr>
<tr class="separator:a6544632f3a5db05caf6d23b1f8820880"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Bibliothèque, Headers et Documentation des fonctions. </p>
<dl class="section author"><dt>Author</dt><dd>Jacques / Antoine </dd></dl>
<dl class="section date"><dt>Date</dt><dd>avril - mai 2017 </dd></dl>
<p>Definition in file <a class="el" href="fonction_8h_source.html">fonction.h</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="acc438fce8178d1d5aac4595f19529275"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void affichage_config </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>HSV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>Binaire</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fonction d'affichage du flux vidéo, du flux en HSV et de sa binarisation. </p>
<dl class="section author"><dt>Author</dt><dd>Antoine </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame</td><td>image contenant la frame capturé par la caméra </td></tr>
<tr><td class="paramname">HSV</td><td>image contenant l'image passé en HSV </td></tr>
<tr><td class="paramname">Binaire</td><td>image contenant l'image binarisée </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00151">151</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="a91b1b1daf28d90b5299a9a0486f5bdf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Affichage_Tracking </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>posX</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>posY</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fonction d'affichage des informations de suivi. </p>
<p>Dessine sur <em>frame</em> la zone de tolérance de suivie au centre de l'image et le curseur de position de l'objet ayant pour coordonées <em>posX</em> et <em>posY</em> </p>
<dl class="section author"><dt>Author</dt><dd>Antoine </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame</td><td>image a modifier </td></tr>
<tr><td class="paramname">posX</td><td>composante X du curseur a dessiner </td></tr>
<tr><td class="paramname">posY</td><td>composante Y du curseur a dessiner </td></tr>
<tr><td class="paramname">width</td><td>largeur (en <em>pixel</em>) de <em>frame</em> </td></tr>
<tr><td class="paramname">height</td><td>hauteur (en <em>pixel</em>) de <em>frame</em> </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00163">163</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="ae89e5fc7460ea890fa61d54fd209c1ae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ajust_pos </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>ref</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>permet d'éviter des positions supérieures à ref considérées comme aberrantes. </p>
<p>retourne 0 si la position est supérieure à ref. </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pos</td><td>position à tester </td></tr>
<tr><td class="paramname">ref</td><td>position de référence </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>renvoie la position corrigée </dd></dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00036">36</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="adcdd0544c8eb462cd2835ec99fa0f181"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void config </td>
<td>(</td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>LowH</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>HighH</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>LowS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>HighS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>LowV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>HighV</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fonction d'affichage du panneau de configuration de la <em>couleur</em> à suivre. </p>
<dl class="section author"><dt>Author</dt><dd>Antoine</dd></dl>
<p>Panneau de configuration comprenant 6 slidebarres pour configurer la couleur suivie en HSV. La fonction modifie les valeurs limites LowH/ HighH de la plage HUE, LowS/HighS de la plage SATURATION, LowV/HighV de la plage VALUE.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">LowH</td><td>Valeur <em>basse</em> de la plage de HUE suivie. </td></tr>
<tr><td class="paramname">HighH</td><td>Valeur <em>haute</em> de la plage de HUE suivie. </td></tr>
<tr><td class="paramname">LowS</td><td>Valeur <em>basse</em> de la plage de SATURATION suivie. </td></tr>
<tr><td class="paramname">HighS</td><td>Valeur <em>haute</em> de la plage de SATURATION suivie. </td></tr>
<tr><td class="paramname">LowV</td><td>Valeur <em>basse</em> de la plage de VALUE suivie. </td></tr>
<tr><td class="paramname">HighV</td><td>Valeur <em>haute</em> de la plage de VALUE suivie. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00136">136</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="ad3f512a54511a63b30a8967077736766"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void controle_moteur </td>
<td>(</td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>angle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fonction d'envoie des angles aux moteurs. </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">angle</td><td>tableau des angles moteurs </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00054">54</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="ab9c63795209f514f5d3554bc9450b8de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void detect_and_draw </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>img</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CvHaarClassifierCascade *&#160;</td>
<td class="paramname"><em>cascade</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structface.html">face</a> **&#160;</td>
<td class="paramname"><em>tab_face</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Détecte et renvoie un rectangle pour chaque visage sur l'image. </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">img</td><td>Image sur laquelle on veut détecter des visages </td></tr>
<tr><td class="paramname">cascade</td><td>structure contenant les données pour alimenter l'algorithme de reconnaissance d'image </td></tr>
<tr><td class="paramname">tab_face</td><td>tableau des faces détectées </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00200">200</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="ad2cc53a42ff2450413bbb199bb4c1072"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int image_CV2SFML </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>imcv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">sf::Image&#160;</td>
<td class="paramname"><em>imFlux</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convertit une image opencv (IplImage) en une image SFML (sf::Image) </p>
<dl class="section author"><dt>Author</dt><dd>Antoine </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">imcv</td><td>image OpenCv à convertir </td></tr>
<tr><td class="paramname">imFlux</td><td>image SFML convertie en sortie de la fonction </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 si la convertion est réussie </dd></dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000002">Bug:</a></b></dt><dd>A debugger ! Inutilisable en l'état </dd></dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00074">74</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="a942c8619bb73ca7c3bb7e6fcf1875294"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CvHaarClassifierCascade* init_cascade </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Charge les fichiers cascades pour la reconnaissance faciale. </p>
<p>fichier(s) chargé(s) : "haarcascade_frontalface_alt.xml" </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Renvoie la cascade </dd></dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00182">182</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="a9397b95e9279b0b9cd371c9a2b4514a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int limite_moteur </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>val_pwm</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fonction qui vérifie que les valeurs envoyees aux moteurs sont correctes. </p>
<p>Valeur minimale = 30, valeur maximale = 130 (déterminées expérimentalement) </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">val_pwm</td><td>valeur pwm dont on veut vérifier la valeur </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>renvoie l'angle corrigée </dd></dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00041">41</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="a93cca84f54fe35dc9ad87eac3583889b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void maj_angle </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vecX</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vecY</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>rayon</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>angle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Met à jour <em>angle</em> selon la distance entre le centre de la caméra et la cible, avec un tolérance circulaire définie par rayon. </p>
<dl class="section author"><dt>Author</dt><dd>Jacques </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vecX</td><td>composante X de la cible par rapport au centre de l'image </td></tr>
<tr><td class="paramname">vecY</td><td>composante Y de la cible par rapport au centre de l'image </td></tr>
<tr><td class="paramname">rayon</td><td>tolérance avant changement d'angle </td></tr>
<tr><td class="paramname">angle</td><td>tableau contenant les deux angles à modifier </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00012">12</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="ac3e9405c4ebaa936308670c050285ae1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Position_moy </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>Binaire</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>posX</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>posY</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Effectue le baricentre des pixels d'une image binaire pour obtenir la postion de l'objet. </p>
<dl class="section author"><dt>Author</dt><dd>Antoine </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Binaire</td><td>image binarisée (matrice de 0 ou de 1) </td></tr>
<tr><td class="paramname">posX</td><td>contient la composante X du barycentre </td></tr>
<tr><td class="paramname">posY</td><td>contient la composante Y du barycentre </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00120">120</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
<a class="anchor" id="a96b1dd5c66492425a00921b6eaaacc89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void traitement </td>
<td>(</td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>HSV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IplImage *&#160;</td>
<td class="paramname"><em>Binaire</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>LowH</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>HighH</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>LowS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>HighS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>LowV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>HighV</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Effectue une binarisation de <em>frame</em> en fonction des bornes <em>HSV</em>. </p>
<p>Passe la frame en HSV puis binarise l'image en fonction des bornes LowH, HighH, LowS, HighS, LowV, HighV </p>
<dl class="section author"><dt>Author</dt><dd>Antoine </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame</td><td>image contenant la frame capturé par la caméra </td></tr>
<tr><td class="paramname">HSV</td><td>image contenant l'image passé en HSV au terme de la fonction </td></tr>
<tr><td class="paramname">Binaire</td><td>image contenant l'image binarisée au terme de la fonction </td></tr>
<tr><td class="paramname">LowH</td><td>Valeur <em>basse</em> de la plage de HUE suivie. </td></tr>
<tr><td class="paramname">HighH</td><td>Valeur <em>haute</em> de la plage de HUE suivie. </td></tr>
<tr><td class="paramname">LowS</td><td>Valeur <em>basse</em> de la plage de SATURATION suivie. </td></tr>
<tr><td class="paramname">HighS</td><td>Valeur <em>haute</em> de la plage de SATURATION suivie. </td></tr>
<tr><td class="paramname">LowV</td><td>Valeur <em>basse</em> de la plage de VALUE suivie. </td></tr>
<tr><td class="paramname">HighV</td><td>Valeur <em>haute</em> de la plage de VALUE suivie. </td></tr>
</table>
</dd>
</dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000001">Bug:</a></b></dt><dd>Nécessite changement de l'utilisation de cvInRangeS sur certain PC </dd></dl>
<p>Definition at line <a class="el" href="fonction_8c_source.html#l00099">99</a> of file <a class="el" href="fonction_8c_source.html">fonction.c</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_23fdee2f6995db16c755697cdf620cf4.html">Code</a></li><li class="navelem"><a class="el" href="fonction_8h.html">fonction.h</a></li>
<li class="footer">Generated on Wed May 31 2017 09:17:28 for The Camera of Zelda by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>