Prise en main des images

OpenCVOpenCVBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous apprendra les bases du travail avec des images à l'aide de la bibliothèque OpenCV-Python. À la fin de ce tutoriel, vous serez capable de lire, d'afficher et d'enregistrer des images.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL opencv(("OpenCV")) -.-> opencv/BasicOperationsGroup(["Basic Operations"]) opencv/BasicOperationsGroup -.-> opencv/destroy_all_windows("Destroy Windows") opencv/BasicOperationsGroup -.-> opencv/imread("Image Read") opencv/BasicOperationsGroup -.-> opencv/imshow("Image Show") opencv/BasicOperationsGroup -.-> opencv/imwrite("Image Write") opencv/BasicOperationsGroup -.-> opencv/wait_key("Wait Key") subgraph Lab Skills opencv/destroy_all_windows -.-> lab-8438{{"Prise en main des images"}} opencv/imread -.-> lab-8438{{"Prise en main des images"}} opencv/imshow -.-> lab-8438{{"Prise en main des images"}} opencv/imwrite -.-> lab-8438{{"Prise en main des images"}} opencv/wait_key -.-> lab-8438{{"Prise en main des images"}} end

Importez les bibliothèques requises

Tout d'abord, importons les bibliothèques requises. Vous utiliserez la bibliothèque cv2 pour le traitement d'images. Utilisez import pour l'importer.

Préparation

Ouvrez l'interpréteur Python en tapant la commande suivante dans le terminal du Bureau de la VM.

python3

Détail

Entrez python3 pour démarrer le processus d'interpréteur Python. Ensuite, entrez le code suivant.

import cv2

Après cela, vous pouvez utiliser la bibliothèque cv2 dans votre code.

Lecture d'une image

Pour lire une image à partir d'un fichier, nous utilisons la fonction cv2.imread(). Cette fonction prend le chemin du fichier en argument et renvoie l'image sous forme d'un tableau NumPy.

Le chemin de l'image est /home/labex/Desktop/Image.jpg

Détail

Entrez python pour démarrer le processus d'interpréteur Python. Ensuite, entrez le code suivant.

## Lire l'image
image = cv2.imread('/home/labex/Desktop/Image.jpg')

## Vérifier si l'image est chargée correctement
if image is None:
    print('Erreur : Image non trouvée.')
else:
    print('Image chargée avec succès.')

Note

La fonction cv2.imread() renvoie None si l'image n'est pas trouvée. Dans ce cas, nous affichons un message d'erreur. Sinon, nous affichons un message de réussite.

Affichage de l'image

Pour afficher l'image, nous utilisons la fonction cv2.imshow(). Cette fonction prend deux arguments : le nom de la fenêtre et l'image à afficher.

De plus, nous utilisons la fonction cv2.waitKey() pour attendre qu'une touche soit pressée. Cela est nécessaire pour maintenir la fenêtre ouverte jusqu'à ce que l'utilisateur appuie sur une touche. La fonction cv2.waitKey() prend un seul argument, qui est le nombre de millisecondes à attendre pour une pression de touche. Si l'utilisateur appuie sur une touche dans le délai spécifié, la fonction renvoie le code de la touche. Sinon, elle renvoie -1. Dans ce cas, nous passons 0 pour attendre indéfiniment une pression de touche.
Enfin, nous utilisons la fonction cv2.destroyAllWindows() pour fermer toutes les fenêtres. Cela est facultatif, mais il est bon de fermer toutes les fenêtres avant de quitter le programme d'interpréteur Python.

Détail

Entrez python pour démarrer le processus d'interpréteur Python. Ensuite, entrez le code suivant.

window_name = 'Image'
## Afficher l'image, l'image a été chargée dans les étapes précédentes
cv2.imshow(window_name, image)

## Attendre une pression de touche et fermer la fenêtre
cv2.waitKey(0)

## Détruire la fenêtre après avoir affiché l'image
cv2.destroyAllWindows()

REMARQUE

  1. Vous pouvez modifier le window_name pour votre code et voir le résultat.
  2. Vous pouvez modifier le paramètre de waitKey pour votre code et voir le résultat.
  3. Pour votre commodité, nous avons supprimé la détection de la correction du chargement d'image dans cette étape.
  4. Notez que vous utilisez un interpréteur Python, donc le programme ne se termine pas immédiatement après imshow, mais si vous exécutez un fichier Python, vous devez utiliser waitKey pour vous assurer que la fenêtre ne se ferme pas après imshow.

Écrire une image dans un fichier

Pour enregistrer une image au format différent, nous utilisons la fonction cv2.imwrite(). Cette fonction prend deux arguments : le chemin du fichier et l'image à enregistrer.

Détail

Entrez python pour démarrer le processus d'interpréteur Python. Ensuite, entrez le code suivant.

## Enregistrer l'image au format différent, l'image a été chargée dans les étapes précédentes
cv2.imwrite('/home/labex/Desktop/Image.png', image)

Note

  1. Dans ce cas, nous enregistrons l'image au format PNG (Image.png). L'image est enregistrée dans le même répertoire (/home/labex/Desktop/) que le script Python.
  2. Pour votre commodité, nous avons supprimé la détection de la correction du chargement d'image dans cette étape.

Sommaire

Maintenant, vous connaissez les bases du travail avec les images à l'aide de la bibliothèque OpenCV-Python. Vous pouvez expérimenter avec différents formats d'image et explorer des opérations plus avancées telles que le redimensionnement, le recadrage et le filtrage. Bonne programmation!