Traitement d'images


Ici nous allons utiliser python pour modifier des images. 


Déjà, vous créez un répertoire "Python" que je pourrais ramasser et qui ne contiendra que ce qui concerne Python.

Première étape, importer une image, on prendra celle là.  Bien sûr, l'image doit être enregistrée dans le même répertoire que le fichier python.





import matplotlib.image as mpimg

img = mpimg.imread("NouvelElement6.png")


Voilà, l'image décompressée et enregistrée dans une variable qui se trouve être une sorte de tableau qui contient les valeurs RGB de chaque pixel.


Ensuite, pour d'obscures raisons, il peut arriver que le tableau soit rempli de nombres entiers habituels ou d'octets.. On préfère les nombres, donc on s'assure que ça en soit, ou on les transforme comme ceci :


import numpy as np # Si le résultat n'est pas un tableau d'entiers

if img.dtype == np.float32:

    img = (img * 255).astype(np.uint8)


Notre image est devenue un tableau, un tableau de liste en fait.


On va pouvoir commencer à chercher comment est organiser ce tableau, quel est sa taille etc.

Testez donc ce programme


# -*- coding: utf-8 -*-

import matplotlib.image as mpimg

img = mpimg.imread("NouvelElement6.png")


import numpy as np # Si le résultat n'est pas un tableau d'entiers

if img.dtype == np.float32:

    img = (img * 255).astype(np.uint8)


print(img.shape) # va afficher dans la console les dimensions du tableau donc la taille de l'image, et le nb d'information par pixel (3 ou 4)


Question, quel est le résultat ? 


Ajoutez print(img[50, 50]) au programme, quel est le résultat ? A quoi cela correspond-t-il ?


On continue la mission par là !






Créé avec HelpNDoc Personal Edition: Rationalisez la création de votre fichier d'aide CHM avec HelpNDoc