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:\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实现表情识别代码示例相关推荐

  1. python 一次性定时器_python 定时器每天就执行一次的实现代码

    1.实现功能 编写python脚本一直运行,判断当下是否是新的一天,如果是就执行一次任务代码 2.具体实现代码 #-*-coding:utf-8 -*- __author__ = 'Administr ...

  2. python测试电脑性能的代码_python编程测试电脑开启最大线程数实例代码

    本文实例代码主要实现python编程测试电脑开启最大线程数,具体实现代码如下. #!/usr/bin/env python #coding=gbk import threading import ti ...

  3. python鸭制作类代码_Python实现多态、协议和鸭子类型的代码详解

    多态 问起面向对象的三大特性,几乎每个人都能对答如流:封装.继承.多态.今天我们就要来说一说 Python 中的多态. 所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式.多态机制使具有不同 ...

  4. python函数表格_python 6.7 编写printTable()函数表格打印(完整代码)

    编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐.假定所有内层列表都包含同样数目的字符串 输入: tableData = [['apple' ...

  5. python编写异常处理_Python 简明教程 --- 23,Python 异常处理

    要么做第一个,要么做最好的一个. 目录 我们在编写程序时,总会不自觉的出现一些错误,比如逻辑错误,语法错误和一些其它的运行时错误等. 逻辑错误: 这种错误不会导致程序崩溃,它不容易被发现,只有在执行结 ...

  6. python 编译器重构_Python之父考虑重构Python解释器

    7月22日,Python之父Guido在Medium上发表了他的第一篇博文<PEG Parser>. 在该文中,Guido说他正在考虑使用PEG Parser代替现有的类LL(1) Par ...

  7. python爬虫机器_Python常用的机器学习库|python爬虫|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ Python在科学计算中用途广泛:计算机视觉.人工智能.数学.天文等.它同样适用于机器学习也是意料之中的事 ...

  8. python的输出函数_Python输出函数print()总结(python print())

    Python 思想: "一切都是对象!" python版本:python3.5.1 ; IDE:pycharm2017.2 一.print()函数概述 print() 方法用于打印 ...

  9. python部落稿酬_Python之父考虑重构Python解释器

    作者:佚名来源:Python部落 7月22日,Python之父Guido在Medium上发表了他的第一篇博文<PEG Parser>. 在该文中,Guido说他正在考虑使用PEG Pars ...

  10. python 三引号_Python 简明教程 --- 4,Python 变量与基本数据类型

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...

最新文章

  1. PTA基础编程题目集-6-11 求自定类型元素序列的中位数
  2. tf.ensure_shape 感觉这个功能有点鸡肋
  3. C++ Primer ----- 关于初始化
  4. .NET C# I/O 操作
  5. √GMAP.NET 地图
  6. 拼多多市值超1600亿美元 成中国第四大互联网公司
  7. 程序员代码面试指南——笔记1
  8. nginx错误502,503,504分析
  9. 用html写简单的座位表,html座位表,随机点名
  10. 说好的30天直播生死呢?--第一章 我的小伙伴们(一)
  11. 【浅谈递归(一)】递归的基本思想
  12. 比较TTL集成电路与CMOS集成电路
  13. 如何高效进行无人机动力测试-电池效率
  14. PHP使用swagger-php自动生成api文档(详细附上完整例子)
  15. HSV和RGB的对应关系
  16. 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
  17. 吴恩达《机器学习》课后测试Ex2:逻辑回归(详细Python代码注解)
  18. HTML和CSS中如何设置中文字体
  19. VBA,index() + small() + if() 实现数据分组:EXCEL数组公式万金油套路, 顺便介绍另外2个方法:数据透视表,VBA字典
  20. 打开共享计算机很慢,局域网中,查看一台电脑的共享文件夹,打开很慢(电脑达人进)...

热门文章

  1. 金证股份-Java开发工程师招聘(中高级)
  2. 罗斯蒙特3051工作原理
  3. 【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔!
  4. 解决百度网盘、微软网盘、Google网盘相互转存文件
  5. Android cec设备,Android和HDMI CEC
  6. Linux 内核参数:vmstat
  7. 解析冰蓄冷与水蓄冷及应用
  8. python 泛型_python 泛型注释的不理解?
  9. Mplus做测量等值性分析时的注意事项
  10. TIA V16 + KepServerEx搭建OPC 通讯试验