Verwenden der waitKey-Funktion in OpenCV

Ammar Ali 21 Juni 2023
Verwenden der waitKey-Funktion in OpenCV

In diesem Tutorial wird das Schließen eines Bildfensters mit der Funktion waitKey() von OpenCV erläutert.

Verwenden der waitKey()-Funktion in OpenCV

Die Funktion waitKey() in OpenCV wird verwendet, um ein bestimmtes Zeitintervall zu warten und dann das aktive Bildfenster zu schließen.

Wir können die Verzögerung in Millisekunden innerhalb der Funktion waitKey() übergeben, und die Funktion wartet auf diese bestimmte Zeit und schließt dann das aktive Bildfenster.

Wenn wir eine Taste auf der Tastatur drücken, während das Bildfenster aktiv ist, wird das Fenster geschlossen.

Angenommen, wir möchten, dass das Bild nach 5 Sekunden automatisch geschlossen wird. Es wird nach 5 Sekunden geschlossen, wenn wir keine Taste auf der Tastatur drücken. Wenn wir jedoch vor 5 Sekunden eine Taste auf der Tastatur drücken, wird das Fenster geschlossen.

Wenn wir nicht auf eine bestimmte Zeit warten und das Bild schließen möchten, wenn eine Taste gedrückt wird, müssen wir 0 oder nichts innerhalb der Funktion waitKey() übergeben. In diesem Fall wartet die Funktion auf die Taste, und wenn eine Taste gedrückt wird, schließt sie das Fenster.

Siehe Beispielcode unten.

import cv2

saved_image = cv2.imread("Image_name.jpg")
cv2.imshow("image", saved_image)

cv2.waitKey(5000)
cv2.destroyAllWindows()

Der obige Code wartet fünf Sekunden und schließt dann das Fenster, und wenn zu diesem Zeitpunkt ein Schlüssel vorhanden ist, wird das Fenster geschlossen. Beachten Sie, dass wir die Funktion destroyAllWindows() verwenden müssen, damit die Funktion waitKey() im Notebook Jupyter richtig funktioniert.

Die Funktion destroyAllWindows() schließt alle geöffneten Fenster. Aber wenn wir uns in einer anderen Software wie PyCharm befinden, müssen wir die Funktion destroyAllWindows() nicht verwenden.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook