Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sortie de CImg 1.3.9 et G'MIC 1.3.9.0

Posté par David Tschumperlé (page perso, ). Modéré le 29 juillet 2010.
25
Deux mises à jour simultanées de bibliothèques/logiciels libres liés au traitement d'images sont à signaler, avec la sortie de CImg (en version 1.3.9) et G'MIC (en version 1.3.9.0).

Ces deux projets, qui ont respectivement dix et deux ans d'âge, sont aujourd'hui développés et maintenus dans l'équipe IMAGE du laboratoire de recherche GREYC, unité de recherche CNRS basée à Caen, et sont distribués sous licence CeCiLL. Ils définissent un ensemble de fonctionnalités pour la manipulation de données images pixelliques génériques (images 2D, 3D, 3D+t, couleurs, multi-spectrales, à valeurs entières 8/16/32 bits ou flottantes), qui peuvent se mettre en place aussi bien dans un code C++ (avec CImg) que dans un shell/script (avec G'MIC), ou encore au travers de l'interface graphique proposé par le greffon G'MIC, dédié spécifiquement au logiciel de retouche d'images GIMP.

Le duo CImg / G'MIC couvre donc un large spectre de besoins et de profils d'utilisation, et peut intéresser potentiellement à la fois les programmeurs et les utilisateurs demandeurs d'algorithmes en traitement d'images. Ces réalisations sont disponibles pour de nombreuses plateformes, et les dernières versions en particulier pour Linux (paquets Debian / Ubuntu), Windows et Mac OS X accessibles sur les pages respectives des projets.

> Lire la suite (10 commentaires, moyenne: 2,8).   [dépêche : 6579 caractères]

CImg

C'est une bibliothèque C++ légère mais relativement complète pour le traitement des images. Elle est principalement destinée aux programmeurs C++ souhaitant concevoir ou appliquer des algorithmes agissant sur des données images de type quelconque. Elle est de ce fait basée sur des principes de programmation générique à base de templates, tout en restant simple à appréhender pour les programmeurs non gourous en C++ (ce qui la différencie de Boost/GIL d'Adobe par exemple).

CImg contient la panoplie indispensable d'outils classiques pour la manipulation des images, que ce soit pour les entrées/sorties, la visualisation (en 1D, 2D, 3D), le filtrage, les transformations géométriques, le tracé de primitives, la colorimétrie, etc. C'est une bibliothèque modulable (elle peut s'appuyer sur aucune ou plusieurs bibliothèques externes comme FFTW, ImageMagick, etc.), et extensible (l'utilisateur pouvant ajouter ses propres fonctions de traitement directement dans la bibliothèque). Elle a été pensée initialement pour une utilisation en recherche et en enseignement, en privilégiant une facilité d'installation, d'utilisation et d'intégration.

Cette nouvelle version 1.3.9 apporte son lot de corrections de bogues et d'optimisations. Peu de nouvelles fonctionnalités apparaissent, la bibliothèque étant déjà relativement fournie et mature et privilégiant la stabilité du code.

G'MIC

C'est un projet bien plus jeune (basé sur CImg), il connaît par conséquent une dynamique plus importante. Son but premier est de définir un langage de script, dédié à la réalisation de pipelines de traitement d'image ; de nombreuses nouveautés ont été récemment introduites, aussi bien dans l'optimisation/débuggage de l'interpréteur dédié, que dans l'élaboration de nouvelles commandes/fonctions de traitement disponibles (plus de 500 à ce jour).

On pourra citer les nouveautés suivantes en particulier :CImg et G'MIC sont deux outils assez complémentaires, qui permettent de nombreuses manipulations dans le domaine du traitement d'images. Ils avancent doucement dans l'univers des logiciels libres disponibles en imagerie. N'hésitez pas à tester et donner vos impressions sur ces deux projets !

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Miam-miam !

Posté par Benoît Bâlon (Jabber id, page perso, ) le 29/07/2010 à 22:04. (lien). Évalué à 2.

Avant G'MIC, j'utilisais déjà le plugin GREYC Storation pour Gimp. Il n'y a pas à dire, c'est un outil quasi incontournable ! Les nouveautés de cette version ne m'intéressent pas spécialement, mais je ne manquerai pas pour autant de la télécharger ! ^^

QUESTIONS ? :)

Posté par djibb (Jabber id, page perso, ) le 30/07/2010 à 10:19. (lien). Évalué à 6.

Alors voilà... j'ai un p'tit logiciel (que je vais bientôt releaser ;) ), qui a besoin d'afficher les images (ça c'est bon), de les rotationner (ça c'est bon aussi avec tous les formats d'images pris en compte par Qt) et de faire un spectre (je somme les intensité de chacune des colonnes puis j'affiche le graphe).

Mon problème se pose pour un format d'image spécialement dédié à l'astro le format "fits".
[FITS]

Autant j'arrive à bien l'afficher, autant j'aimerais garder la dynamique (16bits par canal. Souvent 1 seul) pour mon calcul de spectre. Mais mon calcul se spectre se fait "après" la rotation or la rotation n'est prise en compte (pour python-imaging ou Qt) que pour des images à 8 bits par canal.

Questions !! : CImg absorbe-t-il ce genre d'images en entrée ?
CImg peut-il faire une rotation d'une image de 16 bits (monochrome) et redonner en sortie un tableau ?

Video

Posté par freejeff () le 30/07/2010 à 21:46. (lien). Évalué à 4.

Je pense qu'il manque vraiment aujourd'hui un outil performant pour traiter un flux d'images tel qu'un film. Penses tu qu'il y aurait un intérêt à intégrer Gstreamer en tant que moyen d'entrée de vidéos, je m'explique.

Il existe tout un tas de pipeline possible dans gstreamer qui permettent d'acquérir des flux (mms, rtsp, file, v4l2) pour la video et le son. pouvoir utiliser cimg Cimg et G'MIC via une suite de pipe bien choisis permettrait vraiment de toucher par exemple le monde de la video.
Je sais que OpenCv a déjà commencé ce travail, mais les résultats me semblent encore limités (gros bugs sur les flux rtsp).

Dans ce cadre il y aurait deux stratégies, soit inclure gstreamer comme source de données, soit faire un plugin de G'MIC. Les deux on des avantages et des incovénients. Personnellement je trouve que gstreamer est super mais un peu trop usine à gaz, je préferais donc pouvoir utiliser directement gstreamer depuis G'MIC ou EKD.


Qu'en penses tu ?

Création de code C++ ?

Posté par Nicolas Boulay () le 02/08/2010 à 18:16. (lien). Évalué à 2.

Dans le cas d'un usage de G-MIC en prototypage, cela sera sympa d'avoir un moyen faire générer à gmic le code C++ qui correspond au filtre créer.

Cela permettrait de pouvoir intégré le code dans une application plus vaste, voir pourquoi pas avoir de meilleur performance.

--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."

Revenir en haut de page