Python實(shí)現(xiàn)人臉識別的詳細(xì)圖文教程
叨叨幾句
哈嘍兄弟們,今天實(shí)現(xiàn)一下人臉識別。
先問大家一個問題
什么是百度Aip模塊?
百度AI平臺提供了很多的API接口供開發(fā)者快速的調(diào)用運(yùn)用在項目中
本文寫的是使用百度AI的在線接口SDK模塊(baidu-aip)進(jìn)行實(shí)現(xiàn)人臉識別
除了人臉識別,其他api功能的調(diào)用也同理。
準(zhǔn)備工作
本機(jī)環(huán)境
- 系統(tǒng):win11
- Python版本:3.9.7
- 編輯器:VS2022
安裝baidu-aip模塊
win + R 輸入cmd打開命令提示符

執(zhí)行安裝百度AI模塊
pip install baidu-aip

登錄百度AI平臺創(chuàng)建應(yīng)用
打開百度AI平臺 進(jìn)行登錄
在控制臺中找到人臉識別

按自己要求創(chuàng)建應(yīng)用

最后得到應(yīng)用的AppID API Key Secret Key

記下值 等等會用到
AppID:10000000 API Key:xxxxxxxxxxxxxxxxxxxxxxxx Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
代碼流程
導(dǎo)入baidu-aip模塊
打開VS2022(VSCode PyCharm Sypder等同理)創(chuàng)建一個py文件
輸入
from aip import AipFace
聲明上文獲取的AppID API Key Secret Key
APP_ID = '10000000' API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
初始化百度AIP 人臉識別模塊
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
創(chuàng)建人臉檢測函數(shù)
def face_detect(image):
result = client.detect(image, image_type='BASE64')
print(result)
return result
輸入的圖片image必須是BASE64格式
將圖片轉(zhuǎn)為BASE64格式
導(dǎo)入base64包
import base64
將圖片打開為 BASE64格式
但是導(dǎo)入到百度AI中需要為字符串格式,所以返回為字符串
def imageToBase64(imagePath):
with open(imagePath, 'rb') as f:
image = base64.b64encode(f.read())
return str(image, encoding='utf-8')
打開圖片進(jìn)行檢測
先準(zhǔn)備一張圖片pic1.jpg

調(diào)用函數(shù)
face_detect(imageToBase64("pic1.jpg"))
提示調(diào)用成功:

遇到的問題
運(yùn)行時候提示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)

win + R 輸入 regedit打開注冊表,找到
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

把ProxyEnable的值改為0

再運(yùn)行即可
延伸出使用其他功能
除了人臉檢測還可以使用人臉比、人臉?biāo)阉鲗Φ群瘮?shù),調(diào)用方法同理,比如人臉比對。
def face_match(image1, image2):
result = client.match([
{
'image': image1,
'image_type': 'BASE64',
},
{
'image': image2,
'image_type': 'BASE64',
}
])
print(result)
return result
人臉?biāo)阉?/p>
def face_search(image,group_id_list):
result = client.search(image, image_type='BASE64',group_id_list=group_id_list)
print(result)
return result
APP_ID API_KEY SECRET_KEY 需要修改為自己的
總結(jié)
到此這篇關(guān)于Python實(shí)現(xiàn)人臉識別的文章就介紹到這了,更多相關(guān)Python人臉識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)
這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Python基礎(chǔ)之hashlib模塊subprocess模塊logging模塊
這篇文章主要為大家介紹了Python基礎(chǔ)之hashlib模塊subprocess模塊logging模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Python小游戲之300行代碼實(shí)現(xiàn)俄羅斯方塊
這篇文章主要給大家介紹了關(guān)于Python小游戲之300行代碼實(shí)現(xiàn)俄羅斯方塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2019-01-01
Python matplotlib畫圖時圖例說明(legend)放到圖像外側(cè)詳解
這篇文章主要介紹了Python matplotlib畫圖時圖例說明(legend)放到圖像外側(cè)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python優(yōu)雅實(shí)現(xiàn)二分查找的示例詳解
二分查找是一種高效的搜索算法,用于在有序數(shù)組中查找特定元素,本文將介紹二分查找的基本原理,并通過Python代碼進(jìn)行詳細(xì)講解,需要的可以參考一下2023-07-07
淺談tensorflow語義分割api的使用(deeplab訓(xùn)練cityscapes)
這篇文章主要介紹了淺談tensorflow語義分割api的使用(deeplab訓(xùn)練cityscapes),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python用zip函數(shù)同時遍歷多個迭代器示例詳解
這篇文章主要給大家進(jìn)行介紹了Python如何用zip函數(shù)同時遍歷多個迭代器,文中給出了示例以及原理和注意事項,相信會對大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11

