基于python3 OpenCV3實現(xiàn)靜態(tài)圖片人臉識別
本文采用OpenCV3和Python3 來實現(xiàn)靜態(tài)圖片的人臉識別,采用的是Haar文件級聯(lián)。
首先需要將OpenCV3源代碼中找到data文件夾下面的haarcascades文件夾里面包含了所有的OpenCV的人臉檢測的XML文件,這些文件可以用于檢測靜態(tài),視頻文件,攝像頭視頻流中的人臉,找到haarcascades文件夾后,復制里面的XML文件,在你新建的Python腳本文件目錄里面建一個名為cascades的文件夾,并把復制的XML文件粘貼到新建的文件夾中一些有人臉的的圖片,這個大家可以自行百度。
創(chuàng)建一個識別人臉的函數(shù)detect()
def detect(img): #函數(shù)聲明了一個face_cascade的變量,該變量為CascadeClassifier的對象,用于檢測人臉(frontalface) face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml') #進行灰度化處理 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #進行實際的人臉檢測,傳遞參數(shù)是scaleFactor和minNeighbor,分別表示人臉檢測過程中每次迭代時圖像的壓縮率和每個人臉矩形保留近鄰數(shù)目的最小值 faces = face_cascade.detectMultiScale(gray,1.3,5) for (x,y,w,h) in faces: #依次提取faces變量中的值來畫矩形 img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2) cv2.imshow('face_track',img) #避免圖形窗口關(guān)閉 cv2.waitKey(0)
上面就是主要的函數(shù),當然你也可以不用函數(shù),直接寫在while循環(huán)里面,下面是完整的程序代碼
import cv2 filename = cv2.imread('face_2.jpg') def detect(img): face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray,1.3,5) for (x,y,w,h) in faces: img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2) cv2.imshow('face_track',img) cv2.waitKey(0) if __name__ == "__main__": detect(filename)
運行結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Python基于opencv實現(xiàn)的人臉識別(適合初學者)
- python opencv人臉識別考勤系統(tǒng)的完整源碼
- python實現(xiàn)圖片,視頻人臉識別(opencv版)
- Python基于Opencv來快速實現(xiàn)人臉識別過程詳解(完整版)
- Python opencv實現(xiàn)人眼/人臉識別以及實時打碼處理
- Python基于OpenCV庫Adaboost實現(xiàn)人臉識別功能詳解
- python調(diào)用OpenCV實現(xiàn)人臉識別功能
- python opencv3實現(xiàn)人臉識別(windows)
- 使用 Python 和 OpenCV 實現(xiàn)實時人臉識別功能
相關(guān)文章
python抓取網(wǎng)頁時字符集轉(zhuǎn)換問題處理方案分享
python學習過程中發(fā)現(xiàn)英文不好學起來挺困難的,其中小弟就遇到一個十分蛋疼的問題,百度了半天就沒找到解決辦法~囧~摸索了半天自己解決了,記錄下來與君共勉。2014-06-06如何解決vscode下powershell終端進入python虛擬環(huán)境venv問題
這篇文章主要介紹了如何解決vscode下powershell終端進入python虛擬環(huán)境venv問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05使用python讀取.text文件特定行的數(shù)據(jù)方法
今天小編就為大家分享一篇使用python讀取.text文件特定行的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Mac下Supervisor進程監(jiān)控管理工具的安裝與配置
這篇文章主要介紹了Mac下Supervisor進程監(jiān)控管理工具的安裝與配置,Supervisor 是由 Python 寫成,是一個類 unix 操作系統(tǒng)下的進程監(jiān)控管理工具,本文講解MAC系統(tǒng)下的配置與安裝,需要的朋友可以參考下2014-12-12