cv2.error: OpenCV(4.4.0)error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor', 14errors module cv2

asked 2020-11-21 14:03:24 -0500

updated 2020-11-21 14:28:23 -0500

berak gravatar image


cap = cv2.VideoCapture(0)

while True:
    # Grab a single frame of video
    ret, frame =
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    faces = face_classifier.detectMultiScale(gray,1.3,5)
    for (x,y,w,h) in faces:
        roi_gray = gray[y:y+h,x:x+w]
        roi_gray = cv2.resize(roi_gray,(48,48),interpolation=cv2.INTER_AREA)
    # rect,face,image = face_detector(frame)
        if np.sum([roi_gray])!=0:
            roi = roi_gray.astype('float')/255.0
            roi = img_to_array(roi)
            roi = np.expand_dims(roi,axis=0)
        # make a prediction on the ROI, then lookup the class
            preds = classifier.predict(roi)[0]
            label_position = (x,y)
            cv2.putText(frame,'No Face Found',(20,60),cv2.FONT_HERSHEY_SIMPLEX,2,(0,255,0),3)
    cv2.imshow('Emotion Detector',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
edit retag flag offensive close merge delete


ret, frame =

You should check if frame is not None: because cv2 doesn't raise error when it can't get frame from camera or read image from file. And sometimes camera needs time to "warm up" and it can gives few empty frames (None).

sturkmen gravatar imagesturkmen ( 2020-11-21 14:33:12 -0500 )edit