Donnez vie aux images avec scikit-image

Traitement d'images en Python

Rebeca Gonzalez

Data Engineer

Qu'est-ce que le traitement d'images ?

Opérations sur images et vidéos pour :

  • Améliorer une image
  • Extraire de l'information utile
  • L'analyser et décider

Image d'un groupe d'ami·e·s où les visages sont détectés

Traitement d'images en Python

Qu'est-ce que le traitement d'images ?

Opérations sur images et vidéos pour :

  • Améliorer une image
  • Extraire de l'information utile
  • L'analyser et décider

Image montrant la photo originale d'un homme avec un appareil photo, à côté du seuillage de cette image, et en dessous, l'histogramme de l'image seuillée

Traitement d'images en Python

Applications

  • Analyse d'images médicales
  • Intelligence artificielle
  • Restauration et amélioration d'images
  • Informatique géospatiale
  • Surveillance
  • Vision robotique
  • Sécurité automobile
  • Et bien d'autres…

Image montrant 6 applications du traitement d'images : détection de visages, traitement spatial, analyse d'images médicales, informatique géospatiale et sécurité automobile

Traitement d'images en Python

Objectifs

  1. Visualisation :
    • Objets non visibles
  2. Netteté et restauration
    • Une image de meilleure qualité
  3. Recherche d'images
    • Repérer l'image recherchée
  4. Mesure de motifs
    • Mesurer divers objets
  5. Reconnaissance d'images
    • Distinguer des objets dans une image
Traitement d'images en Python

Intro à scikit-image

  • Facile à utiliser
  • Utilise le Machine Learning
  • Algorithmes complexes prêts à l'emploi

Logo de la bibliothèque Scikit-image

Traitement d'images en Python

Qu'est-ce qu'une image ?

Photo d'un cerf couché dans l'herbe, à côté d'un gros plan montrant les pixels de la photo

Traitement d'images en Python

Qu'est-ce qu'une image ?

Matrice d'intensités de pixels d'une image en niveaux de gris

Traitement d'images en Python

Images dans scikit-image

from skimage import data

rocket_image = data.rocket()

Fusée

Traitement d'images en Python

Canaux RVB

Image originale d'un chat au-dessus de 3 images montrant les couleurs RVB

Traitement d'images en Python

Images en niveaux de gris

Image en niveaux de gris à côté de sa matrice d'intensités

Traitement d'images en Python

RVB vs niveaux de gris

from skimage import color
grayscale = color.rgb2gray(original)

rgb = color.gray2rgb(grayscale)

Astronaute en couleur à côté de l'astronaute en niveaux de gris

Traitement d'images en Python

Visualiser les images dans le cours

Ne vous en faites pas pour Matplotlib !

def show_image(image, title='Image', cmap_type='gray'):
    plt.imshow(image, cmap=cmap_type)    
    plt.title(title)
    plt.axis('off')
    plt.show()
Traitement d'images en Python

Visualiser les images dans le cours

from skimage import color
grayscale = color.rgb2gray(original)

show_image(grayscale, "Grayscale")

Astronaute

Traitement d'images en Python

Passons à la pratique !

Traitement d'images en Python

Preparing Video For Download...