python表情识别程序_python 实现表情识别
表情识别
表情识别支持7种表情类型,生气、厌恶、恐惧、开心、难过、惊喜、平静等。
实现思路
使用OpenCV识别图片中的脸,在使用keras进行表情识别。
效果预览
实现代码
与《性别识别》相似,本文表情识别也是使用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:Python36Libsite-packagesopencv-masterdatahaarcascadeshaarcascade_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 表情识别的资料请关注云海天教程其它相关文章!
原文链接:https://github.com/vipstone/faceai/blob/master/doc/emotion.md
python表情识别程序_python 实现表情识别相关推荐
- python判断性别程序_python 实现性别识别
使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型 实现效果 准备工作 在开始之前先要安装keras和tensorflow 安装keras使用命 ...
- python表情识别程序_Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
一.dlib以及opencv-python库安装 介于我使用的是jupyter notebook,所以在安装dlib和opencv-python时是在 这个命令行安装的 dlib安装方法: 1.若可以 ...
- python人脸检测代码_python实现人脸识别代码
从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即 ...
- python编写表白程序_python如何写出表白程序
用python编表白程序的方法: 1.创建GUI窗口,实现代码的调用. 2.编写点击触发函数,实现表白程序. 具体代码如下: from tkinter import * from tkinter im ...
- python判断素数程序_Python程序检查素数
python判断素数程序 什么是质数? (What is a prime number?) A prime number is a natural number that is greater tha ...
- python二分法查找程序_Python程序查找最大EVEN数
python二分法查找程序 Input N integer numbers and we have to find the maximum even number. 输入N个整数,我们必须找到最大的偶 ...
- python二分法查找程序_Python程序查找地板划分
python二分法查找程序 When we divide a number by another number – division operator (/) return quotient it m ...
- python自我复制的程序_Python自我
python自我复制的程序 In this lesson, we will study about the usage of Python self. It is often a point of d ...
- python编写hello程序_python第一个程序“Hello, world”
python第一个程序 无论通过哪种方式使用Python的交互模式,都应该看到由3个三角括号">>>"组成的提示符.这就是Python的命令行提示符,表示可以键入 ...
- python电脑截图文字识别软件_Python实现文字识别,来看看大牛怎么实现截图/
python有截屏的包吗 有你可以试试pyscreenshot. 地址:https://github.com/ponty/pyscreenshot 使用:import pyscreenshot as ...
最新文章
- 集锦 | 新冠图像数据分析论文集合
- arm-linux-gcc armv4,ubuntu11.10 下 arm-linux-gcc4.4.3
- java删除页面数据不刷新_Ajax请求数据与删除数据后刷新页面
- Class 创建性能大比拼(反射,泛型反射,泛型创建,缓存Emit,非缓存Emit)
- 轉Excel的一種簡單方法
- 使用rpm包安装mysql_centos下利用rpm包安装mysql
- 带你剖析鸿蒙轻内核任务栈的源代码
- (24)打两拍verilog与VHDL编码(学无止境)
- DDD(Domain-Driven Design)领域驱动设计-(二)事件风暴
- Android Multimedia框架总结(五)多媒体基础概念
- 揭开BootStrap的神秘面纱
- mysql授权replication_MySQL创建用户并授权REPLICATION CLIENT和REPLICATION SLAVE
- 简单两个矩阵如何用计算机运算,教你使用excel做矩阵运算
- java实现文件夹加密_如何用JavaScrpt 实现文件夹轻松加密
- url指定服务器是什么意思,URL是什么意思?网页的URL是什么意思?
- Java编程题之某年某月某日
- 图学习(二)K-armed Bandit based Multi-modal Network Architecture Search for Visual Question Answering
- linux grep,sed和awk常用操作
- redux入门_Redux入门
- 主板有电无法启动_电脑主板通电但是开不了机是什么原因?