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发送arp欺骗攻击代码分析
Jan 16 Python
Python下singleton模式的实现方法
Jul 16 Python
Python实现CET查分的方法
Mar 10 Python
python按照多个字符对字符串进行分割的方法
Mar 17 Python
Python里disconnect UDP套接字的方法
Apr 23 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Python帮你识破双11的套路
Nov 11 Python
Python FFT合成波形的实例
Dec 04 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 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删除指定目录的方法
2015/04/03 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
python网络编程实例简析
2014/09/26 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
教师自我评价范例
2013/09/24 职场文书
医生自荐信
2013/10/11 职场文书
写好自荐信的要点
2013/11/06 职场文书
现金会计岗位职责
2013/12/05 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers