Go to file
2018-12-17 14:41:43 +01:00
doc documentation update 2018-11-27 15:49:24 +01:00
img removed unused test images 2018-12-10 21:00:05 +01:00
rapport added files for project presentation 2018-12-10 21:00:26 +01:00
src moved report files in dedicated folder 2018-12-03 14:54:19 +01:00
.gitattributes org-mode in langs stats 2018-12-10 21:02:44 +01:00
.gitignore updated gitignore 2018-12-17 14:41:43 +01:00
.gitlab-ci.yml Update .gitlab-ci.yml, forgot to uncomment that 2018-11-26 01:33:35 +00: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 updates on files, removed obsolete file 2018-11-27 22:36:00 +01:00
README.org Update README.org 2018-12-10 15:02:34 +00:00
run-time.sh updates on files, removed obsolete file 2018-11-27 22:36:00 +01:00

http://labs.phundrak.fr/phundrak/surfaces-unies/badges/master/pipeline.svg

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
-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.