surfaces-unies/README.org

29 lines
2.8 KiB
Org Mode
Raw Normal View History

2018-11-12 14:17:02 +00:00
* 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 [[http://www.ai.univ-paris8.fr/~jj/Cours/Algo/AA18.html#projets][à 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.