поднять e.ag_error_metadata.to_exception (e) с помощью tensorflow + opencv - PullRequest
1 голос
/ 20 июня 2020

мой код для обнаружения улыбающихся лиц с использованием opencv, но я получаю ошибку, описанную в заголовке.

`

from tensorflow.keras.models import load_model

from tensorflow.keras.preprocessing.image import img_to_array

import numpy as np

import cv2 as cv

import imutils

detector=cv.CascadeClassifier("D:\haarcascade_frontalface_default.xml")
model=load_model("model.h5")
camera=cv.VideoCapture(0)
while True:
    (grabbed,frame)=camera.read()

    frame = imutils.resize(frame, width=300) 
    gray=cv.cvtColor(frame,cv.COLOR_RGB2GRAY)
    frameClone=frame.copy()

    rects=detector.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=5, minSize=(30, 
30),flags=cv.CASCADE_SCALE_IMAGE)
    for (fx,fy,fw,fh) in rects:
        roi=gray[fy:fy+fh,fx:fx+fw]
        roi=cv.resize(roi,(28,28))
        roi=roi.astype("float")/255.0
        roi=img_to_array(roi)
        roi=np.expand_dims(roi,axis=0)
    
        (not_smiling,smiling)=model.predict(roi)[0]
    
        label="smiling" if smiling>not_smiling else "NotSmiling"
    
        cv.putText(frameClone,label,(fx,fy-10),cv.FONT_HERSHEY_SIMPLEX,0.45,(0,255,0),2)
    
        cv.rectangle(frame,(fx,fy),(fx+fw,fy+fh),(0,255,255),2)
    
    cv.imshow("face",frameClone)
    
    if cv.waitKey(1) & 0xFF==ord("q"):
    
        break

camera.release()
cv.destroyAllWindows()`

# моя ошибка -> поднять e.ag_error_metadata .to_exception (e)

что вызывает это и как я могу это исправить?

...