日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python人脸识别表情检测器(2):基本框架的制作

發(fā)布時間:2024/1/8 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python人脸识别表情检测器(2):基本框架的制作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

很好,資源包都下載好了,什么w(゚Д゚)w,還沒有?你已經(jīng)過時辣,關(guān)注我,即可看見關(guān)于python表情檢測器的內(nèi)容(滑稽)
全民制作人們,大家好,我是練習時常兩年半(強行兩年半)的程序愛好者,你們懂的,喜歡 吃,喝,拉,撒。music~
如果你還沒有下載好,那么可以看我的文章了解到一些要安裝的包,這里聲明一下,表情檢測器的內(nèi)容是從一另一位人的文章里面看到的,但是基本的算法很那個人不一樣,是我自己的版本。
本篇文章適合一些學習了python,卻不知道怎么用的大神(小白)們使用哦~
好的,我們先創(chuàng)建一個類,還有這個函數(shù)的基本框架,代碼如下

import dlib import numpy import cv2class Face_Emotion():def __init__(self):self.detector=dlib.get_frontal_face_detector()#獲得dlib的檢測器self.cap=cv2.VideoCapture(0)#連接攝像頭self.predictor=dlib.shape_predictor("bla")#自己附上自己的地址self.cap.set(3,480)

在我講解之前,真的很推薦先看我之前的一個文章(滑稽),那里面有講解需要的語句。這個框架主要是生成一個攝像頭和加載必要的數(shù)據(jù)和包。這個就是基礎(chǔ)的東西了。那么繼續(xù),因為我們的人臉識別還沒有弄完。 接下來的步驟就是獲取攝像頭獲取的數(shù)據(jù),取灰度,給dlib識別,把dlib給出的數(shù)據(jù)再給cv2,對視頻本身進行處理,美滋滋。

def test(self):while(self.cap.isOpened):#當攝像頭打開的時候flag, im_rd = self.cap.read()#這一行是用來提取拿到的數(shù)據(jù)的k = cv2.waitKey(1)#這里是讓循環(huán)延遲1毫秒img_gray = cv2.cvtColor(im_rd, cv2.COLOR_RGB2GRAY)#這里讓被提取的數(shù)據(jù)取灰度dets=self.detector(img_gray,0)#這里給dlib之前加載的檢測處理,識別圖片中的人臉

這個的主要就還是處理圖片+識別圖片,那么之后就是識別出臉之后加一些騷操作了,比如是框出你的臉蛋。WOW,想想都覺得很酷呢,所以,只要關(guān)注我,不錯過其他python騷操作(滑稽)。那么就加上騷操作之后, 會長成什么亞子呢?

if (len(dets))!=0:for i in range(len(dets)):for k, d in enumerate(dets):cv2.rectangle(im_rd, (d.left(), d.top()), (d.right(), d.bottom()), (0, 0, 255))#框出人臉的外形shape = self.predictor(im_rd, d)#記錄人臉68點的數(shù)據(jù)for i in range(68):cv2.circle(im_rd, (shape.part(i).x, shape.part(i).y), 2, (0, 255, 0), -1, 8)#圈出臉上的68點cv2.putText(im_rd, str(i), (shape.part(i).x, shape.part(i).y), cv2.FONT_HERSHEY_SIMPLEX, 0.5,(255, 255, 255))#把數(shù)字標上68點

嘿!騷操作來了,是時候拉一拉你身邊的老鐵,分享一下。運行一下自己看一下吧!那么我們把整個代碼拿出來,給你看一下把。

import cv2 import dlib import numpy from sklearn import svmclass Face_Learn():def __init__(self):self.detector=dlib.get_frontal_face_detector()#加載dlib檢測器self.predictor=dlib.shape_predictor("lian xi shi chang liang nian ban")#自己加載地址self.cap=cv2.VideoCapture(0)#連接攝像頭self.cap.set(10,0)def test(self):while(self.cap.isOpened):flag, im_rd = self.cap.read()#獲取圖像k = cv2.waitKey(1)#一毫秒的延遲img_gray = cv2.cvtColor(im_rd, cv2.COLOR_RGB2GRAY)#取圖像灰度dets=self.detector(img_gray,0)#檢測是否有臉font = cv2.FONT_HERSHEY_SIMPLEX#加載顯示要用的字體if (len(dets))!=0:#如果有臉for i in range(len(dets)):#對每一個臉挨個的處理for k, d in enumerate(dets):#獲取臉的特征值cv2.rectangle(im_rd, (d.left(), d.top()), (d.right(), d.bottom()), (0, 0, 255))#框出人臉shape = self.predictor(im_rd, d)#獲取臉68點的坐標值for i in range(68):cv2.circle(im_rd, (shape.part(i).x, shape.part(i).y), 2, (0, 255, 0), -1, 8)#用圓圈分布在68點上cv2.putText(im_rd, str(i), (shape.part(i).x, shape.part(i).y), cv2.FONT_HERSHEY_SIMPLEX, 0.5,(255, 255, 255))#將數(shù)字分布在68點cv2.imshow("camera",im_rd)#顯示出圖像 if __name__ == "__main__":face=Face_Learn()face.test()

整個代碼就寫完了,其中很多代碼都來自Qian, Andrew. “from_video.PyAndrew_Qian/Dlib人臉表情識別 - 碼云 Gitee.com.” 碼云,gitee.com/Andrew_Qian/face/blob/master/from_video.py. 不過我加了一些自己的理解以及注釋,不過在繼續(xù)往后寫的時候,基本的算法就是不一樣的。
好了,在今后的文章中我還準備了,我自己寫代碼,寫文章的原創(chuàng)文章【滑稽】

總結(jié)

以上是生活随笔為你收集整理的python人脸识别表情检测器(2):基本框架的制作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。