You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Phuntsok Drak-pa a8b16be07d
some comments
1 year ago
doc documentation update 1 year ago
img removed unused test images 1 year ago
rapport added files for project presentation 1 year ago
src some comments 1 year ago
.gitattributes org-mode in langs stats 1 year ago
.gitignore updated gitignore 1 year ago
.gitlab-ci.yml Update .gitlab-ci.yml, forgot to uncomment that 1 year ago
CMakeLists.txt fixed... kinda? Works with valgrind, not vanilla 1 year ago
CONTRIBUTING.org Added contributing guide 1 year ago
LICENSE Add LICENSE 1 year ago
Makefile updates on files, removed obsolete file 1 year ago
README.org Update README.org 1 year ago
run-time.sh updates on files, removed obsolete file 1 year ago

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é 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 à 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 :

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