LivingMachine/Doxy/html/_kirby_track_8c.html
2017-05-23 17:15:23 +02:00

655 lines
32 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>CamAdventure: /nfs/home/sasl/eleves/rob/3408212/rob3-projetsinfo-g15-2017/Code/KirbyTrack.c 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="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">CamAdventure
</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 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>
<!-- 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>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Macros</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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_23fdee2f6995db16c755697cdf620cf4.html">Code</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">KirbyTrack.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Figure Imposé : Suivi d'un objet coloré.
<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="_kirby_track_8c_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="define-members"></a>
Macros</h2></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="_kirby_track_8c.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="_kirby_track_8c.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: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="_kirby_track_8c.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>
</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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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="_kirby_track_8c.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:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_kirby_track_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
<tr class="memdesc:a0ddf1224851353fc92bfbff6f499fa97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entrée du programme. <a href="#a0ddf1224851353fc92bfbff6f499fa97">More...</a><br/></td></tr>
<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><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>Figure Imposé : Suivi d'un objet coloré. </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>Suivie d'un Kirby (Rose) ou d'une étoile (Jaune) par une caméra avec mode interface utilisateur ou configuration </p>
<p>Definition in file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.c</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="_kirby_track_8c_source.html#l00505">505</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00517">517</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00415">415</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00490">490</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00433">433</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00420">420</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.c</a>.</p>
</div>
</div>
<a class="anchor" id="a0ddf1224851353fc92bfbff6f499fa97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>argv</em>[]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Entrée du programme. </p>
<dl class="section author"><dt>Author</dt><dd>Antoine / Jacques </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>EXIT_SUCCESS : Arrêt normal du programme, EXIT_FAILURE : Le programme a rencontrée une erreur au cours de son execution </dd></dl>
<p>Definition at line <a class="el" href="_kirby_track_8c_source.html#l00162">162</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00391">391</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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="_kirby_track_8c_source.html#l00474">474</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.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>
<p>Definition at line <a class="el" href="_kirby_track_8c_source.html#l00453">453</a> of file <a class="el" href="_kirby_track_8c_source.html">KirbyTrack.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue May 23 2017 17:13:57 for CamAdventure by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>