python 實現(xiàn)表情識別
表情識別
表情識別支持7種表情類型,生氣、厭惡、恐懼、開心、難過、驚喜、平靜等。
實現(xiàn)思路
使用OpenCV識別圖片中的臉,在使用keras進行表情識別。
效果預(yù)覽
實現(xiàn)代碼
與《性別識別》相似,本文表情識別也是使用keras實現(xiàn)的,和性別識別相同,型數(shù)據(jù)使用的是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 實現(xiàn)表情識別的詳細內(nèi)容,更多關(guān)于python 表情識別的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python 安裝virtualenv和virtualenvwrapper的方法
下面小編就為大家?guī)硪黄猵ython 安裝virtualenv和virtualenvwrapper的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01使用Python發(fā)送郵件附件以定時備份MySQL的教程
這篇文章主要介紹了使用Python發(fā)送郵件附件以定時備份MySQL的教程,本文的示例基于CentOS,需要的朋友可以參考下2015-04-04Django ORM數(shù)據(jù)庫操作處理全面指南
本文深度探討Django ORM的概念、基礎(chǔ)使用、進階操作以及詳細解析在實際使用中如何處理數(shù)據(jù)庫操作,同時,我們還討論了模型深入理解,如何進行CRUD操作,并且深化理解到數(shù)據(jù)庫遷移等高級主題2023-09-09使用Pandas進行Excel數(shù)據(jù)處理的操作和技巧
在數(shù)據(jù)處理和分析的過程中,Excel是一個非常常見的工具,然而,當(dāng)數(shù)據(jù)量變大,操作復(fù)雜度增加時,Excel的效率和功能可能無法滿足需求,Pandas是一個強大的Python數(shù)據(jù)處理庫,本文將介紹如何使用Pandas進行Excel數(shù)據(jù)處理,并展示一些常見的操作和技巧2023-11-11