91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中如何實現簡單人臉識別的示例

發布時間:2021-03-26 10:47:10 來源:億速云 閱讀:171 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Python中如何實現簡單人臉識別的示例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、庫介紹

opencv,face_recognition,numpy,以及dlib

注意:
安裝opencv速度可能過慢,需要更換國內鏡像源。

二、庫安裝

pip install opencv-python
pip install face_recognition
pip install numpy

dlib庫需進入whl文件路徑下安裝

pip install dlib-19.17.99-cp37-cp37m-win_amd64.whl

三、face_recognition庫簡單介紹

face_recognition的load_image_file方法會加載圖片,并返回一個ndarray類型的數據

face_path = "C://Users//25103//Desktop//Python人臉識別//face//徐先生.jpg"
image = face_recognition.load_image_file(face_path)

face_recognition的face_encoding方法,可從返回的ndarray類型數據中提取人臉特征,可同時提取多個特征,返回值為列表類型

face_encoding = face_recognition.face_encodings(image)[0]

face_recognition的face_location方法可以獲取圖片中所有人臉的位置,其返回值為一個列表

face_locations = face_recognition.face_locations(rgb_frame)

四、代碼實現以及注釋講解

# coding = utf-8
import dlib
import cv2
import face_recognition
import os

# 創建視頻對象
video_capture = cv2.VideoCapture(0)

# 加載需要識別的人臉圖片(這張圖片需要僅有一張臉)
# face_recognition的load_image_file方法會加載圖片,并返回一個ndarray類型的數據
# ndarray類型就是NumPy的數組類型,其中的元素類型可以一致也可以不一致
face_path = "C://Users//25103//Desktop//Python人臉識別//face//徐先生.jpg"
image = face_recognition.load_image_file(face_path)

# face_recognition的face_encoding方法,可從返回的ndarray類型數據中提取人臉特征,可同時提取多個特征,返回值為列表類型
# 因為照片中只有一個人臉,所以我們取列表的第一個值
face_encoding = face_recognition.face_encodings(image)[0]

while True:
 # 從視頻對象中讀取一幀照片
 ret,frame = video_capture.read()
 # 將照片縮小,加快處理速度,這里將其縮小為原圖的1/4
 # frame = cv2.rectangle(frame,(0,0),fx=0.25,fy=0.25)
 # 因為cv2用的是BGR色彩,我們組要將其轉化為RGB進行處理
 rgb_frame = frame[:,:,::-1] # 列表轉置操作

 # face_recognition的face_location方法可以獲取圖片中所有人臉的位置,其返回值為一個列表
 face_locations = face_recognition.face_locations(rgb_frame)
 print("共從視頻中找到了{}張人臉".format(len(face_locations)))

 # 獲取視頻中所有人臉的特征
 face_encodings = face_recognition.face_encodings(rgb_frame,face_locations)

 for face in face_encodings:
 # 比較兩個特征值——encoding1與encoding2,匹配返回True,否則返回False。tolerance越低,顧名思義,容錯率越低,返回值為列表類型
 match = face_recognition.compare_faces([face_encoding],face,tolerance=0.4)
 name = "不認識的人"

 if match[0]:
  # face為圖片名稱
  name = os.path.basename(face_path[0:-4])
 print("找到了{}".format(name))

感謝各位的閱讀!關于“Python中如何實現簡單人臉識別的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷波县| 富裕县| 武川县| 芜湖市| 扬中市| 临江市| 尖扎县| 合江县| 即墨市| 卓资县| 革吉县| 宁波市| 乌鲁木齐市| 佛山市| 西乡县| 福州市| 扎囊县| 东港市| 萝北县| 景德镇市| 泌阳县| 天水市| 柘荣县| 友谊县| 苍山县| 迁安市| 鹰潭市| 古丈县| 杂多县| 南华县| 大田县| 灌云县| 贵溪市| 苗栗县| 竹北市| 郸城县| 滦平县| 水城县| 抚顺县| 澄迈县| 张家口市|