2018-11-12 13:25:24 +00:00
|
|
|
|
/**
|
2018-11-24 21:41:29 +00:00
|
|
|
|
* \file compress.h
|
2018-11-12 13:25:24 +00:00
|
|
|
|
* \brief Déclaration pour la (dé)compression d’images
|
|
|
|
|
*/
|
|
|
|
|
|
2018-11-24 20:58:55 +00:00
|
|
|
|
#ifndef SRC_COMPRESS_H_
|
|
|
|
|
#define SRC_COMPRESS_H_
|
2018-11-06 15:08:20 +00:00
|
|
|
|
|
2018-11-12 13:25:24 +00:00
|
|
|
|
#include "ppm.h"
|
2018-11-06 15:08:20 +00:00
|
|
|
|
|
2018-11-26 01:28:15 +00:00
|
|
|
|
#define DEFAULT_COMPRESSED_NAME "output.su"
|
|
|
|
|
|
2018-11-12 13:25:24 +00:00
|
|
|
|
/// Teste l’éligibilité d’un pixel à une zone
|
2018-11-26 01:28:15 +00:00
|
|
|
|
int32_t sameColor(Pixel *t_pixel, Zone *t_zone);
|
2018-11-12 13:25:24 +00:00
|
|
|
|
/// Ajoute un pixel et ses pixels connexes à une zone
|
2018-11-24 20:58:55 +00:00
|
|
|
|
void addPixelToSelectedZone(Image *t_img, int64_t t_idx, Zone *t_zone);
|
2018-11-24 15:35:33 +00:00
|
|
|
|
/// Sélectionne la zone correspondant à la couleur d'un pixel
|
2018-11-24 20:58:55 +00:00
|
|
|
|
void chooseZoneForPixel(Image *t_img, int64_t t_idx, darray *zones);
|
2018-11-24 15:35:33 +00:00
|
|
|
|
/// Créé les zones d'une image
|
2018-11-21 09:46:01 +00:00
|
|
|
|
darray *imgToZones(Image *t_img);
|
2018-11-26 01:28:15 +00:00
|
|
|
|
/// Écrit tous les \ref Segment d’une zone dans le fichier de sortie
|
|
|
|
|
void write_segments(FILE *t_output, darray *t_segments);
|
|
|
|
|
/// Écrit les données compressées dans le fichier de sortie
|
|
|
|
|
void write_compressed_file(Image *t_img, FILE *t_output, darray *t_zones);
|
2018-11-24 15:35:33 +00:00
|
|
|
|
/// Compresse l'image d'entrée
|
2018-11-27 22:59:04 +00:00
|
|
|
|
void compress(const char *t_input_file, const char *t_output_file,
|
|
|
|
|
int32_t tolerance);
|
2018-11-06 15:08:20 +00:00
|
|
|
|
|
2018-11-24 20:58:55 +00:00
|
|
|
|
#endif /* SRC_COMPRESS_H_ */
|