百度人脸识别:最简单的Python调用

简介: 百度人脸识别:最简单的Python调用
  • 安装
​pip install baidu-aip
  • 代码
# -*- coding: UTF-8 -*-  
from aip import AipFace
import base64
# 参考《百度人脸识别:功能开通》
BAIDU_APP_ID     = "15"
BAIDU_API_KEY    = "4o"
BAIDU_SECRET_KEY = "PY"
BAIDU_IMAGE_TYPE = "BASE64"
BAIDU_GROUP_ID   = "quantum6"
AVATAR_PATH      = "../faceid_avatar/"
# 图片转换为base64
def baidu_face_image_to_base64(image_file):
    image_open = open(image_file, 'rb')
    image_data = base64.b64encode(image_open.read())
    image_data = str(image_data)
    return image_data
# 初始化,读取某个目录的员工头像,并加到百度上
def baidu_face_init():
    global baidu_face_client
    baidu_face_client = AipFace(BAIDU_APP_ID, BAIDU_API_KEY, BAIDU_SECRET_KEY)
    images = glob.glob(os.path.join(AVATAR_PATH, "*.jpg"))
    if len(images) == 0:
        raise RuntimeError("no person in the database, please check folder.")
    for image in images:
        image_base64 = baidu_face_image_to_base64(image)
        # 从文件名中截取
        user_id = os.path.basename(image)[:-4]
        response = baidu_face_client.addUser(image_base64, BAIDU_IMAGE_TYPE, BAIDU_GROUP_ID, user_id)
        print(response)
# 检查这个图片是否是员工
def baidu_face_check(image):
    image_base64 = baidu_face_image_to_base64(image)
    response = baidu_face_client.search(image_base64, BAIDU_IMAGE_TYPE, BAIDU_GROUP_ID)
    print(response)
    if (0 == response["error_code"]):
        response = response["result"]["user_list"][0]
        user_id  = response["user_id"]
        score    = response["score"]
        print(user_id, score)
        return user_id, score
    else:
        return "error"
# 检查是否有人脸
def baidu_face_dected(image_file):
    options = {}
    options["max_face_num"] = 3
    image_base64 = baidu_face_image_to_base64(image)
    response = baidu_face_client.detect(image_base64, BAIDU_IMAGE_TYPE, options)
    if (0 == response["error_code"]):
        print(response["result"])
    else:
        return TEXT_NOT_FOUND
# TEST
baidu_face_init()
TEST_STRANGER_FILE="../faceid_stranger_avatar/2.jpg"
# 可以先判断是否有人脸,再进行比较
#baidu_face_dected(TEST_STRANGER_FILE)
baidu_face_check(TEST_STRANGER_FILE)
目录
相关文章
|
7月前
|
数据采集 Python
爬虫实战-Python爬取百度当天热搜内容
爬虫实战-Python爬取百度当天热搜内容
212 0
|
7月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
422 0
|
7月前
|
算法 安全 搜索推荐
深入浅出:使用Python实现人脸识别系统
在当今数字化时代,人脸识别技术已成为安全验证、个性化服务等领域的关键技术。本文将引导读者从零开始,逐步探索如何利用Python和开源库OpenCV来构建一个基础的人脸识别系统。本文不仅会详细介绍环境搭建、关键算法理解,还会提供完整的代码示例,帮助读者理解人脸识别的工作原理,并在实际项目中快速应用。通过本文,您将能够掌握人脸识别的基本概念、关键技术和实现方法,为进一步深入学习和研究打下坚实的基础。
|
7月前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
|
4月前
|
数据采集 监控 搜索推荐
基于python的百度资讯爬虫的设计与实现
本文介绍了一个基于Python语言的网络爬虫设计与实现,该爬虫利用urllib.request和BeautifulSoup库从百度新闻中抓取新闻标题、链接、内容摘要和来源信息,通过模拟浏览器行为和添加随机等待时间来规避反爬机制,为新闻数据分析和舆情监控提供支持。
131 2
|
4月前
|
Python
告别死记硬背:掌握Python正则表达式re模块的高效应用&[面向百度编程]
Python中正则表达式的高效应用,通过内置的`re`模块,讲解了如何匹配、提取和替换字符串,并提供了相关示例代码,同时提倡通过实践来掌握正则表达式的使用,而不是仅仅依赖网络搜索。
54 1
|
4月前
|
数据采集 存储 自然语言处理
【优秀python案例】基于百度贴吧的数据采集与文本分析设计与实现
本文介绍了百度贴吧数据采集与文本分析的设计与实现,包括自动化采集帖子数据、进行情感分析和主题分析,以及使用可视化技术展示分析结果。
121 4
|
4月前
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
222 2
|
4月前
|
机器学习/深度学习 人工智能 监控
利用Python和OpenCV实现实时人脸识别系统
【8月更文挑战第31天】本文将引导您了解如何使用Python结合OpenCV库构建一个简易的实时人脸识别系统。通过分步讲解和示例代码,我们将探索如何从摄像头捕获视频流、进行人脸检测以及识别特定个体。本教程旨在为初学者提供一条明晰的学习路径,帮助他们快速入门并实践人脸识别技术。
|
5月前
|
机器学习/深度学习 监控 算法框架/工具
使用Python实现深度学习模型:人脸识别与人脸表情分析
【7月更文挑战第18天】 使用Python实现深度学习模型:人脸识别与人脸表情分析
244 2