surfaces-unies/README.org
2018-11-20 15:15:45 +01:00

3.3 KiB
Raw Blame History

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 (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 lune des deux commandes suivantes :

  $ make debug # pour compiler la version de débug du projet
  $ make release # pour compiler la version de release du projet

Soit on utilise la méthode un peu plus manuelle :

  $ 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

Dans les deux cas, lexé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 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.