GBM – Imagerie numérique – Un premier programme d'affichage d'image en LabVIEW
Un premier programme d'affichage d'image en LabVIEW
Un premier programme d'affichage d'image en LabVIEW
I – Présentation
L'objectif de ce TP est de se replonger dans l'environnement de développement
LabVIEW en développant un petit logiciel d'affichage d'une image JPEG ou BMP. Ce
programme doit également permettre de calculer et d'afficher la conversion de cette
image en niveaux de gris et également de calculer et d'afficher les histogrammes
suivants :
Niveaux de gris
Plan Rouge
Plan Vert
Plan Bleu
Voici pour information, un exemple de face avant susceptible d'être réalisée :
II – Mise en œuvre
a – Structure du programme
Rédiger un sous-VI « Calcule_Image_Monochrome.vi » dont le but sera de
convertir une image couleur en niveaux de gris. L'entrée sera une structure
LabVIEW de type « Image », de même que la sortie du VI
Rédiger un sous-VI « Histogramme.vi » dont le but sera de calculer
l'histogramme d'un plan de couleur (niveaux de gris, rouge, vert ou bleu) d'une
image. L'histogramme sera stocké dans un tableau qui sera renvoyé par ce
sous-VI, en sortie.
Rédiger un VI principal « Img_BW_Histo.vi » qui remplira le cahier des
charges de ce TP, en utilisant - notamment – les deux sous-VI précédents.
1
GBM – Imagerie numérique – Un premier programme d'affichage d'image en LabVIEW
b – La structure « Image » de LabVIEW
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 :
Nous vous engageons vivement à bien étudier et bien comprendre cette structure,
ainsi que la façon dont elle peut être utilisée. En particulier, il faut intégrer que les
données « pixels » sont codées telles un flux linéaire dans un tableau
monodimensionnel « image ». Vous pourrez vous référer aux manuel LabVIEW
fournis par National Instruments.
c – Conversion de l'image en niveaux de gris
Pour information, la transformation d'un pixel couleur en pixel « niveau de gris » se
fait très simplement par le calcul de la luminance de la couleur associée au pixel. Si
le pixel a une couleur dont les composantes en rouge, vert et bleu sont le triplet
(r,v,b) (avec r,v,et b compris entre 0 et 255), alors, le niveau de gris g correspondant
est donné par la formule :
g = 0,3*r + 0,59*v + 0,11*b
Programmez par la suite la génération d'une table de niveau de gris dont le but est
de générer un tableau de couleurs à 256 entrées, dont chaque entrée i est le codage
en RVB du niveau de gris de luminance i. Pour information, un niveau de gris
possède des composantes r,v,b toutes trois égales. Une couleur, dans ce
formalisme, est un entier sur 32 bits (4 octets) dont l'octet de poids le plus fort est mis
à 0. Suivent, l'octet « rouge », puis le « vert », puis le « bleu ».
d – Calcul de l'histogramme
Le VI « Histogramme.vi » qui prendra en entrée les données pixels d'une image
monochrome (ou d'un plan de couleur) et fournira en sortie l'histogramme des
2
GBM – Imagerie numérique – Un premier programme d'affichage d'image en LabVIEW
niveaux (de gris ou de couleur) de cette image, dans un tableau d'entiers. On
rappelle que la ième valeur de l'histogramme est égale au nombre de pixels de
l'image ayant ce niveau de gris.
III – Quelques conseils et plus ….
On pourra utiliser les nœuds de propriété LabVIEW afin de tailler les « conteneurs
image » de la face avant à la taille des images qu'il doivent contenir.
On prendra soin de bien commenter (!!!!!!!!!!) le code (diagramme) et d'éviter de
surcharger ce même code.
Enfin, pour ceux qui auraient fini et qui s'ennuieraient, voici une dernière suggestion :
Vous pouvez calculer le négatif de l'image monochrome et le négatif de l'image
couleur, et bien sûr, les afficher dans de nouveaux conteneurs, sur la face avant...
BON COURAGE
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !