Figure Imposé : Suivi d'un objet coloré. More...
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <highgui.h>
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
Go to the source code of this file.
Macros | |
#define | SFML |
Programme en mode affichage interface utilisateur. | |
#define | KIRBY |
Programme en mode suivi de Kirby (Objet rose) | |
#define | JEU 0.15 |
Coefficient de tolérance pour le suivi d'objet. | |
Functions | |
void | maj_angle (int vecX, int vecY, int rayon, double *angle) |
Met à jour angle selon la distance entre le centre de la caméra et la cible, avec un tolérance circulaire définie par rayon. More... | |
int | ajust_pos (int pos, int ref) |
permet d'éviter des positions supérieures à ref considérées comme aberrantes. More... | |
void | controle_moteur (double *angle) |
Fonction d'envoie des angles aux moteurs. More... | |
int | limite_moteur (int val_pwm) |
Fonction qui vérifie que les valeurs envoyees aux moteurs sont correctes. More... | |
void | config (int *LowH, int *HighH, int *LowS, int *HighS, int *LowV, int *HighV) |
Fonction d'affichage du panneau de configuration de la couleur à suivre. More... | |
void | affichage_config (IplImage *frame, IplImage *HSV, IplImage *Binaire) |
Fonction d'affichage du flux vidéo, du flux en HSV et de sa binarisation. More... | |
void | Affichage_Tracking (IplImage *frame, int posX, int posY, int width, int height) |
Fonction d'affichage des informations de suivi. More... | |
void | Position_moy (IplImage *Binaire, int *posX, int *posY) |
Effectue le baricentre des pixels d'une image binaire pour obtenir la postion de l'objet. More... | |
void | traitement (IplImage *frame, IplImage *HSV, IplImage *Binaire, int LowH, int HighH, int LowS, int HighS, int LowV, int HighV) |
Effectue une binarisation de frame en fonction des bornes HSV. More... | |
int | main (int argc, char *argv[]) |
Entrée du programme. More... | |
Figure Imposé : Suivi d'un objet coloré.
Suivie d'un Kirby (Rose) ou d'une étoile (Jaune) par une caméra avec mode interface utilisateur ou configuration
Definition in file KirbyTrack.c.
void affichage_config | ( | IplImage * | frame, |
IplImage * | HSV, | ||
IplImage * | Binaire | ||
) |
Fonction d'affichage du flux vidéo, du flux en HSV et de sa binarisation.
frame | image contenant la frame capturé par la caméra |
HSV | image contenant l'image passé en HSV |
Binaire | image contenant l'image binarisée |
Definition at line 505 of file KirbyTrack.c.
void Affichage_Tracking | ( | IplImage * | frame, |
int | posX, | ||
int | posY, | ||
int | width, | ||
int | height | ||
) |
Fonction d'affichage des informations de suivi.
Dessine sur frame la zone de tolérance de suivie au centre de l'image et le curseur de position de l'objet ayant pour coordonées posX et posY
frame | image a modifier |
posX | composante X du curseur a dessiner |
posY | composante Y du curseur a dessiner |
width | largeur (en pixel) de frame |
height | hauteur (en pixel) de frame |
Definition at line 517 of file KirbyTrack.c.
int ajust_pos | ( | int | pos, |
int | ref | ||
) |
permet d'éviter des positions supérieures à ref considérées comme aberrantes.
retourne 0 si la position est supérieure à ref.
pos | position à tester |
ref | position de référence |
Definition at line 415 of file KirbyTrack.c.
void config | ( | int * | LowH, |
int * | HighH, | ||
int * | LowS, | ||
int * | HighS, | ||
int * | LowV, | ||
int * | HighV | ||
) |
Fonction d'affichage du panneau de configuration de la couleur à suivre.
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.
LowH | Valeur basse de la plage de HUE suivie. |
HighH | Valeur haute de la plage de HUE suivie. |
LowS | Valeur basse de la plage de SATURATION suivie. |
HighS | Valeur haute de la plage de SATURATION suivie. |
LowV | Valeur basse de la plage de VALUE suivie. |
HighV | Valeur haute de la plage de VALUE suivie. |
Definition at line 490 of file KirbyTrack.c.
void controle_moteur | ( | double * | angle | ) |
Fonction d'envoie des angles aux moteurs.
angle | tableau des angles moteurs |
Definition at line 433 of file KirbyTrack.c.
int limite_moteur | ( | int | val_pwm | ) |
Fonction qui vérifie que les valeurs envoyees aux moteurs sont correctes.
Valeur minimale = 30, valeur maximale = 130 (déterminées expérimentalement)
val_pwm | valeur pwm dont on veut vérifier la valeur |
Definition at line 420 of file KirbyTrack.c.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Entrée du programme.
Definition at line 162 of file KirbyTrack.c.
void maj_angle | ( | int | vecX, |
int | vecY, | ||
int | rayon, | ||
double * | angle | ||
) |
Met à jour angle selon la distance entre le centre de la caméra et la cible, avec un tolérance circulaire définie par rayon.
vecX | composante X de la cible par rapport au centre de l'image |
vecY | composante Y de la cible par rapport au centre de l'image |
rayon | tolérance avant changement d'angle |
angle | tableau contenant les deux angles à modifier |
Definition at line 391 of file KirbyTrack.c.
void Position_moy | ( | IplImage * | Binaire, |
int * | posX, | ||
int * | posY | ||
) |
Effectue le baricentre des pixels d'une image binaire pour obtenir la postion de l'objet.
Binaire | image binarisée (matrice de 0 ou de 1) |
posX | contient la composante X du barycentre |
posY | contient la composante Y du barycentre |
Definition at line 474 of file KirbyTrack.c.
void traitement | ( | IplImage * | frame, |
IplImage * | HSV, | ||
IplImage * | Binaire, | ||
int | LowH, | ||
int | HighH, | ||
int | LowS, | ||
int | HighS, | ||
int | LowV, | ||
int | HighV | ||
) |
Effectue une binarisation de frame en fonction des bornes HSV.
Passe la frame en HSV puis binarise l'image en fonction des bornes LowH, HighH, LowS, HighS, LowV, HighV
frame | image contenant la frame capturé par la caméra |
HSV | image contenant l'image passé en HSV au terme de la fonction |
Binaire | image contenant l'image binarisée au terme de la fonction |
LowH | Valeur basse de la plage de HUE suivie. |
HighH | Valeur haute de la plage de HUE suivie. |
LowS | Valeur basse de la plage de SATURATION suivie. |
HighS | Valeur haute de la plage de SATURATION suivie. |
LowV | Valeur basse de la plage de VALUE suivie. |
HighV | Valeur haute de la plage de VALUE suivie. |
Definition at line 453 of file KirbyTrack.c.