окно видеозахвата не закрывается - OpenCV - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь записать видео в реальном времени с помощью своей веб-камеры.
И код, который я узнал из inte rnet, работает как чудо.
Но есть проблема после того, как я обновил свой opencv до 4.2.0, что окно videoCapture вообще не закрывается, независимо от того, сколько раз я пытаюсь.

Исходный код

import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
if not cap.isOpened():
    print("Cannot open camera")
    exit()
while True:
    # Capture frame-by-frame
    ret, frame = cap.read()
    frame = cv.flip(frame,1)
    # if frame is read correctly ret is True
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
    # Our operations on the frame come here
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
    # Display the resulting frame
    cv.imshow('frame', gray)
    if cv.waitKey(1) == ord('q'):
        break
# When everything done, release the capture
cap.release()
cv.destroyAllWindows()

1 Ответ

1 голос
/ 19 апреля 2020

Вы можете добавить следующее в конце параметра l oop, чтобы определить, было ли окно закрыто, и завершить l oop:

    if cv.getWindowProperty('frame', cv.WND_PROP_VISIBLE) < 1:
        break

. getWindowProperty вернет 0, если окно frame больше не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...