Objectifs
- Savoir comment convertir une image RGB en Niveaux de Gris
- Savoir utiliser la fonction double()
- Savoir la différence entre la fonction double() et im2double()
- Savoir utiliser la fonction rbg2gray()
- Savoir mémoriser son image après les traitements en utilisant la fonction imwrite()
- ETC.
Qu’est ce que la différence entre double() et im2double() ?
La fonction imread() retourne souvent une image en format uint8 (0-255), image logique (0-1 logique) ou une image indexée. Avant d’effectuer les traitements sur une image, une transformation en format double est nécessaire. On dispose de deux fonctions principales :
Double() : La fonction double() convertie une variable quelconque au format double sans changement de la dynamique de la variable. D’une autre façon lorsqu’on convertit une image de type uint8 au format double, les pixels gardes les mêmes valeurs au format double (0.0-255.0) (voir la vidéo pour plus d’infos)
Im2double() : la fonction est dédiée à la conversion d’une image au format double avec normalisation des valeurs. Les valeurs d’une image uint8 par exemple passent de 0-255 à 0-1.0.
Comment convertir une image RGB en Niveaux de Gris ?
Une image RGB est de dimensions MxNx3, elle est constituée de trois composante (R : rouge, G : verte et B : bleue). Chaque composante est une matrice de taille MxN. La conversion du format RGB ou couleur au format noir est blanc consiste à transformer la matrice MxNx3 à une matrice de taille MxN. La technique la plus simple consiste à faire la moyenne des trois composante : GRAY=(R+G+B)/3. En pratique, la sensibilité des composantes est différente. On note souvent GRAY=a*R+b*G+c*G, avec (a, b, c) sont les sensibilités des trois couleurs avec a+b+c=1. La formation rgb2gay () permet de convertir une image RGB en une image au NG.
On ajoute ensuite les valeurs pour chaque canal avec la pondération de la recommandation 709. GRAY= 0,2126 × R+ 0,7152 × G+ 0,0722 × B. Lire la suite…
Comment stocker l’image dans le disque ?
Après l’opération de traitement, l’exportation de l’image traitée est fondamentale. On peut également générer une ou plusieurs images en utilisant la fonction imwrite() (voir la vidéo pour plus de détails).