python 實(shí)現(xiàn)表情識(shí)別
表情識(shí)別
表情識(shí)別支持7種表情類型,生氣、厭惡、恐懼、開(kāi)心、難過(guò)、驚喜、平靜等。
實(shí)現(xiàn)思路
使用OpenCV識(shí)別圖片中的臉,在使用keras進(jìn)行表情識(shí)別。
效果預(yù)覽

實(shí)現(xiàn)代碼
與《性別識(shí)別》相似,本文表情識(shí)別也是使用keras實(shí)現(xiàn)的,和性別識(shí)別相同,型數(shù)據(jù)使用的是oarriaga/face_classification的,代碼如下:
#coding=utf-8
#表情識(shí)別
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: '開(kāi)心',
4: '難過(guò)',
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 實(shí)現(xiàn)表情識(shí)別的詳細(xì)內(nèi)容,更多關(guān)于python 表情識(shí)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python好玩的項(xiàng)目—色情圖片識(shí)別代碼分享
- 如何使用Python進(jìn)行PDF圖片識(shí)別OCR
- python 自動(dòng)識(shí)別并連接串口的實(shí)現(xiàn)
- OpenCV+Python3.5 簡(jiǎn)易手勢(shì)識(shí)別的實(shí)現(xiàn)
- python 實(shí)現(xiàn)性別識(shí)別
- python實(shí)現(xiàn)圖片,視頻人臉識(shí)別(dlib版)
- python實(shí)現(xiàn)圖片,視頻人臉識(shí)別(opencv版)
- python調(diào)用百度API實(shí)現(xiàn)人臉識(shí)別
- 詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng)
- Python識(shí)別處理照片中的條形碼
- python 實(shí)現(xiàn)的車牌識(shí)別項(xiàng)目
相關(guān)文章
Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有PDF文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有PDF文件的方法,涉及Python針對(duì)pdf文件的讀取、判斷、解密、寫入合并等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
Python使用pickle進(jìn)行序列化和反序列化的示例代碼
這篇文章主要介紹了Python使用pickle進(jìn)行序列化和反序列化,幫助大家更好的理解和使用python的pickle庫(kù),感興趣的朋友可以了解下2020-09-09
Python正則表達(dá)式re.compile()和re.findall()詳解
re?模塊提供了不少有用的函數(shù),用以匹配字符串,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式re.compile()和re.findall()的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
解讀python正則表達(dá)式括號(hào)問(wèn)題
這篇文章主要介紹了python正則表達(dá)式括號(hào)問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
PYTHON實(shí)現(xiàn)SIGN簽名的過(guò)程解析
這篇文章主要介紹了PYTHON實(shí)現(xiàn)SIGN簽名的過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
OpenCV Python實(shí)現(xiàn)拼圖小游戲
這篇文章主要為大家詳細(xì)介紹了OpenCV Python實(shí)現(xiàn)拼圖版小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
python矩陣轉(zhuǎn)換為一維數(shù)組的實(shí)例
今天小編就為大家分享一篇python矩陣轉(zhuǎn)換為一維數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
matplotlib實(shí)現(xiàn)顯示偽彩色圖像及色度條
今天小編就為大家分享一篇matplotlib實(shí)現(xiàn)顯示偽彩色圖像及色度條,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
ROS1?rosbag的詳細(xì)使用并且使用python合并bag包的方法
這篇文章主要介紹了ROS1?rosbag的詳細(xì)使用,并且使用python來(lái)合并bag包,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05

