NumPy pour les images

Traitement d'images en Python

Rebeca Gonzalez

Data Engineer

NumPy pour les images

  • Principes de base du traitement d'images
    • Retournement
    • Extraire et analyser des caractéristiques

Chien mignon qui marche dans le parc

Chien mignon retourné horizontalement

Traitement d'images en Python

Images comme NdArrays

Bâtiment de Madrid

# Chargement de l'image avec Matplotlib
madrid_image = plt.imread('/madrid.jpeg')

type(madrid_image)
<class 'numpy.ndarray'>
Traitement d'images en Python

Couleurs avec NumPy

Grappe de raisins au-dessus de 3 images montrant les canaux de couleur

Traitement d'images en Python

Couleurs avec NumPy

# Obtenir les valeurs rouges de l'image
red = image[:, :, 0]

# Obtenir les valeurs vertes de l'image
green = image[:, :, 1]

# Obtenir les valeurs bleues de l'image
blue = image[:, :, 2]

Canaux de l'image affichés séparément

Traitement d'images en Python

Couleurs avec NumPy

Canaux d'une image d'une jeune femme affichés séparément en niveaux de gris

plt.imshow(red, cmap="gray")    
plt.title('Red')
plt.axis('off')
plt.show()
Traitement d'images en Python

Formes

Bâtiment de Madrid

# Accéder à la forme de l'image
madrid_image.shape
(426, 640, 3)
Traitement d'images en Python

Tailles

Bâtiment de Madrid

# Accéder à la taille de l'image
madrid_image.size
817920
Traitement d'images en Python

Retourner des images : verticalement

# Retourner l'image verticalement
vertically_flipped = np.flipud(madrid_image)

show_image(vertically_flipped, 'Vertically flipped image')

Image de Madrid retournée verticalement

Traitement d'images en Python

Retourner des images : horizontalement

# Retourner l'image horizontalement
horizontally_flipped = np.fliplr(madrid_image)

show_image(horizontally_flipped, 'Horizontally flipped image')

Image de Madrid retournée horizontalement

Traitement d'images en Python

Qu'est-ce qu'un histogramme ?

Histogramme d'une image sombre Histogramme d'une image claire

Traitement d'images en Python

Histogrammes de couleurs

Histogramme d'une image RVB d'une jeune femme, un histogramme par couleur

Traitement d'images en Python

Applications des histogrammes

  • Analyse
  • Binarisation
  • Luminosité et contraste
  • Égaliser une image

Image seuillée

Traitement d'images en Python

Histogrammes dans Matplotlib

Histogramme de la couleur rouge

# Composante rouge de l'image
red = image[:, :, 0]

# Obtenir l'histogramme rouge plt.hist(red.ravel(), bins=256)
Traitement d'images en Python

Visualiser des histogrammes avec Matplotlib

blue = image[:, :, 2]

plt.hist(blue.ravel(), bins=256)
plt.title('Blue Histogram')
plt.show()

Histogramme de la composante bleue d'une image

Traitement d'images en Python

Passons à la pratique !

Traitement d'images en Python

Preparing Video For Download...