import cv2
ESC = 27
n = 1
index = 0
total = 100
def saveImage(face_image, index):
filename = 'images/h0/{:03d}.pgm'.format(index)
cv2.imwrite(filename, face_image)
print(filename)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
cv2.namedWindow('video', cv2.WINDOW_NORMAL)
while n > 0:
ret, frame = cap.read()
# frame = cv2.resize(frame, (600, 336))
frame = cv2.flip(frame, 1)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 3)
for (x, y, w, h) in faces:
    frame = cv2.rectangle(
        frame, 
        (x, y), (x + w, y + h), 
        (0, 255, 0), 3
    )
    if n % 5 == 0:
        face_img = gray[y: y + h, x: x + w]
        face_img = cv2.resize(face_img, (400, 400))
        saveImage(face_img, index)
        index += 1
        if index >= total:
            print('get training data done')
            n = -1
            break
    n += 1
cv2.imshow('video', frame)
if cv2.waitKey(1) == 27:
    cv2.destroyAllWindows()
    break
    
    
    
    
    在做此專案時
    如跑出
    [ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) SourceReaderCB::~SourceReaderCB terminating async callback
Traceback (most recent call last):
File "C:/Users/ADMIN/AppData/Local/Temp/Rar$DIa6752.48196/1capture.py", line 26, in 
faces = face_cascade.detectMultiScale(gray, 1.1, 3)
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
該如何解決