百度智能云API实现人脸识别
手把手实现百度API人脸识别
·
百度API实现人脸识别
创建API应用
1. 打开百度智能云
https://cloud.baidu.com/
点击产品
2. 选择人工智能中的人脸识别


3. 登入或者注册百度云账号

4. 创建应用
登入后,点击应用列表,选择创建应用,输入应用名称及应用描述,

5. 添加人脸库





6.记录相关KEY
复制下APPID、API Key、Secret Key
应用创建就完成,接下来就是用代码调用API实现人脸识别
代码调用API实现人脸识别
更改自己创建应用的APPID、API Key、Secret Key,以及创建人脸数据库的用户组,就可以调用API实现人脸识别了
# 会保存拍照后的图片,然后编码为BASE64
from aip import AipFace
import urllib.request
import base64
import time
import cv2
# 百度人脸识别API账号信息
APP_ID = '******' # 应用的APP_ID
API_KEY = '************' # 应用的API_KEY
SECRET_KEY = '********' # 应用的SECRET_KEY
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
IMAGE_TYPE = 'BASE64'
GROUP = '******' # 创建人脸数据库时的用户组名称
# 全局复用摄像头对象(只初始化一次,减少耗时)
cap = cv2.VideoCapture(0)
# 提前设置摄像头分辨率(平衡速度和识别效果)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
# 优化拍照函数:复用摄像头,减少等待
def getimage():
# 直接从已初始化的摄像头读取画面,无需重复打开
ret, frame = cap.read()
if not ret:
print("摄像头读取失败")
return False
# 保存图片(可选:若无需本地保存,可直接编码为BASE64)
cv2.imwrite('test.jpg', frame)
print('拍照完成')
return True
# 图片格式转换(转为BASE64)
def transimage():
with open('test.jpg', 'rb') as f:
img = base64.b64encode(f.read())
return img
# 上传到百度API进行人脸检测与识别(不变)
def go_api(image):
result = client.search(str(image, 'utf-8'), IMAGE_TYPE, GROUP)
if result['error_msg'] == 'SUCCESS':
name = result['result']['user_list'][0]['user_id']
score = result['result']['user_list'][0]['score']
if score > 80 and name in ['xiaohua', 'xiaoming', 'lisi']:
print(f"欢迎{name}!")
return 1
else:
print("对不起,我不认识你!")
return 0
elif result['error_msg'] == 'pic not has face':
print('检测不到人脸')
return 0
else:
print(f"错误:{result['error_code']} {result['error_msg']}")
return 0
# 主函数:移除不必要的等待
if __name__ == '__main__':
try:
while True:
print('准备开始识别...')
# 拍照(复用摄像头,无额外等待)
if not getimage():
time.sleep(1) # 失败时短暂等待
continue
# 转换格式并识别
img = transimage()
res = go_api(img)
if res == 1:
print("开门")
else:
print("关门")
print('稍等1秒进入下一轮识别') # 缩短间隔为1秒(可按需调整)
time.sleep(1)
finally:
# 程序结束时释放摄像头(重要)
cap.release()
cv2.destroyAllWindows()
需要完整项目工程可私聊
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)