Bibliotheques TP RT  1.0
Bibliotheque de support pour TP/RT
image.cpp File Reference

Fonctions de traitement d'image utilisable pour la détection du robot. More...

#include "image.h"
#include <iostream>
Include dependency graph for image.cpp:

Go to the source code of this file.

Functions

float calculAngle (Position *positionRobot)
 
int cropArena (Image *imgInput, Image *imgOutput, Arene *AreneInput)
 
float euclideanDist (Point &p, Point &q)
 
void draw_arena (Image *imgInput, Image *imgOutput, Arene *monArene)
 Dessine le plus petit rectangle contenant l'arène. More...
 
int open_camera (Camera *camera)
 Ouvre une camera. More...
 
void get_image (Camera *camera, Image *monImage, const char *fichier)
 Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. More...
 
void close_camera (Camera *camera)
 Ferme la camera passé en paramètre. More...
 
int detect_arena (Image *monImage, Arene *rectangle)
 Détecte une arène dans une image fournis en paramètre. More...
 
void compress_image (Image *imgInput, Jpg *imageCompress)
 Détecte la position d'un robot. More...
 
int detect_position (Image *imgInput, Position *posTriangle, Arene *monArene)
 Détecte la position d'un robot. More...
 
void draw_position (Image *imgInput, Image *imgOutput, Position *positionRobot)
 Dessine sur une image en entrée la position d'un robot et sa direction. More...
 

Detailed Description

Fonctions de traitement d'image utilisable pour la détection du robot.

Author
L.Senaneuch
Version
1.0
Date
06/06/2017

Ce fichier utilise la libraire openCV2 pour faciliter le traitement d'image dans le projet Destijl. Il permet de faciliter la détection de l'arène et la détection du robot. /!\ Attention Bien que celui-ci soit un .cpp la structure du code n'est pas sous forme d'objet.

Definition in file image.cpp.

Function Documentation

◆ calculAngle()

float calculAngle ( Position positionRobot)

Definition at line 253 of file image.cpp.

◆ close_camera()

void close_camera ( Camera camera)

Ferme la camera passé en paramètre.

Parameters
*CameraPointeur sur la camera à fermer

Definition at line 112 of file image.cpp.

◆ compress_image()

void compress_image ( Image imgInput,
Jpg imageCompress 
)

Détecte la position d'un robot.

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

Parameters
*imgInputPointeur sur l'image à sauvegarder en mémoire sous format jpg.
*imageCompressPointeur sur une image .jpg.

Definition at line 164 of file image.cpp.

◆ cropArena()

int cropArena ( Image imgInput,
Image imgOutput,
Arene AreneInput 
)

Definition at line 150 of file image.cpp.

◆ detect_arena()

int detect_arena ( Image monImage,
Arene rectangle 
)

Détecte une arène dans une image fournis en paramètre.

Parameters
*monImagePointeur sur l'image d'entrée
*rectanglePointeur sur les coordonnées du rectangles trouvé.
Returns
Retourne -1 si aucune arène n'est détectée. Sinon retourne 0

Definition at line 126 of file image.cpp.

◆ detect_position()

int detect_position ( Image imgInput,
Position posTriangle,
Arene monArene = NULL 
)

Détecte la position d'un robot.

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

Parameters
*imgInputPointeur sur l'image sur laquelle chercher la position du des robots.
*posTrianglePointeur sur un tableau de position ou seront stocké les positions des triangles détectés.
*monArenePointeur de type Arène si nécessaire d'affiner la recherche (optionnel)
Returns
Le nombre de triangles détectés.

Definition at line 170 of file image.cpp.

◆ draw_arena()

void draw_arena ( Image imgInput,
Image imgOutput,
Arene monArene 
)

Dessine le plus petit rectangle contenant l'arène.

Parameters
*imgInputPointeur sur l'image d'entrée.
*imgOutputPointeur sur l'image de sortie (image d'entrée + arène marquée)
*monArenePointeur de type Arène contenant les information à dessiner

Definition at line 51 of file image.cpp.

◆ draw_position()

void draw_position ( Image imgInput,
Image imgOutput,
Position positionRobot 
)

Dessine sur une image en entrée la position d'un robot et sa direction.

Sauvegarde l'image des coordonnées passées par positionRobot superposée à l'image d'entrée sur imgOutput.

Parameters
*imgInputPointeur sur l'image d'entrée
*imgOutputPointeur sur l'image de sortie ( image d'entrée + dessin de la position)
*positionRobotPointeur sur la structure position d'un robot.

Definition at line 244 of file image.cpp.

◆ euclideanDist()

float euclideanDist ( Point &  p,
Point &  q 
)

Definition at line 159 of file image.cpp.

◆ get_image()

void get_image ( Camera camera,
Image monImage,
const char *  fichier = NULL 
)

Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image.

La camera doit préalablement être ouverte via openCamera(...)

Parameters
*CameraPointeur sur la camera passée en entrée.
*monImagePointeur sur une image capturée.
*fichierchemin du fichier d'image
Returns
Retourne -1 si une erreur survient.

Definition at line 93 of file image.cpp.

◆ open_camera()

int open_camera ( Camera camera)

Ouvre une camera.

Met à jour le descripteur de fichier passé en paramètre pour correspondre à la camera ouverte

Parameters
*CameraPointeur d'un file descriptor d'une camera ouverte
Returns
retourne 0 si la camera a été ouverte correctement et -1 si une erreur survient.

Definition at line 58 of file image.cpp.