这个应用程序实时跟踪面部的情绪使用相机。打开CV用于绘制矩形和叠加文本数据。人脸情感识别将使用深层人脸库,其中摄像头在数字图像中识别人脸。
Tensorflow和Keras库的版本都是2.2.0
,我现在收到了这个错误:
ImportError回溯(最近一次调用)
在一个进口cv2 2中,进口matplotlib.pyplot作为plt
10种进口泡菜中的d:\myenv\lib\site-packages\deepface\DeepFace.py 11 -> 12来自deepface.basemodels进口VGGFace、OpenFace、Facenet、FbDeepFace、DeepID、DlibWrapper、ArcFace,13种来自deepface.extendedmodels进口年龄、性别、种族、情绪14来自deepface.commons导入功能、实时、距离作为dst。
d:\myenv\lib\site-packages\deepface\basemodels\VGGFace.py 10来自keras.layers导入输入,Convolution2D,ZeroPadding2D,MaxPooling2D,平坦,稠密,Dropout,激活11:-> 12来自tensorflow进口keras 13来自tensorflow.keras.models导入模型,顺序14来自tensorflow.keras.layers导入输入,Convolution2D,ZeroPadding2D,MaxPooling2D,平坦,稠密,Dropout,激活
27岁的d:\myenv\lib\site-packages\tensorflow\keras_init_.py。从。进口型号28。导入优化器--> 29从。进口前处理30从。从.进口调节器31。进口用途
从十号d:\myenv\lib\site-packages\tensorflow\keras\preprocessing_init_.py开始。将图像11从。进口顺序-> 12。导入文本13 14 del _print_function
d:\myenv\lib\site-packages\tensorflow\keras\preprocessing\text_init_.py in 13从tensorflow.python.keras.preprocessing.text进口one_hot 14从tensorflow.python.keras.preprocessing.text进口text_to_word_sequence -> 15从tensorflow.python.keras.preprocessing.text进口tokenizer_from_json 16 17 del _print_function
(d:\myenv\lib\site-packages\tensorflow\python\keras\preprocessing\text.py):无法从“tensorflow.python.keras.preprocessing.text”tensorflow.python.keras.preprocessing.text导入名称“tokenizer_from_json”
我试着通过卸载和安装不同版本的tenderflow和keras来解决这个问题,但它仍然不起作用。有没有遇到过这种问题的鞋底,能帮我吗?
import cv2
from deepface import DeepFace
faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(1)
#Check if the webcam is opened correctly
if not cap.isOpened():
cap = cv2.VideoCapture(0)
if not cap.isOpened():
raise IOError("Cannot open webcam")
while True:
ret,frame = cap.read() #Read one image from a video
result = DeepFace.analyze(frame, actions=['emotion'], enforce_detection=False)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray,1.1,4)
#Draw a rectangle around the faces
#Draw a rectangle around the faces
for(x,y,w,h) in faces:
cv2.rectangle(frame, (x,y), (x+w, y+h), (0,255,0),2)
font = cv2.FONT_HERSHEY_SIMPLEX
#inserting text on video
cv2.putText(frame,
result['dominant_emotion'],
(50,50),
font,3,
(0,0,255),
2,
cv2.LINE_4)
cv2.imshow('Demo video', frame)
if cv2.waitKey(2) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()发布于 2020-12-19 08:44:30
为什么不使用它的流函数呢?
from deepface import DeepFace
DeepFace.stream(db_path = "C:/my_db")在这里,my_db应该存储面部图像,但是如果您不想应用人脸识别,那么将它传递给一个空文件夹。然后,它将跟踪面部表情。
https://stackoverflow.com/questions/65359551
复制相似问题