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类继承用法实例分析
Oct 10 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
Python基于win32ui模块创建弹出式菜单示例
May 09 Python
django加载本地html的方法
May 27 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
python+mysql实现学生信息查询系统
Feb 21 Python
Python基于滑动平均思想实现缺失数据填充的方法
Feb 21 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python函数中apply、map、applymap的区别
Nov 27 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
js实现中文实时时钟
2020/01/15 Javascript
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
pygame学习笔记(5):游戏精灵
2015/04/15 Python
基于python时间处理方法(详解)
2017/08/14 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
python十进制转二进制的详解
2020/02/07 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
什么时候用assert
2015/05/08 面试题
四下基层实施方案
2014/03/28 职场文书
物业品质提升方案
2014/06/08 职场文书
遗嘱范文
2015/08/07 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android