Je tente d'afficher une image en utilisant OpenCV et j'ai utilisé le code suivant (de geeksforgeeks). Cependant, quand je lance le programme depuis le terminal (avec zsh sur MacOS 11.6.1 en utilisant Python 3.7.5
et opencv-python==4.2.0.34
), un processus Python est lancé et rien d'autre ne se passe (il n'y a aucun message d'erreur et aucune image n'apparaît). Que suis-je en train de faire de mal?
import cv2
# Chemin de l'image dans le répertoire local
chemin = 'chemin/vers/image.png'
# Utilisation de cv2.imread() pour lire une image en mode niveau de gris
image = cv2.imread(chemin, 0)
# Utilisation de namedWindow()
# Une fenêtre avec le nom 'Display_Image' est créée
# avec WINDOW_NORMAL nous permettant d'avoir une taille aléatoire
cv2.namedWindow("Display_Image", cv2.WINDOW_NORMAL)
# Utilisation de cv2.imshow() pour afficher l'image
cv2.imshow('Display_Image', image)
# Attente de 0ms pour que l'utilisateur appuie sur une touche
cv2.waitKey(0)
# Utilisation de cv2.destroyAllWindows() pour détruire
# toutes les fenêtres créées ouvertes à l'écran
cv2.destroyAllWindows()
Édition
J'ai modifié le code selon le commentaire pour afficher la taille de l'image comme suit avec la sortie suivante dans le terminal : (480, 640)
. Mais toujours pas d'image ni de message d'erreur ne se produisent
import cv2
# Chemin de l'image dans le répertoire local
chemin = 'chemin/vers/image.png'
# Utilisation de cv2.imread() pour lire une image en mode niveau de gris
image = cv2.imread(chemin, 0)
print(image.shape)
# Utilisation de namedWindow()
# Une fenêtre avec le nom 'Display_Image' est créée
# avec WINDOW_NORMAL nous permettant d'avoir une taille aléatoire
cv2.namedWindow("Display_Image", cv2.WINDOW_NORMAL)
# Utilisation de cv2.imshow() pour afficher l'image
cv2.imshow('Display_Image', image)
# Attente de 0ms pour que l'utilisateur appuie sur une touche
cv2.waitKey(0)
# Utilisation de cv2.destroyAllWindows() pour détruire
# toutes les fenêtres créées ouvertes à l'écran
cv2.destroyAllWindows()