Comment résoudre le problème que seul le processus reste lorsque vous appuyez sur X sur l'écran imshow d'OpenCV

environnement

Python 3.7.8  OpenCV 3.4.2

problème

Par exemple, cette image de Lena. lena.jpeg

Normalement, vous pouvez afficher l'image avec le code suivant et appuyer sur la touche appropriée pour fermer la fenêtre. Cependant, lorsque j'appuie sur le bouton de fermeture, la fenêtre se ferme mais le processus python reste en cours d'exécution.

open.py


import cv2 

img = cv2.imread("lena.jpg ")

#Afficher l'image
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Solution

C'est fondamentalement la même chose que Other Method, mais avec un code un peu plus court et tout comme avant. L'originalité est également compatible avec l'entrée clé de.

python


import cv2

img = cv2.imread("lena.jpg ")

while(1):
    cv2.imshow('img', img)
    key = cv2.waitKey(100) & 0xff
    if key != 255 or cv2.getWindowProperty('img', cv2.WND_PROP_AUTOSIZE) == -1:
        cv2.destroyAllWindows()
        exit()

J'espère que cela aide ceux qui ont des problèmes avec la même chose.

Recommended Posts

Comment résoudre le problème que seul le processus reste lorsque vous appuyez sur X sur l'écran imshow d'OpenCV
Comment résoudre le problème qui se passe mal à chaque fois que vous mettez sous tension Linux
Comment résoudre le problème que le contenu vidéo ne peut pas être lu sur Firefox pour Linux
Comment résoudre le problème que l'écran de connexion ne s'affiche pas pour toujours sur Ubuntu 19.04 car il s'arrête au logo au démarrage
Comment traiter l'erreur "Impossible de charger le module" canberra-gtk-module "qui apparaît lorsque vous exécutez OpenCV
Comment résoudre le problème d'emballage du bac
Comprendre comment afficher des images sur Jupyter (utilisation de imshow / matplotlib d'OpenCV)
Comment résoudre le problème de l'échec de la construction lorsque CI / CD de Python Function avec AWS Amplify
Comment enregistrer une seule donnée sur l'écran de gestion de Django
Comment gérer "^ [[A ^ [[B ^ [[C ^ [[D"]] en appuyant sur la touche de direction lors de l'exécution de python sur mac
Solution au problème qui ne se termine pas lors de l'installation d'OpenCV (PEP517)
Comment filtrer les clés externes qui peuvent être sélectionnées sur l'écran d'administration de Django
Un mémo sur la façon de surmonter le problème difficile de la capture d'effets avec l'IA
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
Comment résoudre la fonction récursive qui a résolu abc115-D
Comment gérer le problème de l'échec de la construction de pandas 1.1.0 ou version ultérieure sur Alpine Linux
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
Comment supprimer "(base)" qui apparaît dans le terminal lorsqu'Anaconda est installé sur Mac
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Le problème devient plus facile à résoudre en fonction de la méthode de formulation
Grâce à l'installation du package pip qui dépend de opencv-python lors de la construction d'opencv à partir du code source
[GNOME] Comment éviter le problème que les caractères candidats à la conversion ne disparaissent pas lors de la conversion en japonais
Comment unifier la largeur du bac lors de l'affichage de plusieurs histogrammes les uns sur les autres (matplotlib)
Comment gérer le problème du déplacement du répertoire actuel lorsque Python est exécuté depuis Atom
Une histoire dans laquelle l'algorithme est arrivé à une conclusion ridicule en essayant de résoudre correctement le problème du voyageur de commerce
Comment déterminer qu'une clé croisée a été entrée dans Python3
Comment enregistrer une partie d'une longue vidéo en utilisant OpenCV
Comment utiliser Jupyter sur le frontal de Spacon ITO
Comment mettre à jour la version Python de Cloud Shell dans GCP
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django
Je souhaite résoudre le problème de fuite de mémoire lors de la sortie d'un grand nombre d'images avec Matplotlib