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 cv2from keras.models import load_modelimport numpy as npimport chineseTextimport datetimestartTime = 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: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 實(shí)現(xiàn)表情識(shí)別的詳細(xì)內(nèi)容,更多關(guān)于python 表情識(shí)別的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼2. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)3. jsp EL表達(dá)式詳解4. jsp中sitemesh修改tagRule技術(shù)分享5. JavaWeb Servlet中url-pattern的使用6. 爬取今日頭條Ajax請(qǐng)求7. 如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁(yè)中的JS 文件8. ASP基礎(chǔ)知識(shí)VBScript基本元素講解9. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)10. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除
