Вывод видеопотока

Этот код обрабатывает видеопоток и выводит его в отдельном окне:

import cv2

cap = cv2.VideoCapture(0)

if not cap.isOpened():
    print("Error: Unable to open stream")
else:
    print("Stream opened successfully")

    while True:
        ret, frame = cap.read()
        if not ret:
            break

        cv2.imshow("Stream", frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

Объяснение:

ИНИЦИАЛИЗАЦИЯ БИБЛИОТЕК

import cv2

cv2 - Нестандартная библиотека в Python для использования Opencv в коде

ВЫВОД ИНФОРМАЦИИ О СОСТОЯНИИ ОТКРЫТИЯ ПОТОКА

if not cap.isOpened():
    print("Error: Unable to open stream")
else:
    print("Stream opened successfully")

Здесь, при неудачной попытке открытия видеопотока, в консоли будет выводиться сообщение "Error: Unable to open stream", а если поток откроется, в терминал будет выведено "Stream opened successfully"

ОТКРЫТИЕ ОКНА ТРАНСЛЯЦИИ ПОТОКА

while True:
        ret, frame = cap.read()
        if not ret:
            break

        cv2.imshow("Stream", frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

В цикле инициализируются переменные ret и frame для дальнейшего вызова вывода окна видеопотока. В условии прописан метод выхода из режима воспроизведения видеопотока.

ЗАКРЫТИЕ ПОТОКА

cap.release()
cv2.destroyAllWindows()

Результат выполнения кода:

Результат выполнения кода

Last updated