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

  camera | Pointeur 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

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

  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

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

## 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

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

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

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