介绍
这篇文章给大家介绍利用python如何识别图片中人物的表情,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强>实现思路强>
使用OpenCV识别图片中的脸,在使用keras进行表情识别。
<>强效果预览强>
<强>实现代码强>
使用keras实现的,和性别识别相同,型数据使用的是oarriaga/face_classification的,代码如下:
#=utf - 8编码 #表情识别 进口cv2 从keras。模型导入load_model 进口numpy np 进口chineseText 进口日期时间 开始时间=datetime.datetime.now () emotion_classifier=load_model ( & # 39;分类器/emotion_models simple_CNN.530-0.65.hdf5& # 39;) endTime=datetime.datetime.now () 打印(endTime -开始时间) emotion_labels={ 0:& # 39;生气& # 39;, 1:& # 39;厌恶& # 39;, 2:& # 39;恐惧& # 39;, 3:& # 39;开心& # 39;, 4:& # 39;难过& # 39;, 5:& # 39;惊喜& # 39;, 6:& # 39;平静& # 39; } img=cv2.imread (“img/情感/emotion.png") face_classifier=cv2.CascadeClassifier ( “C: \ Python36 \ Lib \网站\ opencv-master \ \ haarcascades \ haarcascade_frontalface_default.xml"数据; ) 灰色=cv2。cv2.COLOR_BGR2GRAY cvtColor (img) 面临=face_classifier.detectMultiScale ( 灰色,scaleFactor=1.2, minNeighbors=3, minSize=(40、40)) 颜色=(255,0,0) (x, y, w h)在面临: gray_face灰色=[(y): (y + h) (x): (x + w)] gray_face=cv2。48)调整(gray_face (48) gray_face=gray_face/255.0 gray_face=np。expand_dims (gray_face, 0) gray_face=np。expand_dims (gray_face, 1) emotion_label_arg=np.argmax (emotion_classifier.predict (gray_face)) 情感=emotion_labels [emotion_label_arg] cv2。矩形(img (x + 10, y + 10) (h - 10 x + y + w - 10), (255、255、255),2) img=chineseText。cv2ImgAddText (img、情感、x + h * 0.3, y,颜色,20) cv2.imshow (“Image" img) cv2.waitKey (0) cv2.destroyAllWindows ()
关于利用python如何识别图片中人物的表情就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。