URL: https://linuxfr.org/users/dtschump/journaux/traitement-dimage-sortie-de-cimg-130 Title: [Traitement d'image] Sortie de CImg 1.3.0 Authors: David Tschumperlé Date: 2009年02月17日T19:02:32+01:00 Tags: cimg Score: 16 Après quasiment 8 mois de développement, la mouture **1.3.0** de la bibliothèque [CImg](http://cimg.sourceforge.net) est disponible. Voici en quelques mots, les caractéristiques principales de cette bibliothèque : * [CImg](http://cimg.sourceforge.net) est une bibliothèque C++, basée sur l'utilisation (basique) de _templates_. Elle définit un nombre minimal de classes (4 au total) et de fonctions permettant une manipulation aisée d'images dans un programme C++, en gérant par exemple _les entrée-sorties, l'affichage/l'interaction, le filtrage, la manipulation géométrique, le dessin de primitives, etc..._. C'est une bibliothèque **libre** et **multi-plateforme**, développée (et utilisée quotidiennement) dans [l'équipe Image](http://www.greyc.ensicaen.fr/EquipeImage/) du laboratoire de recherche (CNRS) [GREYC](http://www.greyc.ensicaen.fr), à Caen/France. Son développement a commencé fin 1999, à l'[INRIA de Sophia-Antipolis](http://www-sop.inria.fr). * [CImg](http://cimg.sourceforge.net) a été conçue avant tout dans un but de **simplicité d'utilisation**. Elle est adaptée lorsque l'on cherche, par exemple, à faire du prototypage d'algorithmes de traitement d'image. Elle est relativement **légère**, contenue principalement dans un fichier d'en-tête C++ `CImg.h` à inclure en début de source. Elle est adaptable dans le sens où elle peut utiliser des bibliothèques externes pour améliorer ses performances ou ses capacités, sans que cela ne soit obligatoire. Sa conception (quelquefois décriée) en fait une bibliothèque très facile à inclure dans vos propres réalisations. * [CImg](http://cimg.sourceforge.net) est **générique**. Ses classes permettent de manipuler aussi bien des **signaux 1D** que des **images 2D ou 3D multi-valuées** (couleurs par exemple, ou avec un nombre quelconque de composantes), ainsi que des **séquences d'images** (séquences temporelles typiquement). Les valeurs des pixels des images sont des types templates, et il est donc possible de gérer de manière transparente des images à 8 bits ou 16 bits par composante, mais aussi à valeurs flottantes. Elle est d'ailleurs l'une des rares bibliothèque capable de gérer correctement les fichiers TIFF à valeurs `float`. Il est également intéressant de souligner ce que [CImg](http://cimg.sourceforge.net) **n'est pas** : * Une bibliothèque _ultra-générique_ permettant de représenter des images à grilles non régulières, définies sur des espaces à 42 dimensions, contenant des pixels de type tenseurs d'ordre N. La généricité de [CImg](http://cimg.sourceforge.net) est limitée : on ne peut pas tellement aller au delà des séquences d'image volumiques à N composantes et à valeurs flottantes. Néanmoins, cela englobe déjà la plupart des types de données images que l'on rencontre habituellement. * Une bibliothèque à conception _conteneur - algorithmes_, comme la bibliothèque standard. Pour le traitement d'image, il y a déjà [GIL](http://opensource.adobe.com/wiki/display/gil/Generic+Image+Library) et [VIGRA](http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/) enlarge your image qui utilisent ce type de conception ayant de nombreux adeptes (souvent assimilée à la seule bonne manière de faire du beau C++, ce qui est évidemment faux). En particulier, [CImg](http://cimg.sourceforge.net) évite de définir [256 classes différentes](http://stlab.adobe.com/gil/html/annotated.html), chacune possédant 10 paramètres templates. Pas mal de nouveautés sont présentes dans cette dernière version **1.3.0**, grâce à de nombreuses contributions venant d'un peu partout dans le monde. On pourra en particulier citer : * L'apparition de [**G'MIC**](http://gmic.sourceforge.net) et du [plug-in pour GIMP](http://gmic.sourceforge.net/gimp.shtml), qui est basé sur [CImg](http://cimg.sourceforge.net) et qui permet de créer des filtres ou des effets personnalisés à l'aide d'un interpréteur de macros de traitement d'images. [G'MIC](http://gmic.sourceforge.net) est déjà sorti il y a quelques semaines, en utilisant une version béta de [CImg](http://cimg.sourceforge.net) 1.3.0. * La prise en charge de la bibliothèque [FFMPEG](http://ffmpeg.org/) pour la **lecture/écriture native de fichiers vidéos** dans [CImg](http://cimg.sourceforge.net). * L'amélioration du plug-in [**GREYCstoration**](http://cimg.sourceforge.net/greycstoration/) pour GIMP, permettant entre-autre de traiter seulement certaines caractéristiques des images (luminance / chrominance). C'est probablement la dernière version de GREYCstoration à sortir, puisque [G'MIC](http://gmic.sourceforge.net) contient lui-même ces fonctionnalités, et qu'il est beaucoup plus évolutif, de par sa conception même. * Une fonction de visualisation pratique pour l'affichage et l'exploration de signaux 1D. * Et bien sûr, de nombreuses corrections de bugs.... Voilà ! Donc, si vous êtes intéressés par le C++ et le traitement d'image, vous pouvez récupérer cette dernière version **1.3.0** de [CImg](http://cimg.sourceforge.net), disponible en _.zip_, _.tar.gz_, ou en paquet debian, avec éventuellement les exemples pré-compilés pour les version 32 ou 64 bits de votre OS favori. Les exemples permettent de voir rapidement ce que [CImg](http://cimg.sourceforge.net) est capable de faire en quelques lignes seulement. Pour finir, voici quelques liens utiles illustrant quelques [CImg](http://cimg.sourceforge.net)-itudes : * [Copies d'écrans des exemples](http://cimg.sourceforge.net/screenshots.shtml) fournis dans l'archive de [CImg](http://cimg.sourceforge.net). * [Une vidéo](http://cimg.sourceforge.net/img/video_cimgdemo.html) du programme de démonstration principal d'utilisation de [CImg](http://cimg.sourceforge.net). Elle montre de nombreux effets (le plupart, écrits en quelques lignes), qui illustrent les différentes capacités de la bibliothèque. * [Un tutorial](http://cimg.sourceforge.net/reference/group__cimg__tutorial.html) montrant comment faire un premier code avec [CImg](http://cimg.sourceforge.net). * [Des slides complets de présentation](http://cimg.sourceforge.net/CImg_slides.pdf) de la bibliothèque, pour se familiariser avec [CImg](http://cimg.sourceforge.net) sans se fatiguer. * [Quelques effets](http://gmic.sourceforge.net/gallery.shtml) réalisés avec [G'MIC](http://gmic.sourceforge.net), via les fonctionnalités de [CImg](http://cimg.sourceforge.net). * [Quelques résultats obtenus par GREYCstoration](http://cimg.sourceforge.net/greycstoration/demonstration.shtml), via les fonctionnalités de [CImg](http://cimg.sourceforge.net). Merci pour votre attention !