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

  *Camera | Pointeur 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

  *imgInput | Pointeur sur l'image à sauvegarder en mémoire sous format jpg.
  *imageCompress | Pointeur 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

  *monImage | Pointeur sur l'image d'entrée
  *rectangle | Pointeur 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

  *imgInput | Pointeur sur l'image sur laquelle chercher la position du des robots.
  *posTriangle | Pointeur sur un tableau de position ou seront stocké les positions des triangles détectés.
  *monArene | Pointeur 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

  *imgInput | Pointeur sur l'image d'entrée.
  *imgOutput | Pointeur sur l'image de sortie (image d'entrée + arène marquée)
  *monArene | Pointeur 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

  *imgInput | Pointeur sur l'image d'entrée
  *imgOutput | Pointeur sur l'image de sortie ( image d'entrée + dessin de la position)
  *positionRobot | Pointeur 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

  *Camera | Pointeur sur la camera passée en entrée.
  *monImage | Pointeur sur une image capturée.
  *fichier | chemin 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

  *Camera | Pointeur 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.