Go to file
Phuntsok Drak-pa a0b7b5e7cb Added contributing guide 2018-11-12 15:22:53 +01:00
doc Issue kinda solved, now onto the next issues 2018-11-12 14:44:52 +01:00
img added images for tests 2018-11-07 00:43:38 +01:00
src Added README 2018-11-12 15:17:02 +01:00
.gitignore added command line arguments handler 2018-10-31 11:40:47 +01:00
.gitlab-ci.yml great, had to remove `sudo` 2018-11-11 18:43:41 +01:00
CMakeLists.txt fixed... kinda? Works with valgrind, not vanilla 2018-11-11 18:17:33 +01:00
CONTRIBUTING.org Added contributing guide 2018-11-12 15:22:53 +01:00
LICENSE Add LICENSE 2018-11-05 16:01:16 +00:00
Makefile make clean makes repository cleaner (sounds like an ad) 2018-10-31 11:43:45 +01:00
README.org Added README 2018-11-12 15:17:02 +01:00
TODOs.org coding style + initial compression algorithm 2018-11-06 16:08:20 +01:00

README.org

Compression d'images par surfaces de couleur unies

Présentation du projet

Ce projet est un projet de cinquième semestre en faculté dInformatique à lUniversité Vincennes-Saint-Denis (Paris VIII). Il consiste à compresser des images via la détection de surfaces de couleur unie et leur stockage dans le fichier compressé. Il est à noter que cet algorithme sera particulièrement efficace pour les images ne contenant que peu de couleurs différentes tels que des images de bandes-dessinées, et sera au contraire très peu performant voire contre-productif pour des images contenant beaucoup de couleurs différentes telles que des photographies.

Les instructions complètes données par M. Bourdin pour ce projet peuvent être trouvées à cette adresse, projet numéro 22.

Compilation du projet

Afin de compiler le projet, il faut bien évidemment avoir les outils de compilation de base tel quun compilateur C (gcc ou clang), cmake (version 2.8 minimum) et make. Un Makefile est utilisable afin de créer les fichiers nécessaires via CMake dans le bon répertoire et compiler la version voulue. Il est possible de compiler soit une version de débug avec make debug, soit une version de release avec make release ; lexécutable se trouvera respectivement dans debug/surfaces-unies ou dans bin/surfaces-unies.

Pour recompiler le projet au besoin, vous trouverez le makefile généré par CMake dans le répertoire build/.

Utilisation du logiciel

Vous pouvez obtenir de laide sur lutilisation du logiciel via la commande ./surfaces-unies --help ou ./surfaces-unies -h.

Les options disponibles pour le logiciel sont :

-i / --input
OBLIGATOIRE, doit être suivi du fichier dentré, peut être soit un fichier image ppm à compresser, soit un fichier .su généré par ce logiciel pour la décompression.
-o / --output
Suivit par le chemin vers le fichier de sortie, si le chemin indique un fichier existant, il sera écrasé par le logiciel, sinon il sera créé.
-c / --compress
PAR DÉFAUT indique au logiciel que le fichier dentrée doit être compressé
-u / --uncompress
indique au logiciel que le fichier dentrée doit être décompressé
-h / --help
affiche le message daide du logiciel

Améliorations futures

Une amélioration possible du logiciel peut être lintroduction dune option -t / --tolerance indiquant un pourcentage de tolérence pour lacceptation dune couleur dans une zone selon sa similarité à la couleur racine dune surface unie. Ainsi, une tolérance par défaut à 0% impliquerait une compression sans perte de limage, alors quune compression avec une tolérance non-nulle induirait une compression avec pertes de limage dentrée.