surfaces-unies/src/compress.h

30 lines
1.0 KiB
C
Raw Permalink Normal View History

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 ()compression dimages
*/
2018-11-24 20:58:55 +00:00
#ifndef SRC_COMPRESS_H_
#define SRC_COMPRESS_H_
2018-11-12 13:25:24 +00:00
#include "ppm.h"
#define DEFAULT_COMPRESSED_NAME "output.su"
2018-11-12 13:25:24 +00:00
/// Teste léligibilité dun pixel à une zone
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
darray *imgToZones(Image *t_img);
/// Écrit tous les \ref Segment dune 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
void compress(const char *t_input_file, const char *t_output_file,
int32_t tolerance);
2018-11-24 20:58:55 +00:00
#endif /* SRC_COMPRESS_H_ */