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?