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

Functions for image treatment. More...

#include <raspicam/raspicam_cv.h>
#include "opencv2/imgproc/imgproc.hpp"
#include <unistd.h>
#include <math.h>
Include dependency graph for image.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Position
 

Macros

#define WIDTH   480
 
#define HEIGHT   360
 

Typedefs

typedef Mat Image
 
typedef RaspiCam_Cv Camera
 
typedef Rect Arene
 
typedef vector< unsigned char > Jpg
 

Functions

int open_camera (Camera *camera)
 Ouvre une camera. More...
 
void close_camera (Camera *camera)
 Ferme la camera passé en paramètre. More...
 
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. More...
 
int detect_arena (Image *monImage, Arene *rectangle)
 Détecte une arène dans une image fournis en paramètre. More...
 
void draw_arena (Image *imgInput, Image *imgOutput, Arene *monArene)
 Dessine le plus petit rectangle contenant l'arène. More...
 
int detect_position (Image *imgInput, Position *posTriangle, Arene *monArene=NULL)
 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...
 
void compress_image (Image *imgInput, Jpg *imageCompress)
 Détecte la position d'un robot. More...
 

Detailed Description

Functions for image treatment.

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

This file use openCV2 library for picture processing. This allow to detect arena and robot.

Definition in file image.h.

Macro Definition Documentation

◆ HEIGHT

#define HEIGHT   360

Definition at line 45 of file image.h.

◆ WIDTH

#define WIDTH   480

Definition at line 44 of file image.h.

Typedef Documentation

◆ Arene

typedef Rect Arene

Definition at line 66 of file image.h.

◆ Camera

typedef RaspiCam_Cv Camera

Definition at line 58 of file image.h.

◆ Image

typedef Mat Image

Definition at line 55 of file image.h.

◆ Jpg

typedef vector<unsigned char> Jpg

Definition at line 67 of file image.h.

Function Documentation

◆ close_camera()

void close_camera ( Camera camera)

Ferme la camera passé en paramètre.

Parameters
cameraPointeur sur la camera à fermer

◆ 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.

◆ 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

◆ 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.

◆ 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

◆ 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.

◆ 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.

◆ 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.