Python調(diào)用API接口實(shí)現(xiàn)人臉識(shí)別
在開(kāi)始之前,先問(wèn)問(wèn)大家:
什么是百度Aip模塊?
百度AI平臺(tái)提供了很多的API接口供開(kāi)發(fā)者快速的調(diào)用運(yùn)用在項(xiàng)目中
本文寫(xiě)的是使用百度AI的**在線接口SDK模塊(baidu-aip)**進(jìn)行實(shí)現(xiàn)人臉識(shí)別除了人臉識(shí)別,其他api功能的調(diào)用也同理。
準(zhǔn)備工作
本機(jī)環(huán)境
- 系統(tǒng):win11
- Python版本:3.9.7
- 編輯器:VS2022
安裝baidu-aip模塊
win + R 輸入cmd打開(kāi)命令提示符
執(zhí)行安裝百度AI模塊
pip install baidu-aip
登錄百度AI平臺(tái)創(chuàng)建應(yīng)用
打開(kāi)百度AI平臺(tái) 進(jìn)行登錄
在控制臺(tái)中找到人臉識(shí)別
按自己要求創(chuàng)建應(yīng)用
最后得到應(yīng)用的AppID API Key Secret Key
記下值 等等會(huì)用到
AppID:10000000 API Key:xxxxxxxxxxxxxxxxxxxxxxxx Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
代碼流程
導(dǎo)入baidu-aip模塊
打開(kāi)VS2022(VSCode PyCharm Sypder等同理)創(chuàng)建一個(gè)py文件
輸入
from aip import AipFace
聲明上文獲取的AppID API Key Secret Key
APP_ID = '10000000' API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
初始化百度AIP 人臉識(shí)別模塊
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
創(chuàng)建人臉檢測(cè)函數(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
將圖片打開(kāi)為 BASE64格式
但是導(dǎo)入到百度AI中需要為字符串格式,所以返回為字符串
def imageToBase64(imagePath): with open(imagePath, 'rb') as f: image = base64.b64encode(f.read()) return str(image, encoding='utf-8')
打開(kāi)圖片進(jìn)行檢測(cè)
先準(zhǔn)備一張圖片pic1.jpg
調(diào)用函數(shù)
face_detect(imageToBase64("pic1.jpg"))
提示調(diào)用成功:
遇到的問(wèn)題
運(yùn)行時(shí)候提示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
win + R 輸入 regedit打開(kāi)注冊(cè)表,找到
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
把ProxyEnable的值改為0
再運(yùn)行即可
延伸出使用其他功能
除了人臉檢測(cè)還可以使用人臉比、人臉?biāo)阉鲗?duì)等函數(shù),調(diào)用方法同理,比如人臉比對(duì)。
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 需要修改為自己的
到此這篇關(guān)于Python調(diào)用API接口實(shí)現(xiàn)人臉識(shí)別的文章就介紹到這了,更多相關(guān)Python調(diào)用API接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tensorflow與Keras自適應(yīng)使用顯存方式
這篇文章主要介紹了Tensorflow與Keras自適應(yīng)使用顯存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Linux下Pycharm、Anaconda環(huán)境配置及使用踩坑
這篇文章主要介紹了Linux下Pycharm、Anaconda環(huán)境配置及使用踩坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python中實(shí)現(xiàn)輸入超時(shí)及如何通過(guò)變量獲取變量名
這篇文章主要介紹了Python中實(shí)現(xiàn)輸入超時(shí)以及通過(guò)變量獲取變量的名字,本文給大家分享了解決思路主要是通過(guò)多線程法實(shí)現(xiàn),需要的朋友可以參考下2020-01-01Python使用tkinter模塊實(shí)現(xiàn)推箱子游戲
這篇文章主要介紹了Python使用tkinter模塊實(shí)現(xiàn)推箱子游戲,主要分享兩點(diǎn),第一就是這個(gè)程序的實(shí)現(xiàn)過(guò)程,第二點(diǎn)就是我在編寫(xiě)過(guò)程中的一些思考。本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參看下吧2019-10-10在Python中實(shí)現(xiàn)決策樹(shù)算法的示例代碼
決策樹(shù)(Decision Tree)是一種常見(jiàn)的機(jī)器學(xué)習(xí)算法,被廣泛應(yīng)用于分類和回歸任務(wù)中,并且再其之上的隨機(jī)森林和提升樹(shù)等算法一直是表格領(lǐng)域的最佳模型,所以本文將介紹理解其數(shù)學(xué)概念,并在Python中動(dòng)手實(shí)現(xiàn),這可以作為了解這類算法的基礎(chǔ)知識(shí)2023-08-08Tensorflow之MNIST CNN實(shí)現(xiàn)并保存、加載模型
這篇文章主要為大家詳細(xì)介紹了Tensorflow之MNIST CNN實(shí)現(xiàn)并保存、加載模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06在Python的Django框架中調(diào)用方法和處理無(wú)效變量
這篇文章主要介紹了在Python的Django框架中調(diào)用方法和處理無(wú)效變量的方法,是Django編程中的基礎(chǔ)操作,需要的朋友可以參考下2015-07-07python 命名規(guī)范知識(shí)點(diǎn)匯總
這里給大家分享的是在python開(kāi)發(fā)過(guò)程中需要注意的命名的規(guī)范的知識(shí)匯總,有需要的小伙伴可以查看下2020-02-02