Création d’un notebook¶
Un notebook est un fichier portant l’extension ipynb qui contient du code (Python) et du texte avec mise en forme (Markdown). Il est composé de plusieurs cellules, chacune étant soit du code, soit du texte.
Consultez la page Utilisation de Python pour savoir comment lancer le logiciel de développement (Jupyter Lab ou VSCodium), puis créez un notebook et enregistrez-le avec un nom approprié.
Configurez la première cellule du notebook pour être en Markdown. Écrivez ensuite dans la cellule :
# TP 1 - exercice 1 Une image est une fonction $f$ de $\mathbb{N}^d$ dans $\mathbb{R}^B$.puis tapez Shift + Entrée : le code est exécuté, le résultat s’affiche et une nouvelle cellule apparaît.
Dans la cellule nouvellement créée (que vous laissez au format Code), tapez :
import skimage.io as io import matplotlib.pyplot as pltpuis Shift + Entrée pour importer le module scikit-image que nous utiliserons à chaque TP.
Dans les prochains TP, prenez l’habitude de réexécuter complètement le notebook : cela vous évitera de traîner des bugs.
Affichage d’une image en couleur¶
Chargez l’image schtroumpf.jpg.
Dans une troisième cellule du notebook, chargez l’image :
f = io.imread("schtroumpf.jpg")puis affichez-la:
plt.imshow(f)Affichez les dimensions de l’image :
print(f.shape)Pourquoi obtenez-vous trois valeurs ?
Affichez le type de données codant l’image :
print(f.dtype)Sur combien d’octets sont codés les pixels de cette image ?
Affichez la couleur du pixel :
f[149,149]À quelle couleur correspond-t-il ?
Exécutez le code ci-dessous et expliquez le résultat obtenu.
g = f.copy() g[:, :, [0,1,2]] = f[:, :, [1,0,2]] plt.imshow(g)
Affichage d’une image à niveaux de gris¶
La conversion d’une image couleur en niveau de gris s’effectue en remplaçant chaque pixel de valeurs en un pixel d’intensité tel que . Les coefficients ont été définis à partir de mesures psychovisuelles et de façon à garantir que si .
Convertissez l’image couleur en niveaux de gris (
skimage.color.rgb2gray).Affichez l’image à niveau de gris en ajoutant également la barre de couleur et les valeurs minimales et maximales de ses pixels :
plt.imshow(g) plt.colorbar() print(g.min()) print(g.max())Utilisez l’argument
cmapdeimshowpour modifier la palette des couleurs (colormap). Pour cela, consultez l’aide de la fonction :help(plt.imshow)Affichez le profil d’intensité de la colonne 260 :
plt.plot(g[:,259])À quoi correpondent la droite décroissante et les deux pics vers le bas ?