SNT – ELLA
LA PHOTO NUMÉRIQUE
S ÉANCE 3 BIS - M ANIPULER LES PIXELS D ’ UNE IMAGE MATRICIELLE
P
ARTIE1
: CODAGE DES COULEURS D’UN PIXEL(ORDINATEUR INTERDIT)1. R
APPEL>
Comme nous l’avons vu précédemment, les pixels d’une image matricielle peuvent être codés sur 3 octets suivant leurs composantes R, V et B.
Ainsi, on disposea prioride 256×256×256≈16,8 millions de couleurs possibles pour chaque pixel.
2. E
XERCICE:
CRÉATION D’
UNE IMAGE ENP
YTHON>
La fonction suivante permet de créer et de renvoyer une image de définition 300×200 entièrement rouge.
1 def creerImage():
2 image=Image.new(’RGB’, (300,200)) 3 for x in range(300):
4 for y in range(200):
5 image.putpixel((x,y),(255,0,0)) 6
7 return image
1. Modifier ce code afin de fabriquer une image de définition 400×100 entièrement verte.
1 def creerImage():
2 image=Image.new(’RGB’, ( ... , ... )) 3 for x in range(...):
4 for y in range(...):
5 image.putpixel((x,y),( ... , ... , ... )) 6
7 return image
2. Modifier encore le code précédent afin d’obtenir un damier de définition 400×400 rouge et vert comme ci-dessous
def creerImage():
image=Image.new(’RGB’, ( ... , ... )) for x in range(...):
for y in range(...):
if ... : ...
else :
...
return image
APPEL
→Appeler le professeur pour vérification© S. COLOMBAN – 2021/2021 – Lycée Ella Fitzgerald
1
NOM : . . . Prénom : . . . .
P
ARTIE2
: LES DIFFÉRENTS TYPES D’IMAGES MATRICIELLES(BITMAPS) Le but de cette partie est de comparer les principaux types d’images que l’on rencontre.Attention : Cette page est à remettre au professeur avant de poursuivre.
1. T
RAVAIL DE RECHERCHE R1. Quelle principale différence y a-t-il entre uneimage matricielleet uneimage vectorielle?
. . . . . . . . . . . . . . . . 2. Les formats GIF, JPG et PNG sont-ils vectoriels ou matriciels ?
. . . . 3. Quels sont les principaux avantages de GIF sur JPG ?
. . . . . . . . . . . . 4. Quels sont les principaux inconvénients de GIF sur JPG ?
. . . . . . . . . . . . 5. Quels sont les principaux avantages de PNG sur JPG ?
. . . . . . . . . . . . 6. Quels sont les principaux inconvénients de PNG sur JPG ?
. . . . . . . . . . . .
2. E
XERCICE E1. Quel type d’image choisissez-vous pour publier le logo de votre site web ? Justifier.
. . . . . . . . 2. Quel type d’image choisissez-vous pour publier une photo de paysage sur votre site web ? Justifier.
. . . . . . . . 3. Quel type d’image choisissez-vous pour publier un personnage animé ayant peu de couleurs ? Justifier.
. . . . . . . .
→Remettre cette page au professeur avant de poursuivre.
© S. COLOMBAN – 2021/2021 – Lycée Ella Fitzgerald
2
P
ARTIE3
: CRÉATION D’UN PROGRAMME PERMETTANT DE CRÉER UNE IMAGE PIXEL PAR PIXEL1. P
RINCIPE>
En Python, la bibliothèque PIL permet de créer une image et de manipuler ses pixels
Rappel, pour l’utiliser, Il faut au préalable installer le package« pillow »(voir fiche du 4 mars)
2. E
XEMPLEE
Le programme ci-dessous fabrique une image de définition 2×4 pixels, l’affiche à l’écran puis la sauvegarde sous le nomimage.png
from PIL import Image
monimage = Image.new(’RGB’, (2,4)) monimage.putpixel((0, 0), (255, 0, 0)) monimage.putpixel((0, 1), (255, 0, 0)) monimage.putpixel((0, 2), (255, 0, 0)) monimage.putpixel((0, 3), (255, 0, 0)) monimage.putpixel((1, 0), (0, 255, 0)) monimage.putpixel((1, 1), (0, 255, 0)) monimage.putpixel((1, 2), (0, 0, 255)) monimage.putpixel((1, 3), (0, 0, 255)) monimage.show()
monimage.save("image.png")
En s’inspirant du programme précédent, créer un programme appelé drapeau.py permettant
d’obtenir une image de définition 6×3 pixels comme ci-contre appeléedrapeau.png
DEPÔT
drapeau.py et drapeau.png sur votre zone SNT dehttp://entraide-ella.fr3. M
INI-
PROJET mp1. Concevoir sur la grille ci-contre votre logo personnel, sous forme d’une image de définition 8×8.
2. Créer un programme nommélogoperso.pypermettant de fabriquer cette image et de la sauver sous le nom logoperso.png
DEPÔT
logoperso.py et logoperso.png sur votre zone SNT dehttp://entraide-ella.fr4. P
ROLONGEMENTE
Un artiste contemporain a créé une fresque en forme de point d’interrogation vert.
Quelle est son aire ?
(Récupérer l’image surhttp://entraide-ella.fr)
© S. COLOMBAN – 2021/2021 – Lycée Ella Fitzgerald
3