* Compression d'images par surfaces de couleur unies ** Présentation du projet Ce projet est un projet de cinquième semestre en faculté d’Informatique à l’Université 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 qu’un compilateur C (testé avec ~gcc~ et ~clang~), ~cmake~ (version ~2.8~ minimum) et ~make~. Deux options sont disponibles : Soit on peut utiliser le ~Makefile~ disponible à la racine du dépôt et exécuter l’une des deux commandes suivantes : #+BEGIN_SRC shell $ make debug # pour compiler la version de débug du projet $ make release # pour compiler la version de release du projet #+END_SRC Soit on utilise la méthode un peu plus manuelle : #+BEGIN_SRC shell $ mkdir -p build bin debug $ cd build $ cmake --DCMAKE_BUILD_TYPE=Debug .. # si on veut compiler la version de débug du projet $ cmake --DCMAKE_BUILD_TYPE=Release .. # si on veut compiler la version de release du projet $ make #+END_SRC Dans les deux cas, l’exécutable se retrouvera soit dans ~bin/surfaces-unies~ en cas de compilation en release, soit dans ~debug/surfaces-unies~ en cas de compilation en débug. Pour recompiler le projet au besoin, vous trouverez le makefile généré par CMake dans le répertoire ~build/~ et y exécuter ~make~. ** Utilisation du logiciel Vous pouvez obtenir de l’aide sur l’utilisation 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 d’entré, 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 d’entrée doit être compressé - ~-u / --uncompress~ :: indique au logiciel que le fichier d’entrée doit être décompressé - ~-h / --help~ :: affiche le message d’aide du logiciel - ~-t / --tolerance~ :: *VALEUR PAR DÉFAUT : 0* tolérance de différence de couleurs en pourcentage afin de créer une compression avec pertes si la valeur est non-nulle.