Python三十行代碼實(shí)現(xiàn)簡(jiǎn)單人臉識(shí)別的示例代碼
一、庫(kù)介紹
opencv,face_recognition,numpy,以及dlib
注意:
安裝opencv速度可能過(guò)慢,需要更換國(guó)內(nèi)鏡像源,參考:http://www.dhdzp.com/article/208359.htm
附帶Python3.7,64位版本 dlib whl下載路徑:dlib-19_jb51.rar
二、庫(kù)安裝
pip install opencv-python pip install face_recognition pip install numpy
dlib庫(kù)需進(jìn)入whl文件路徑下安裝
pip install dlib-19.17.99-cp37-cp37m-win_amd64.whl
三、face_recognition庫(kù)簡(jiǎn)單介紹
face_recognition的load_image_file方法會(huì)加載圖片,并返回一個(gè)ndarray類(lèi)型的數(shù)據(jù)
face_path = "C://Users//25103//Desktop//Python人臉識(shí)別//face//徐先生.jpg" image = face_recognition.load_image_file(face_path)
face_recognition的face_encoding方法,可從返回的ndarray類(lèi)型數(shù)據(jù)中提取人臉特征,可同時(shí)提取多個(gè)特征,返回值為列表類(lèi)型
face_encoding = face_recognition.face_encodings(image)[0]
face_recognition的face_location方法可以獲取圖片中所有人臉的位置,其返回值為一個(gè)列表
face_locations = face_recognition.face_locations(rgb_frame)
四、代碼實(shí)現(xiàn)以及注釋講解
# coding = utf-8
import dlib
import cv2
import face_recognition
import os
# 創(chuàng)建視頻對(duì)象
video_capture = cv2.VideoCapture(0)
# 加載需要識(shí)別的人臉圖片(這張圖片需要僅有一張臉)
# face_recognition的load_image_file方法會(huì)加載圖片,并返回一個(gè)ndarray類(lèi)型的數(shù)據(jù)
# ndarray類(lèi)型就是NumPy的數(shù)組類(lèi)型,其中的元素類(lèi)型可以一致也可以不一致
face_path = "C://Users//25103//Desktop//Python人臉識(shí)別//face//徐先生.jpg"
image = face_recognition.load_image_file(face_path)
# face_recognition的face_encoding方法,可從返回的ndarray類(lèi)型數(shù)據(jù)中提取人臉特征,可同時(shí)提取多個(gè)特征,返回值為列表類(lèi)型
# 因?yàn)檎掌兄挥幸粋€(gè)人臉,所以我們?nèi)×斜淼牡谝粋€(gè)值
face_encoding = face_recognition.face_encodings(image)[0]
while True:
# 從視頻對(duì)象中讀取一幀照片
ret,frame = video_capture.read()
# 將照片縮小,加快處理速度,這里將其縮小為原圖的1/4
# frame = cv2.rectangle(frame,(0,0),fx=0.25,fy=0.25)
# 因?yàn)閏v2用的是BGR色彩,我們組要將其轉(zhuǎn)化為RGB進(jìn)行處理
rgb_frame = frame[:,:,::-1] # 列表轉(zhuǎn)置操作
# face_recognition的face_location方法可以獲取圖片中所有人臉的位置,其返回值為一個(gè)列表
face_locations = face_recognition.face_locations(rgb_frame)
print("共從視頻中找到了{(lán)}張人臉".format(len(face_locations)))
# 獲取視頻中所有人臉的特征
face_encodings = face_recognition.face_encodings(rgb_frame,face_locations)
for face in face_encodings:
# 比較兩個(gè)特征值——encoding1與encoding2,匹配返回True,否則返回False。tolerance越低,顧名思義,容錯(cuò)率越低,返回值為列表類(lèi)型
match = face_recognition.compare_faces([face_encoding],face,tolerance=0.4)
name = "不認(rèn)識(shí)的人"
if match[0]:
# face為圖片名稱(chēng)
name = os.path.basename(face_path[0:-4])
print("找到了{(lán)}".format(name))
到此這篇關(guān)于Python三十行代碼實(shí)現(xiàn)簡(jiǎn)單人臉識(shí)別的示例代碼的文章就介紹到這了,更多相關(guān)Python 簡(jiǎn)單人臉識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python opencv人臉識(shí)別考勤系統(tǒng)的完整源碼
- 10分鐘學(xué)會(huì)使用python實(shí)現(xiàn)人臉識(shí)別(附源碼)
- 用Python實(shí)現(xiàn)簡(jiǎn)單的人臉識(shí)別功能步驟詳解
- python基于opencv實(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-cv2實(shí)現(xiàn)Harr+Adaboost人臉識(shí)別的示例
- python3.8動(dòng)態(tài)人臉識(shí)別的實(shí)現(xiàn)示例
- Python3 利用face_recognition實(shí)現(xiàn)人臉識(shí)別的方法
- python實(shí)現(xiàn)的人臉識(shí)別打卡系統(tǒng)
相關(guān)文章
Python網(wǎng)絡(luò)編程之Python編寫(xiě)TCP協(xié)議程序的步驟
這篇文章主要介紹了Python網(wǎng)絡(luò)編程編寫(xiě)TCP協(xié)議程序的開(kāi)發(fā)步驟,通過(guò)實(shí)例代碼介紹了TCP客戶(hù)端程序開(kāi)發(fā),案例講解多任務(wù)版TCP服務(wù)端程序開(kāi)發(fā),需要的朋友可以參考下2022-11-11
django 捕獲異常和日志系統(tǒng)過(guò)程詳解
這篇文章主要介紹了django-捕獲異常和日志系統(tǒng)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法
這篇文章主要介紹了python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法,涉及Python操作URL及網(wǎng)頁(yè)內(nèi)容的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解
最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成,下面這篇文章主要給大家介紹了關(guān)于Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作的相關(guān)資料,需要的朋友可以參考下2022-04-04
python+opencv實(shí)現(xiàn)目標(biāo)跟蹤過(guò)程
這篇文章主要介紹了python+opencv實(shí)現(xiàn)目標(biāo)跟蹤過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Python??Pandas教程之使用?pandas.read_csv()?讀取?csv
這篇文章主要介紹了Python Pandas教程之使用pandas.read_csv()讀取csv,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

