Vous êtes sur la page 1sur 8

:

Traitement d’images

Composition des couleurs


1/ Ouvrir le logiciel Labview. Créer un nouveau vi et
saisir le schéma suivant :
2/ Pour les quatre couleurs suivantes donner, en
hexadécimal, les compositions spectrales :
Couleur Rouge Vert Bleu
Gris
Jaune
Violet
Bleu

Analyse d’une image JPEG


3/ Créer à présent un vi chargé de lire un fichier JPG et de l’afficher :

4/ Tester le chargement et la visualisation de l’image.


5/ Le fil rose est un CLUSTER qui regroupe un flux d’informations du fichier JPG. Modifier
le vi précédent en ajoutant un désassembleur de cluster. Afficher la profondeur, la taille de
l’image, les dimensions et le contenu des pixels de l’image.

1/8
:

 Combien de teintes de couleurs différentes sont possibles pour cette image ?


 Quelle est la dimension de l’image ?
 Comment expliquer la taille affichée de l’image ?
 Comparer cette valeur avec la taille occupée par l’image sur le disque. Conclusion.

Dans LabVIEW, une « image » est stockée dans un cluster (une structure) dont on donne ci-
dessous la description intégrale fournie par National Instruments :

6/ A l’aide de la commande numérique, balayer l’image. Identifier les couleurs :


Du coin supérieur gauche
Du coin inférieur droit
Du centre de l’image

Codage : « couleur » ou « noir et blanc »


Lorsque vous ouvrez une image couleur « standard », la profondeur d’image est de 24. Cela
signifie que les couleurs sont codées sur 24 bits. L’image est en fait sauvée dans un tableau
unidimensionnel dans lequel un pixel va être défini par la succession de 3 octets (3*8bits=24).
Chaque octet représente la luminosité respective des trois couleurs primaires RVB (Rouge
Vert Bleu). Par concaténation de ces 3 octets on obtient le code couleur RVB. Pour chaque
pixel on a donc les correspondances 0-0-0 (noir 0) 255-255-255 (blanc 16777200), 128-128-
128 (gris moyen 8421500), 0-255-0 (vert lumineux 65280), 0-0-255 (bleu lumineux 255) …
Lorsque la profondeur n’est pas de 24 il est nécessaire de connaître la table de correspondance
entre les valeurs de codage et le code couleur RVB : c’est le rôle de la table de couleur. Par
exemple pour une profondeur de 4 cette table contient 16 valeurs correspondant aux 16
couleurs utilisées.
2/8
:
7/ Nous allons à présent modifier l’image en
modifiant le contenu du CLUSTER.
La seule donnée changée sera la profondeur.
L’image modifiée sera visualisée dans un
nouvel affichage.
Mettre la profondeur à 24. Conclusion
Mettre la profondeur à 16. Justifier le résultat
(on rappelle que la taille de l’image n’a pas
changée)
Faire de même pour une profondeur de 8.
Mettre enfin la profondeur à 1
Sauvegarder le vi.

8/ Modifier la couleur. Que se passe-t-il ?

3/8
:
Quelques traitements classiques
 Changer la luminosité
Pour augmenter la luminosité, il suffit d'ajouter une valeur fixe à tous les niveaux.

Pour diminuer la luminosité il faudra au contraire soustraire une valeur fixe à tous les niveaux
 Négatif
Obtenir le négatif d'une image est très simple : toutes les composantes x de tous les pixels de
l'image sont remplacées par 255-x.

 Rouge
Chaque pixel de l'image est une combinaison de rouge, de vert et de bleu. En assignant la
valeur 0 aux composantes verte et bleue, on obtient l'image de droite.

 Niveaux de gris
Dans une image en niveaux de gris, chaque pixel est noir, blanc, ou a un niveau de gris entre les deux.
Cela signifie que les trois composantes ont la même valeur.
L'oeil est plus sensible à certaines couleurs qu'à d'autres. Le vert (pur), par exemple, paraît plus clair
que le bleu (pur). Pour tenir compte de cette sensibilité dans la transformation d'une image couleur en
une image en niveaux de gris, on ne prend généralement pas la moyenne arithmétique des intensités de
couleurs fondamentales, mais une moyenne pondérée.
La formule standard donnant le niveau de gris en fonction des trois composantes est :
gris = int(round(0.299·rouge + 0.587·vert + 0.114·bleu))

4/8
:
 Seuillage
Le seuillage d'image est la méthode la plus simple de segmentation d'image. À partir d'une image
en niveau de gris, le seuillage d'image peut être utilisé pour créer une image comportant uniquement
deux valeurs, noir ou blanc (monochrome). On remplace un à un les pixels d'une image par rapport à
une valeur seuil fixée (par exemple 123). Ainsi, si un pixel à une valeur supérieure au seuil (par
exemple 150), il prendra la valeur 255 (blanc), et si sa valeur est inférieure (par exemple 100), il
prendra la valeur 0 (noir).

Avec une image en couleur, on fera de même avec les trois composantes rouge, vert et bleu. Il y
aura ainsi huit couleurs possibles pour chaque pixel : blanc, noir, rouge, vert, bleu, magenta, jaune et
cyan.
 Filtrage
Le principe du filtrage est de modifier la valeur des pixels d'une image, généralement dans le but
d'améliorer son aspect. En pratique, il s'agit de créer une nouvelle image en se servant des valeurs
des pixels de l'image d'origine.
Un filtre est une transformation mathématique (appelée produit de convolution) permettant de
modifier la valeur d'un pixel en fonction des valeurs des pixels avoisinants, affectées de coefficients.
Les calculs sont faits pour chacune des trois composantes de couleur. Le filtre est représenté par un
tableau (une matrice), caractérisé par ses dimensions et ses coefficients, dont le centre correspond au
pixel concerné. La somme des coefficients doit faire 1.

 Lissage
Le tableau ci-dessous rend l'image plus floue. On dit que c'est un filtre passe-bas. Appliquer ce
tableau revient en fait à remplacer la valeur de chaque pixel par la moyenne des 9 pixels formant un
carré.

5/8
:

 Accentuation
À l'inverse, le tableau ci-après rendra l'image plus nette. C'est un filtre passe-haut.
Attention ! Il peut arriver que la nouvelle valeur ne soit plus comprise entre 0 et 255. Il faudra
donc toujours prendre min(x, 255) et max(x, 0), où x est la nouvelle valeur.

Manipulation d’image sous Labview

 Réaliser l’interface suivante: utiliser Tab Control (Modern → Containers)

 Ce VI utilise la représentation matricielle d’une image pour effectuer quelques opérations


simples, telles que l’affichage de l’image d’entrée, la transposition de cette image, le produit de
la convolution (essentiel dans la détection des contours), le négatif de cette image et la
modification de sa luminosité.
 Réaliser le programme qui stimule cette interface.

6/8
:

 DrawAreaSize permet de régler les dimensions des images pour avoir les mêmes dimensions
que l’mage originale .( clic droit sur l’icône input picture pou créer un Property node :
DrawAreaSize).
 Varier la matrice de convolution pour voir la variation dans la sortie
 Déplacez le curseur pour changer la luminosité de l'image.

7/8
:
Conversion de l'image en niveaux de gris

 Réaliser le diagramme suivant pour convertir une image en gris.

 Comaprer les données de l’mage initiale et l’image en gris.

Image en rouge

 Réaliser un VI qui permet de convertir une image en rouge.

8/8

Vous aimerez peut-être aussi