Почему OpenCV с возвышенным текстом 3 и python 3.8 неожиданно завершает работу? - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь использовать OpenCV для захвата видео с моей веб-камеры. Каждый раз, когда я запускаю программу, python неожиданно завершает работу, и код говорит [Закончите через 0,3 с кодом выхода -6] Операционная система - Каталина 10.15.3 Использование возвышенного текста 3 Python 3.8

import cv2

cap = cv2.VideoCapture(0)

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

    cv2.imshow('frame', frame)

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


cap.release()
cv2.destroyAllWindows()

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Проблема в том, что системы сборки Sublime не могут обрабатывать GUI создания окон, как cv2.imshow(). Я считаю, что это связано с тем, как система сборки выполняется с использованием модуля subprocess. Вы столкнулись с той же проблемой, если пытались отобразить изображение, например, с помощью Pillow или matplotlib. Обратите внимание, что вы можете отлично обрабатывать изображения в Sublime, если только вы не пытаетесь отобразить результаты.

Самый простой способ - просто сохранить окно терминала откройте и вручную запустите ваши скрипты из командной строки после сохранения.

0 голосов
/ 05 марта 2020

Вероятно, это поможет добавить обработку кода в ваш код. Например, после

cap = cv2.VideoCapture(0)

Попробуйте поставить что-то вроде этого:

if !cap.isOpened():
    print("Error")
    exit(1)

Затем, после

ret, frame = cap.read()

попытайтесь:

if !ret:
    print("Error: frame not captured")

По крайней мере, это должно дать вам некоторые подсказки о том, где проблема.

Удачи

Андреас

...