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…