Audela
Audela

LibRGB

LibRGB

Librairie d'extension Tcl pour la manipulation de fichiers d'images en couleur

Alain KLOTZ version 20021115

1. Introduction

La librairie libRGB ajoute des fonctions de manipulation de fichiers et de buffers d'images en couleurs à un interpréteur Tcl utilisant Audela. Le principe général de libRGB est de séparer l'image d'un buffer en ses trois composantes rouge, vert, bleu (RGB) et les afficher à l'écran. Techniquement, les caméras CCD couleurs fournissent une image dans le buffer dans lequel les pixels correspondent à l'une des trois couleurs. En fonction de l'algorithme de codage utilisé par le constructeur du composant CCD, on peut repérer la couleur de chaque pixel et synthétiser trois images correspondant aux couleurs prises séparément les unes des autres.

2. Manuel de l'utilisateur

rgb_split numbuf ?-buffer {Nobufr Nobufg Nobufb}? ?-rgb type?

Sépare les trois composantes RGB d'un buffer en trois buffers.

On peut préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée à l'option -buffer. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003. Il n'est pas nécessaire de créer les buffers (::buf::create) avant la fonction rgb_split (elle les crée elle même).

On peut spécifier le type d'algorithme de codage de la couleur en précisant le type de l'option -rgb. Les caméras couleurs suivantes ont été identifiées :

rgb_visu {hicutr locutr} {hicutg locutg} {hicutb locutb} ?-zoom valzoom? ?-window {x1 y1 x2 y2}? ?-buffer {Nobufr Nobufg Nobufb}? ?-image Noimage?

Affiche une image couleur dans une zone de visualisation. La liste {hicutr locutr} contient les valeurs numériques du seuil haut et du seuil bas de visualisation de l'image rouge. {hicutg locutg} {hicutb locutb} ont les mêmes rôles mais pour les images verte et bleue respectivement.

L'option -zoom permet d'effectuer un affichage grossi (valzoom=1 par défaut). Les valeurs autorisées sont 1, 2 et 4.

L'option -window permet de n'afficher qu'une fenêtre de l'image.

L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.

L'option -image permet de préciser le numéro de l'image spécifiée par l'option "-image image" lors de la création du widget image Tk.

L'exemple ci dessous montre l'utilisation de la fonction rgb:

#--- crée une fenetre
toplevel .testcolor
wm geometry .testcolor 768x512+0+0
wm title .testcolor "test pour images en couleur"
#--- cree le canevas pour l'image
canvas .testcolor.canvas -borderwidth 0 -relief flat -width 768 -height 512
pack .testcolor.canvas
#--- cree un widget image dans un canvas pour afficher l'objet de visualisation
.testcolor.canvas create image 1 1 -image image1000 -anchor nw -tag img1
#--- cree une zone de visualisation pour le buffer 1001, l'image 1000 (et on crée l'objet visu20)
::visu::create 1001 1000 20
#--- charge une image RGB
buf1 load m57
#--- sépare l'image RGB du buffer 1 en trois buffers 51, 52 et 53 pour R, G et B
rgb_split 1 -buffer {51 52 53} -rgb bgr
#--- affiche l'image en couleur à partir des buffers 51, 52 et 53
reg_visu {300 0} {300 0} {300 0} -buffer {51 52 53} -image 1000

rgb_save filename ?filenameg filenameb? ?-buffer {Nobufr Nobufg Nobufb}?

Cette fonction permet d'enregistrer les trois buffers image dans un seul fichier FITS. filename est le nom du fichier FITS qui contiendra l'image couleur enregistrée.

L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.

Si on précise trois noms de fichiers au lieu d'un seul (cas où filenameg filenameb son utilisés) alors l'image couleur sera enregistrée par trois fichiers FITS indépendants sur le disque.

rgb_load filename ?filenameg filenameb? ?-buffer {Nobufr Nobufg Nobufb}?

Cette fonction permet de lire les trois buffers image enregistrés préalablement dans un seul fichier FITS. filename est le nom du fichier FITS qui contient l'image couleur.

L'option -buffer permet de préciser le numéro des trois buffers R, G et B en les indiquant dans une liste associée. Par défaut, les buffers R, G et B ont pour numéro respectif 1001, 1002 et 1003.

Si on précise trois noms de fichiers au lieu d'un seul (cas où filenameg filenameb son utilisés) alors l'image couleur sera chargée en mémoire à partir des trois fichiers FITS indépendants sur le disque.

| English Version | Mailing List Audela | ©2004 Audela | Design TechnoSpeak