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在指定目录下查找gif文件的方法
May 04 Python
python编程开发之日期操作实例分析
Nov 13 Python
详解python中executemany和序列的使用方法
Aug 12 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
python pytest进阶之fixture详解
Jun 27 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
Python实现微信好友的数据分析
Dec 16 Python
python kafka 多线程消费者&手动提交实例
Dec 21 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
浅谈Python 参数与变量
Jun 20 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
APMServ使用说明
2006/10/23 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
实例讲解PHP表单
2020/06/10 PHP
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
Python定时执行之Timer用法示例
2015/05/27 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
经理管理专业毕业自荐书范文
2014/02/12 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
作弊检讨书
2015/01/27 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
户外亲子活动总结
2015/05/08 职场文书