当前位置: 首页 > news >正文

百度智能云API实现人脸识别

百度API实现人脸识别

  • 创建API应用
    • 1. 打开百度智能云
    • 2. 选择人工智能中的人脸识别
    • 3. 登入或者注册百度云账号
    • 4. 创建应用
    • 5. 添加人脸库
    • 6.记录相关KEY
  • 代码调用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实现人脸识别了

# 会保存拍照后的图片,然后编码为BASE64from aip import AipFace
import urllib.request
import base64
import time
import cv2# 百度人脸识别API账号信息
APP_ID = '******' # 应用的APP_ID
API_KEY = '************' # 应用的API_KEY
SECRET_KEY = '********' # 应用的SECRET_KEYclient = 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 1else:print("对不起,我不认识你!")return 0elif result['error_msg'] == 'pic not has face':print('检测不到人脸')return 0else: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()

需要完整项目工程可私聊

http://www.dtcms.com/a/557603.html

相关文章:

  • AOI在产品质量检测制造领域的应用
  • 哪里有网站培训的罗湖中小网站建设
  • CentOS Stream 网络故障排查:静态IP丢失、无法访问的完整解决方案
  • wp网站建设app图标制作
  • 昆明seo网站建设费用店面设计英文
  • 基于LLM的智能数据查询与分析系统:实现思路与完整方案
  • 技术准备十三:Redis++
  • 顺企网属于什么网站家教网站代理
  • Lua代码混淆-Prometheus方案教程
  • 星夜智能建站平台静态网站开发文章
  • 预测市场:人类信号的回潮与金融权力的新边界
  • C#网络编程完全指南:从Socket到TCP/UDP实战应用
  • 【Linux系统编程】5. 基础开发⼯具(下)
  • 网站如何做前后端分离南宁市网站开发
  • 深入理解 .NET Core 中的 IServiceScopeFactory:用法、场景与静态类依赖注入
  • wordpress找不到jquery长春做网站seo
  • “数字粮仓” - 物联网系统
  • 【愚公系列】《MCP协议与AI Agent开发》003-LLM 的输入输出机制与上下文表示
  • 【Linux系统编程】5. 基础开发⼯具(上)
  • 企业门户网站 源码网络营销方案内容
  • MySQL的数据库事务、ACID特性以及实战案例
  • 常平东莞网站建设保卫处网站建设
  • Redshift COPY 错误排查:字符串长度超出 DDL 定义
  • DeepSeek-OCR:无损压缩新突破,解码精度高达97%
  • 天气雷达旁瓣回波
  • C++ QT 结合 OpenCV 12周项目制学习计划(普通版)
  • 建材做网销哪个网站好网络推广员为什么做不长
  • 消息漫游(Message Roaming)技术 云端历史、多端一致与可观测性的系统化落地
  • 计算机网络学习笔记】初始网络之网络发展和OSI七层模型
  • JavaEE——多线程1(超详细版)