Au fil des flows

29déc/118

Generer l’histogramme des couleurs d’une image

Posted by Fabien Arcellier

Même si à plusieurs reprises j'ai utilisé GDI+, je n'ai jamais eu l'occasion de m'intéresser a l'analyse d'une image. J'avais envi de découvrir ce qui se cachait derrière des outils comme Gimp, voir des outils plus complexes d'analyse.

Par curiosité, j'ai écrit une application en C# pour calculer et afficher l'histogramme de chaque canal.

Voici une capture d'écran du résultat :

Pour la construction, c'est un simple polygone. Force est de constater que la methode GetPixel de la classe Bitmap est très lente. L'alternative consiste à utiliser du code Unsafe pour manipuler celui-ci.  Voici un lien expliquant la démarche.

En prenant un peu de temps, j'aurai pu isoler la construction de l'histogramme dans une classe plutôt que lui dédier une simple méthode. En tout cas, le domaine de l'analyse parait très riche mais aussi très complexe.

Le calcul de l'histogramme s'appuie sur le moment d'espace du premier ordre. C'est une simple moyenne du nombre de pixels de chaque couleur. A priori, il existe un plusieurs ordres. J'essaierai de l'implémenter à l'occasion.

Voici le lien pour télécharger le projet : PictureHistogram

Remplis sous: Non classé 8 Commentaires