cours-snt/photo numérique/python/pomme/sujet.tex
2022-10-25 14:26:36 +02:00

115 lines
4.1 KiB
TeX
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[11pt,a4paper]{../../template/template_cours}
\usepackage{listings}
\usepackage{minted}
\title{Modifier une image avec Python}
\author{Adrian Amaglio}
\def\thesequence{Photographie numérique}
\begin{document}
Lisez attentivement le sujet au fur et à mesure de votre progression.
% ---
\section*{Ouvrir une image}
\begin{exercice}
Créez un dossier nommé « image python » (ou autre) dans votre zone personnelle.
Cest là que nous travaillerons durant la durée de cette activité.
\end{exercice}
\begin{exercice}
Téléchargez limage de pomme sur laquelle nous allons travailler : \url{https://pixees.fr/informatiquelycee/n_site/img/pomme.jpg} et enregistrez là dans votre dossier de travail.
\end{exercice}
\begin{exercice}
Démarrez edupython et recopiez y les lignes suivantes :
\begin{minted}{python}
from PIL import Image
img = Image.open("pomme.jpg")
r,v,b = img.getpixel((100,250))
print("rouge : ", r, " vert : ", v, " bleu : ", b)
\end{minted}
La première ligne de ce programme sert à activer la modification des images.\\
La seconde ligne sert à ouvrir limage de pomme précédemment téléchargée.\\
La troisième ligne récupère la couleur du pixel aux coordonnées (100,250).\\
La quatrième ligne affiche la couleur du pixel.\\
Enregistrez le fichier dans votre dossier de travail et exécutez le. Quelle est la couleur de ce pixel ?\\
\end{exercice}
\begin{exercice}
Modifiez votre programme pour quil affiche la couleur en RVB du pixel aux coordonnées (250,300). Faites vérifier votre travail.
\end{exercice}
\section*{Modifier quelques pixels}
\begin{exercice}
Modifiez votre programme pour quil ressemble a ceci :
\begin{minted}{python}
from PIL import Image
img = Image.open("pomme.jpg")
img.putpixel((250,250),(255,0,0))
img.show()
\end{minted}
Vous devriez obtenir une image de pomme, avec en son centre un pixel rouge vif.
Cest celui que python vient de modifier.\\
La première ligne de ce programme sert à activer la modification des images.\\
La seconde ligne sert à ouvrir limage de pomme précédemment téléchargée.\\
La troisième ligne sert à placer un pixel rouge (de couleur 255,0,0) au milieu de limage, cest à dire aux coordonnées (250,250).\\
La quatrième ligne sert à afficher limage à lécran.
\end{exercice}
\begin{exercice}
Modifiez le programme précédent pour quil colorie en bleu le pixel aux coordonnées (100, 250)
\end{exercice}
\begin{exercice}
Modifiez le programme précédent pour quil colorie plusieurs pixels les uns en dessous des autres de manière à tracer un trait vertical de plusieurs pixels de long.
\end{exercice}
\begin{exercice}
Modifiez le programme précédent pour quil colorie plusieurs pixels les uns à côté des autres de manière à tracer un trait horizontal de plusieurs pixels de long.
\end{exercice}
\section*{Écrire de vrais programmes de traitement}
\begin{exercice}
Saisissez et testez le programme suivant :
\begin{minted}{python}
from PIL import Image
img = Image.open("pomme.jpg")
largeur = 500
hauteur = 500
for y in range(hauteur):
for x in range(largeur):
r,v,b = img.getpixel((x,y))
nouveau_r = r+50
nouveau_v = v+50
nouveau_b = b+50
img.putpixel((x,y), (nouveau_r, nouveau_v, nouveau_b))
img.show()
\end{minted}
Que fait ce programme ?
\end{exercice}
\begin{exercice}
En vous inspirant de lexercice précédent, écrivez un programme qui inverse le rouge et le bleu de chaque pixel sans changer le vert.
\end{exercice}
\begin{exercice}
Après avoir fait quelques recherches sur le « négatif dune image », écrivez un programme qui affiche le négatif dune image.
\end{exercice}
\begin{exercice}
Après avoir fait quelques recherches sur les « images en niveau de gris », écrivez un programme qui transforme une image couleur en image en niveaux de gris.\\
Aide : la division en python se fait à laide de lopérateur /
\end{exercice}
\begin{exercice}
Testez les deux derniers programmes sur une image de votre choix.\\
Faites vérifier au professeur.
\end{exercice}
\end{document}