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.
💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici
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.
Tout d'abord, importons les bibliothèques requises. Vous utiliserez la bibliothèque cv2
pour le traitement d'images. Utilisez import
pour l'importer.
Ouvrez l'interpréteur Python en tapant la commande suivante dans le terminal du Bureau de la VM.
python3
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.
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
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.')
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.
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.
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()
window_name
pour votre code et voir le résultat.waitKey
pour votre code et voir le résultat.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
.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.
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)
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!