![]() |
CamAdventure
|
Bibliothèque, Headers et Documentation des fonctions. 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.
Classes | |
struct | _face |
Macros | |
#define | JEU 0.15 |
Coefficient de tolérance pour le suivi d'objet. | |
#define | SFML |
Programme en mode affichage interface utilisateur. | |
#define | KIRBY |
Programme en mode suivi de Kirby (Objet rose) | |
#define | MAX_FACE 2 |
Nombre maximum de faces traitées. | |
Typedefs | |
typedef struct _face | face |
typedef face * | pface |
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 | image_CV2SFML (IplImage *imcv, sf::Image imFlux) |
Convertit une image opencv (IplImage) en une image SFML (sf::Image) More... | |
CvHaarClassifierCascade * | init_cascade () |
Charge les fichiers cascades pour la reconnaissance faciale. More... | |
void | detect_and_draw (IplImage *img, CvHaarClassifierCascade *cascade, face **tab_face) |
Détecte et renvoie un rectangle pour chaque visage sur l'image. More... | |
void | get_color (IplImage *image, face *rec_face, int *BGR) |
Bibliothèque, Headers et Documentation des fonctions.
Definition in file fonction.h.
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 151 of file fonction.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 163 of file fonction.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 36 of file fonction.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 136 of file fonction.c.
void controle_moteur | ( | double * | angle | ) |
Fonction d'envoie des angles aux moteurs.
angle | tableau des angles moteurs |
Definition at line 54 of file fonction.c.
void detect_and_draw | ( | IplImage * | img, |
CvHaarClassifierCascade * | cascade, | ||
face ** | tab_face | ||
) |
Détecte et renvoie un rectangle pour chaque visage sur l'image.
img | Image sur laquelle on veut détecter des visages |
cascade | structure contenant les données pour alimenter l'algorithme de reconnaissance d'image |
tab_face | tableau des faces détectées |
Definition at line 200 of file fonction.c.
int image_CV2SFML | ( | IplImage * | imcv, |
sf::Image | imFlux | ||
) |
Convertit une image opencv (IplImage) en une image SFML (sf::Image)
imcv | image OpenCv à convertir |
imFlux | image SFML convertie en sortie de la fonction |
Definition at line 74 of file fonction.c.
CvHaarClassifierCascade* init_cascade | ( | ) |
Charge les fichiers cascades pour la reconnaissance faciale.
fichier(s) chargé(s) : "haarcascade_frontalface_alt.xml"
Definition at line 182 of file fonction.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 41 of file fonction.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 12 of file fonction.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 120 of file fonction.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 99 of file fonction.c.