cv2.error: OpenCV(4.5.3) color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

Распознание лиц на Python

import cv2

faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
cap = cv2.VideoCapture('rtsp://192.168.0.100:554/Streaming/Channels/101')

while True:
    # stream_gray = cv2.cvtColor(stream, cv2.COLOR_BGR2GRAY)
    ret, img = cap.read()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = faceCascade.detectMultiScale(
        gray,  #
        scaleFactor=1.5,  #
        minNeighbors=5,  #
        minSize=(40, 40)  #
    )
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
    cv2.imshow('IP Camera stream', img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

stream.release()
cv2.destroyAllWindows()

Код запускается, работает произвольное время, а затем вываливается с ошибкой:

Traceback (most recent call last):
  File "C:\Users\alex\PycharmProjects\pythonProject\openCV.py", line 9, in <module>
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-sn_xpupm\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

[h264 @ 0000024f7fd807c0] error while decoding MB 46 6, bytestream -10
[h264 @ 0000024f001fe6c0] error while decoding MB 76 8, bytestream -7

Время вылета каждый раз разное. Может через минуту, может через час. Я так понимаю что исчезает источник видеосигнала с камеры, но Ping стабильный, без обрывов. Как с этим бороться, может буфер какой то секунд на 5?


Ответы (0 шт):