【物联网树莓派毕设03】树莓派4B调用百度API快速实现人脸识别

【物联网树莓派毕设03】树莓派4B调用百度API快速实现人脸识别,第1张

一、获取三元组AppID、API Key、Secret Key

        1、打开百度AI开放平台-全球领先的人工智能服务平台

        2、注册账号并登录

        3、打开人脸识别并创建应用

         4、添加人脸信息

 二、树莓派调用API实现人脸识别

        1、前期已经实现了通过VNC连接树莓派,并安装了python3.7 环境

        【物联网树莓派毕设01】树莓派4B快速实现VNC连接

        【物联网树莓派毕设02】树莓派4B安装Pyhton3及opencv

        2、安装sdk

pip install baidu-aip

         3、准备一张人脸图片,可以通过VNC直接将发送到树莓派桌面

        4、调用API实现人脸识别

from aip import AipFace
import base64

""" 输入刚刚让记住的3元组 """
APP_ID = '251*******'
API_KEY = 'Foeqm************'
SECRET_KEY = 'tIst***********************'

imageType = "BASE64"
groupIdList = "Admin"#人脸组
filePath="/home/pi/Desktop/1.jpg"#照片路径
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
f=open(filePath,"rb")
data = base64.b64encode(f.read())
f.close()
image=str(data,'UTF-8')

result = client.search(image, imageType, groupIdList)

if result["error_msg"] in "SUCCESS":
    print("人脸组:",result["result"]["user_list"][0]["group_id"])
    print("用户ID:",result["result"]["user_list"][0]["user_id"]) 
    print("置信度:",result["result"]["user_list"][0]["score"]) 
    
else:
    print("Error:",result["error_msg"])

         5、如果树莓派有连接摄像头,直接用摄像头拍一张进行验证,按下“q”键即可拍照

from aip import AipFace
import base64
import cv2
   
""" 输入刚刚让记住的3元组 """
APP_ID = '251*******'
API_KEY = 'Foeqm************'
SECRET_KEY = 'tIst***********************'

imageType = "BASE64"
groupIdList = "Admin"#人脸组

cap = cv2.VideoCapture(0)

while(1):
    ret,frame = cap.read()
    cv2.imshow("capture",frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        cv2.imwrite("camera.jpg",frame)
        filePath="/home/pi/Desktop/camera.jpg"#照片路径
        client = AipFace(APP_ID, API_KEY, SECRET_KEY)
        f=open(filePath,"rb")
        data = base64.b64encode(f.read())
        f.close()
        image=str(data,'UTF-8')

        result = client.search(image, imageType, groupIdList)

        if result["error_msg"] in "SUCCESS":
            print("人脸组:",result["result"]["user_list"][0]["group_id"])
            print("用户ID:",result["result"]["user_list"][0]["user_id"]) 
            print("置信度:",result["result"]["user_list"][0]["score"]) 
    
        else:
            print("Error:",result["error_msg"])
        break;

cap.release()
cv2.destroyAllWindows()

 三、说明

        百度有关人脸识别的API还有很多很多,大家可以根据官方文档进行学习。

        官方文档: https://ai.baidu.com/ai-doc/FACE/ek37c1qiz

        如果有帮助的话,希望大家多多点赞支持一下,感谢!!!

       

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/730551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存