百度AI平台提供了很多的API接口
供开发者快速的调用运用在项目中
本文写的是使用百度AI的在线接口SDK模块
(baidu-aip)进行实现人脸识别
除了人脸识别,其他api功能的调用也同理。
有什么python相关报错解答自己不会的、或者源码资料/模块安装/
女装大佬精通技巧都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者+V:python10010问我
本机环境
系统:win11
Python版本:3.9.7
编辑器:VS2022
安装baidu-aip模块
win + R 输入cmd打开命令提示符
pip install baidu-aip
打开百度AI平台 进行登录
在控制台中找到人脸识别
按自己要求创建应用
最后得到应用的AppID API Key Secret Key
AppID:10000000
API Key:xxxxxxxxxxxxxxxxxxxxxxxx
Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
导入baidu-aip模块
打开VS2022(VSCode PyCharm Sypder等同理)创建一个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)
创建人脸检测函数
def face_detect(image):
result = client.detect(image, image_type='BASE64')
print(result)
return result
输入的图片image必须是BASE64格式
将图片转为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')
打开图片进行检测
face_detect(imageToBase64("pic1.jpg"))
遇到的问题
运行时候提示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
延伸出使用其他功能
除了人脸检测还可以使用人脸比、人脸搜索对等函数,调用方法同理,比如人脸比对。
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)
APP_ID API_KEY SECRET_KEY 需要修改为自己的
今天的分享就到这里结束了,完整代码点击下方V-x名片获取