Page 6 - Enrolles_SNT
P. 6
IMAGE NÉGATIVE
Théorie Une image négative est une image dont les couleurs ont été inversées (au sens photographique). Ainsi, un pixel de couleur (10,200,0) aura après inversion la couleur (245,55,255). De façon générale, si le pixel a comme couleur (r,g,b), après inversion sa couleur est (255-r,255-g,255-b).
Nous allons écrire un script permettant d’afficher l’image de SuperGirl, puis une fonction negatif qui prend comme argu- ment l’entier xi et qui affiche le négatif de l’image de SuperGirl, avec xi l’abscisse du point supérieur gauche de l’image en négatif.
Exercice 5
Complétez le script suivant de la fonction negatif : Script
import ti_plotlib as plt plt.cls() plt.gr.drawImage("GIRL_150",5,50)
def negatif(xi):
for x in range(5,119):
for y in range(50,200): c=plt.gr.getPixel(x,y) r=255-c[0]
g=255-c[1]
b=255-c[2]
d=r,g,b plt.gr.setPixel(xi+x,y,d)
negatif(125) plt.show_plot()
DÉCOLORATION
Corrigé de l’exercice sur https://go.eyrolles.com/pythonsnt
Rappelons les codes des couleurs qui vont nous être utiles pour la suite : jaune (255,255,0) ; cyan (0,255,255) ; magenta (255,0,255).
Nous allons appliquer un filtre qui garde la quantité de bleu d’un pixel et fixe à 255 sa quantité de rouge et de vert. Il associera donc à un pixel de couleur (r,g,b) la couleur (255,255,b).
Pour cela, écrivons une fonction jaune qui prend comme argu- ment xi, xi étant l’abscisse du point supérieur gauche de l’image sur laquelle le filtre est appliqué, et qui affiche cette image en modifiant ses couleurs comme précisé précédemment.
Script
import ti_plotlib as plt plt.cls() plt.gr.drawImage("GIRL_150",5,50)
def jaune(xi):
for x in range(5,119):
for y in range(50,200): c=plt.gr.getPixel(x,y) b=c[2]
d=255,255,b plt.gr.setPixel(xi+x,y,d)
jaune(125) plt.show_plot()
20
7 ÉCRAN MAGIQUE 6 TI-RGB ARRAY 5 MUSIQUE ! 4 TRAME NMEA 3 ROVER 2 AUTOUR DES IMAGES 1 PIXEL ART