0% ont trouvé ce document utile (0 vote)
71 vues10 pages

Programmation d'Images avec Python

Le document présente des outils pour programmer en Python, en se concentrant sur la manipulation d'images à l'aide de la bibliothèque PIL. Il fournit des exemples de code pour ouvrir, afficher, modifier et sauvegarder des images, ainsi que des instructions sur la création d'images en utilisant des boucles pour colorier des pixels. Des exercices pratiques sont également inclus pour appliquer les concepts appris.

Transféré par

robertroxanepblc38
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
71 vues10 pages

Programmation d'Images avec Python

Le document présente des outils pour programmer en Python, en se concentrant sur la manipulation d'images à l'aide de la bibliothèque PIL. Il fournit des exemples de code pour ouvrir, afficher, modifier et sauvegarder des images, ainsi que des instructions sur la création d'images en utilisant des boucles pour colorier des pixels. Des exercices pratiques sont également inclus pour appliquer les concepts appris.

Transféré par

robertroxanepblc38
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

OUTILS POUR PROGRAMMER

Exemple de boucle en Python

For x in range (n) signifie Pour la valeur de x variant de 0 à n-1

(la boucle est effectuée n fois)

Attention pour savoir sur quelles instructions porte la boucle, il faut décaler les
instructions par rapport à la ligne for …
FICHE RESSOURCE : UTILISATION DE PYTHON POUR FABRIQUER OU
MODIFIER DES IMAGES

Python est un langage collaboratif ou l’ensemble des utilisateurs développent


des fonctions (sous-programmes) afin de simplifier la programmation.
L’ensemble de ses sous-programmes sont rassemblés dans des librairies.

éventuellement
FONCTION Action sur l’image
Variables
d’entrées

Sous-programme qui
réalise une action sur
l’image

Exemples de fonctions

Nom de la Nom de la variable où est


variable
contenant le
.
Img1 width stockée la valeur

Largeur=img1.width
fichier image
ex :img1

Stocke dans
une variable la
largeur en
pixels de
l’image

Nomfichier.jpg Image.open(« nomfichier.jpg »)

Ouvre l’image
enregistrée dans le
fichier jpeg appelé
nomfichier
Nom de la
variable où .
Img1 show()
est stockée
l’image.
Ex img1 Affiche l’image
Ex : img1

Nom de la
variable utilisée
pour img.save(« nom.jpg »)
sauvegarder
l’image

Sauvegarde l’image
dans un fichier jpeg

Nom de la
Nom de la variable où

.
variable
stocker la valeur
contenant le Img1 height
fichier image hauteur=img1.height
ex :img1

Détermine la hauteur de l’image en


pixels

Coordonnées du
pixel x et y Img.putpixel((x,y),(valeur
pour le rouge, pour le vert,
Code RVB de la
couleur que vous pour le bleu))
voulez appliquer
au pixel

Colorie un pixel en fonction du


code RVB
Valeur stockée Print(« valeur : »,variable,)
dans variable

Si variable = 10, Affiche

valeur : 10

Nom de la variable

.
qui contient le
Img1 getpixel((x,y)) r,v,b=img1.getpixel((15,56))
fichier image par
exemple img1
Coordonnée du
pixel x et y

Récupère les valeur du


code RVB d’un pixel et
enregistre les valeur
dans trois variables ici
appelée r,v,b

Exemple de programme utilisant ces instructions


from PIL import Image # Importe la bibliothèque PIL qui gère le traitement
# des images.
img = Image.open("pomme.jpg") # ouvre l'image enregistrée dans le fichier jpeg
# pomme et le stocke dans la variable img
largeur_image=img.width # Détermine la largeur en pixels de l'image
hauteur_image=img.height # Détermine la hauteur de l'image en pixels
print("définition de l'image :",largeur_image," x ",hauteur_image) # imprime la
#définition de l'image
img.show() # Affichage de l'image en question

Exécuter ce code dans EduPython


•Observer ce code.
•Que fait ce code?
• De la couleur aux pixels


Formation d’une image en couleur sur un écran numérique

➢ Couleur d’un pixel


from PIL import Image # importe la bibliothèque gérant les images
img = Image.new("RGB",(8,8)) #stocke dans la variable img une image de définition
8 x 8 pixels codée en rvb

for x in range (8): # boucles for imbriquées : pour chaque Valeur de x (de 0 à 7)
on fait :
for y in range (8): #pour chaque Valeur de y (les huits valeurs)
img.putpixel((x,y),(0,0,0)) #on colorie le pixel de coordonnée (x,y) en
noir

img.save("carrenoir.jpg") # on sauvegarde l’image crée au même endroit que le


fichier python

Dessinez un motif dans le quadrillage ci-dessous, en coloriant (en noir ou en couleur) quelques-unes des 64
cases.

créez un motif en modifiant le code Python précédent.


from PIL import Image
img = Image.new("RGB",(8,8))

for x in range (8):


for y in range (8):
img.putpixel((x,y),(255,255,255))

img.putpixel((6,1),(0,255,0)) #colore un pixel en une couleur verte

img.save("exemplequadrillage.jpg")
le pixel de coordonnées (6,1) se colorie en vert avec l’ajout de la ligne 8.

Sciences Numériques et Technologie – Page : 1


• De la couleur aux pixels

Notre méthode de création d’image possède pour l’instant deux inconvénients majeurs : l’image est bien
trop petite, et placer des pixels un par un est très fastidieux. Nous allons y remédier.
from PIL import Image
img = Image.new("RGB",(300,200))# On crée une image de taille 300 x 200.
for x in range (300):# double boucle for imbriquées pour colorier l’image en noir
for y in range (200):
img.putpixel((x,y),(0,0,0))

for x in range(50,150) : # entre x = 50 et 150 pour


img.putpixel((x,20),(156,61,207))#y = 20 on colorie les pixels ce qui donne
un trait

X= 50
X=150

Y=20

1. Copiez maintenant le code suivant :


from PIL import Image
img = Image.new("RGB",(300,300))# on crée une image de definition 300 x 300 pixels
en code rvb

for x in range (300): #on colorie tous les pixels du carré


for y in range (300):# avec la couleur
img.putpixel((x,y),(129,167,211))# correspondant au triplet (129,167,211)

for x in range (100,200):# pour tous les pixels comprise entre x=100 et x=200
for y in range (100,200): de coordonnées y compris entre y = 100 et y = 200
img.putpixel((x,y),(255,255,255))#on colorie en blanc

img.save("exempleCarre.jpg")

Sciences Numériques et Technologie – Page : 2


• De la couleur aux pixels

1. Exercice
Activité : A l’aide du code vu dans la partie précédente, concevez le drapeaux ci-dessous :

from PIL import Image


img = Image.new("RGB",(300,200))

for x in range (100):


for y in range (200):
img.putpixel((x,y),(0,0,255))

for x in range (100,200):


for y in range (200):
img.putpixel((x,y),(255,255,255))

for x in range (200,300):


for y in range (200):
img.putpixel((x,y),(255,0,0))

img.save("DrapeauFrancais.jpg")

Sciences Numériques et Technologie – Page : 3


• De la couleur aux pixels

Sciences Numériques et Technologie – Page : 4

Vous aimerez peut-être aussi