python 实现表情识别


Posted in Python onNovember 21, 2020

表情识别

表情识别支持7种表情类型,生气、厌恶、恐惧、开心、难过、惊喜、平静等。

实现思路

使用OpenCV识别图片中的脸,在使用keras进行表情识别。

效果预览

python 实现表情识别

实现代码

与《性别识别》相似,本文表情识别也是使用keras实现的,和性别识别相同,型数据使用的是oarriaga/face_classification的,代码如下:

#coding=utf-8
#表情识别

import cv2
from keras.models import load_model
import numpy as np
import chineseText
import datetime

startTime = datetime.datetime.now()
emotion_classifier = load_model(
  'classifier/emotion_models/simple_CNN.530-0.65.hdf5')
endTime = datetime.datetime.now()
print(endTime - startTime)

emotion_labels = {
  0: '生气',
  1: '厌恶',
  2: '恐惧',
  3: '开心',
  4: '难过',
  5: '惊喜',
  6: '平静'
}

img = cv2.imread("img/emotion/emotion.png")
face_classifier = cv2.CascadeClassifier(
  "C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_classifier.detectMultiScale(
  gray, scaleFactor=1.2, minNeighbors=3, minSize=(40, 40))
color = (255, 0, 0)

for (x, y, w, h) in faces:
  gray_face = gray[(y):(y + h), (x):(x + w)]
  gray_face = cv2.resize(gray_face, (48, 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 = emotion_labels[emotion_label_arg]
  cv2.rectangle(img, (x + 10, y + 10), (x + h - 10, y + w - 10),
         (255, 255, 255), 2)
  img = chineseText.cv2ImgAddText(img, emotion, x + h * 0.3, y, color, 20)

cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上就是python 实现表情识别的详细内容,更多关于python 表情识别的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用python提取html文件中的特定数据的实现代码
Mar 24 Python
python进阶教程之函数参数的多种传递方法
Aug 30 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python配置mysql的教程(推荐)
Oct 13 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
Python中作用域的深入讲解
Dec 10 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
python路径的写法及目录的获取方式
Dec 26 Python
python - timeit 时间模块
Apr 06 Python
python 实现性别识别
Nov 21 #Python
python遍历路径破解表单的示例
Nov 21 #Python
Python如何批量生成和调用变量
Nov 21 #Python
在终端启动Python时报错的解决方案
Nov 20 #Python
python 批量下载bilibili视频的gui程序
Nov 20 #Python
Python ellipsis 的用法详解
Nov 20 #Python
python 动态渲染 mysql 配置文件的示例
Nov 20 #Python
You might like
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php图片缩放实现方法
2014/02/20 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
使用js如何实现全选与全不选
2013/12/30 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
中学教师教育感言
2014/02/21 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
补充协议书
2015/01/28 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle