表情识别

表情识别支持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 实现表情识别相关推荐

  1. python判断性别程序_python 实现性别识别

    使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型 实现效果 准备工作 在开始之前先要安装keras和tensorflow 安装keras使用命 ...

  2. python表情识别程序_Python+Dlib+Opencv实现人脸采集并表情判别功能的代码

    一.dlib以及opencv-python库安装 介于我使用的是jupyter notebook,所以在安装dlib和opencv-python时是在 这个命令行安装的 dlib安装方法: 1.若可以 ...

  3. python人脸检测代码_python实现人脸识别代码

    从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即 ...

  4. python编写表白程序_python如何写出表白程序

    用python编表白程序的方法: 1.创建GUI窗口,实现代码的调用. 2.编写点击触发函数,实现表白程序. 具体代码如下: from tkinter import * from tkinter im ...

  5. python判断素数程序_Python程序检查素数

    python判断素数程序 什么是质数? (What is a prime number?) A prime number is a natural number that is greater tha ...

  6. python二分法查找程序_Python程序查找最大EVEN数

    python二分法查找程序 Input N integer numbers and we have to find the maximum even number. 输入N个整数,我们必须找到最大的偶 ...

  7. python二分法查找程序_Python程序查找地板划分

    python二分法查找程序 When we divide a number by another number – division operator (/) return quotient it m ...

  8. python自我复制的程序_Python自我

    python自我复制的程序 In this lesson, we will study about the usage of Python self. It is often a point of d ...

  9. python编写hello程序_python第一个程序“Hello, world”

    python第一个程序 无论通过哪种方式使用Python的交互模式,都应该看到由3个三角括号">>>"组成的提示符.这就是Python的命令行提示符,表示可以键入 ...

  10. python电脑截图文字识别软件_Python实现文字识别,来看看大牛怎么实现截图/

    python有截屏的包吗 有你可以试试pyscreenshot. 地址:https://github.com/ponty/pyscreenshot 使用:import pyscreenshot as  ...

最新文章

  1. 集锦 | 新冠图像数据分析论文集合
  2. arm-linux-gcc armv4,ubuntu11.10 下 arm-linux-gcc4.4.3
  3. java删除页面数据不刷新_Ajax请求数据与删除数据后刷新页面
  4. Class 创建性能大比拼(反射,泛型反射,泛型创建,缓存Emit,非缓存Emit)
  5. 轉Excel的一種簡單方法
  6. 使用rpm包安装mysql_centos下利用rpm包安装mysql
  7. 带你剖析鸿蒙轻内核任务栈的源代码
  8. (24)打两拍verilog与VHDL编码(学无止境)
  9. DDD(Domain-Driven Design)领域驱动设计-(二)事件风暴
  10. Android Multimedia框架总结(五)多媒体基础概念
  11. 揭开BootStrap的神秘面纱
  12. mysql授权replication_MySQL创建用户并授权REPLICATION CLIENT和REPLICATION SLAVE
  13. 简单两个矩阵如何用计算机运算,教你使用excel做矩阵运算
  14. java实现文件夹加密_如何用JavaScrpt 实现文件夹轻松加密
  15. url指定服务器是什么意思,URL是什么意思?网页的URL是什么意思?
  16. Java编程题之某年某月某日
  17. 图学习(二)K-armed Bandit based Multi-modal Network Architecture Search for Visual Question Answering
  18. linux grep,sed和awk常用操作
  19. redux入门_Redux入门
  20. 主板有电无法启动_电脑主板通电但是开不了机是什么原因?

热门文章

  1. Python AutoCAD 图层
  2. 基于redis的手机归属地高效查询
  3. 美赛O奖、F奖论文写作技巧!【微信公众号:校园数模】
  4. 地质图例符号大全_不得不知的搜索引擎技巧大全
  5. Unity实现安卓虚拟摇杆多点触控
  6. HDFVIEW3.1.2下载
  7. 迅雷下载宝刷入padavan固件
  8. 线性规划图解法求最优解_线性规划的图解法6.ppt
  9. 关于matlab的图像显示方法
  10. 驳《寒门再难出贵子》——谁说寒门大学生没有春天!