Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

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 plt

    puis 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 (150,150)(150,150) :

    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 (r,g,b)(r,g,b) en un pixel d’intensité xx tel que x=0.2125 r+0.7154 g+0.0721 bx = 0.2125 \, r + 0.7154 \, g + 0.0721 \, b. Les coefficients ont été définis à partir de mesures psychovisuelles et de façon à garantir que x∈[0,1]x\in[0,1] si r,g,b∈[0,1]r,g,b\in[0,1].

  • Convertissez l’image couleur en niveaux de gris (skimage.color.rgb2gray).

  • Affichez l’image à niveau de gris gg 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 cmap de imshow pour 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 ?