TP- I.S.N.-Traitement d`image

Transcription

TP- I.S.N.-Traitement d`image
TP- I.S.N.-Traitement d’image-Niveaux de gris
Dans ce TP, on transforme une image couleur en niveaux de gris………….. Dans Processing
Partie 1 : charger une image
On commence par glisser déposer une image dans le sketch…
Celle-ci est automatiquement mise dans le dossier Data associé au sketch…
Les lignes de codes suivantes permettent de charger l’image et de l’afficher dans la fenêtre
spécialement dimensionnée à la taille de l’image..
PImage joconde;//déclare la variable joconde en tant qu’image
joconde = loadImage("joconde.PNG");//charge l’image au préalablement mise par glisser-déposer dans le sketch
size(joconde.width,joconde.height);// définit la fenêtre à la taille de l’image
image(joconde,0,0) ;//affiche l’image
L’image joconde.png a pour taille 607x 476 soit 288932 pixels. Chacun d’entre eux
contient une couleur, et, ensemble ils forment l’image.
On peut avoir accès à ces pixels avec l’instruction :
loadPixels() ;// qui charge dans un tableau de longueur 288932 les couleurs des pixels de l’image.
Cela signifie que pixels(3) contient la couleur du pixel n° 4 de l’image. (Le premier est numéroté 0 !!).
Si on veut changer la valeur d’un pixel on utilise l’instruction : pixels[3] =color(100,45,90) ;
Une couleur RGB (RVB en français) est un triplet de trois entiers variant de 0 à 255.
La valeur de la composante Rouge du pixel(3) s’obtient avec : red(pixels[3] ) ;
La valeur de la composante Verte du pixel(3) s’obtient avec : green(pixels[3] ) ;
La valeur de la composante Bleue du pixel(3) s’obtient avec : blue(pixels[3] ) ;
L’instruction suivante charge dans la variable c la couleur du pixel n°4 :
color c = pixels[3] ; // charge dans la variable c (de type color) les couleurs du pixels(3).
Lorsque l’on a modifié les pixels d’une image on la recharge (avec les modifications) avec l’instruction :
updatePixels() ; // actualise l’affichage des pixels
TP- I.S.N.-Traitement d’image-Niveaux de gris
Partie 2 : Niveaux de gris.
Comment transformer une image en niveaux de gris ?
On doit remplacer les composantes (R,G,B) de chaque pixels par leur moyenne.
Par exemple pour le pixel n° 4 cela donne :
color c = pixels[3] ;
pixels[3]=color((red(c)+green(c)+blue(c))/3, (red(c)+green(c)+blue(c))/3, (red(c)+green(c)+blue(c))/3) ;
Cette dernière ligne peut s’écrire plus simplement :
Pixels[3]=color((red(c)+green(c)+blue(c))/3) ;
puisque les trois valeurs sont identiques.
Ecrire le programme qui met en niveaux de gris l’image.
En lisant les références de Processing sur createImage() on peut avoir l’affichage suivant :
On crée une image img de même taille
que l’image de départ
On modifie les pixels de cette image avec :
(par exemple modifier le pixel n° 4 de img)
Img.pixels[3]=color(….) ;
Puis on affiche img avec une taille
réduite…
Modifier la simple moyenne des composantes (RGB) par une moyenne pondérée
différemment…

Documents pareils