0 votes

Code avec open cv en python sur macOS : le processus est lancé dans le terminal mais rien ne se passe

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()

0voto

ecjb Points 404

D'accord après avoir suivi le fil de discussion sur GitHub https://github.com/opencv/opencv-python/issues/423, j'ai mis à jour le package vers la dernière version (dans mon cas opencv-python-4.6.0.66) et cela a fonctionné.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X