Python實現(xiàn)人臉識別的詳細圖文教程
叨叨幾句
哈嘍兄弟們,今天實現(xiàn)一下人臉識別。
先問大家一個問題
什么是百度Aip模塊?
百度AI平臺提供了很多的API接口供開發(fā)者快速的調(diào)用運用在項目中
本文寫的是使用百度AI的在線接口SDK模塊(baidu-aip)進行實現(xiàn)人臉識別
除了人臉識別,其他api功能的調(diào)用也同理。
準備工作
本機環(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平臺 進行登錄
在控制臺中找到人臉識別
按自己要求創(chuàng)建應(yīng)用
最后得到應(yīng)用的AppID API Key Secret Key
記下值 等等會用到
AppID:10000000 API Key:xxxxxxxxxxxxxxxxxxxxxxxx Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
代碼流程
導入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格式
導入base64包
import base64
將圖片打開為 BASE64格式
但是導入到百度AI中需要為字符串格式,所以返回為字符串
def imageToBase64(imagePath): with open(imagePath, 'rb') as f: image = base64.b64encode(f.read()) return str(image, encoding='utf-8')
打開圖片進行檢測
先準備一張圖片pic1.jpg
調(diào)用函數(shù)
face_detect(imageToBase64("pic1.jpg"))
提示調(diào)用成功:
遇到的問題
運行時候提示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
win + R 輸入 regedit打開注冊表,找到
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
把ProxyEnable的值改為0
再運行即可
延伸出使用其他功能
除了人臉檢測還可以使用人臉比、人臉搜索對等函數(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
人臉搜索
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實現(xiàn)人臉識別的文章就介紹到這了,更多相關(guān)Python人臉識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用plt.boxplot()函數(shù)繪制箱圖、常用方法以及含義詳解
箱線圖一般用來展現(xiàn)數(shù)據(jù)的分布,如上下四分位值、中位數(shù)等,也可以直觀地展示異常點,下面這篇文章主要給大家介紹了關(guān)于Python使用plt.boxplot()函數(shù)繪制箱圖、常用方法以及含義詳解的相關(guān)資料,需要的朋友可以參考下2022-08-08Python數(shù)字圖像處理代數(shù)之加減乘運算
這篇文章主要介紹了Python數(shù)字圖像處理代數(shù)運算,對其中的加、減、乘運算分別作了詳細的講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Pyinstaller 打包發(fā)布經(jīng)驗總結(jié)
這篇文章主要介紹了Pyinstaller 打包發(fā)布經(jīng)驗總結(jié),使用Pyinstaller打包Python項目包含了大量的坑,感興趣的可以一起來了解一下2020-06-06Python對Tornado請求與響應(yīng)的數(shù)據(jù)處理
這篇文章主要介紹了Python對Tornado請求與響應(yīng)的數(shù)據(jù)處理,需要的朋友可以參考下2020-02-02