前言

树莓派配置OpenCV,配置起来有点繁琐且耗时,调用百度智能云的人脸识别API是一个很好的解决方案

文章目录

    • 前言
    • 一、申请AppID、API Key和Secret Key
      • 1.1创建应用
      • 1.2 下载SDK
      • 1.3记录AppID
      • 1.4在人脸库管理中添加人脸数据
    • 二、项目部署
    • 2.1 sdk传输至树莓派上
    • 2.2 安装pip以及setuptools
      • 2.2.1 安装setuptools
      • 2.2.2安装pip
    • 2.3安装人脸识别SDK
  • 三、测试人脸识别是否成功
  • 四、最后

一、申请AppID、API Key和Secret Key

1.1创建应用

在百度智能云人脸识别项目中创建应用,

1.2 下载SDK

创建完毕后,下载SDK文档,因为是在树莓派中运行,所以选中python HTTP SDK下载到本地。

1.3记录AppID

查看应用详情,记录下AppID、API Key和Secret Key,在后面的代码中会用到。

1.4在人脸库管理中添加人脸数据

在人脸库管理中新建用户组,再从用户组中新建人脸id和照片;

二、项目部署

2.1 sdk传输至树莓派上

把下载好的SDK压缩包解压,可以通过ftp或者smb的方式,把文件传输到到树莓派你想放的目录下,然后cd进入该目录;

2.2 安装pip以及setuptools

如果你的树莓派以及安装好了这两款软件,直接跳至2.3,如果还没,可以按一下步骤安装这两款重要的软件;

2.2.1 安装setuptools

到官网(https://pypi.org/project/setuptools/)
a)下载 setuptools 安装包

wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip

b)解压缩

unzip setuptools-40.6.3.zip

c)安装

cd setuptools-40.6.3
sudo python setup.py build
sudo python setup.py install
2.2.2安装pip

1)下载
到官网(https://pypi.org/project/pip/)下载pip安装包

wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz

2)解压

tar zxvf pip-18.0.tar.gz

3)安装

cd ../pip-18.0/
sudo python setup.py install

2.3安装人脸识别SDK

当你的树莓派装好pip以及setuptools之后,cd到树莓派的SDK目录下,执行一下命令:

pip install baidu-aip
python setup.py install

三、测试人脸识别是否成功

以上我们就把树莓派的人脸识别基础环境配置好了,现在我们测试一下系统是否能够正常运行
可以直接在sdk文件夹aip-python-sdk-2.2.15里创建一个测试文件test.py,

from aip import AipFace
from picamera import PiCamera
import urllib.request
import RPi.GPIO as GPIO
import base64
import time
#百度人脸识别API账号信息
APP_ID = '18333248'
API_KEY = 'HrfpWmTASGVQTGQ2UQO29IGY'
SECRET_KEY ='7x8m9vuKWH5XeVV8GeLkly8OkqUpzfPz'
client = AipFace(APP_ID, API_KEY, SECRET_KEY)#创建一个客户端用以访问百度云
#图像编码方式
IMAGE_TYPE='BASE64'
camera = PiCamera()#定义一个摄像头对象
#用户组
GROUP = 'yusheng01'#照相函数
def getimage():camera.resolution = (1024,768)#摄像界面为1024*768camera.start_preview()#开始摄像time.sleep(2)camera.capture('faceimage.jpg')#拍照并保存time.sleep(2)
#对图片的格式进行转换
def transimage():f = open('faceimage.jpg','rb')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:#如果相似度大于80if name == 'yusheng_02':print("欢迎%s !" % name)time.sleep(3)if name == 'xiaoming':print("欢迎%s !" % name)time.sleep(3)if name == "xiaoyu":print("欢迎%s !" % name)else:print("对不起,我不认识你!")name = 'Unknow'return 0curren_time = time.asctime(time.localtime(time.time()))#获取当前时间#将人员出入的记录保存到Log.txt中f = open('Log.txt','a')f.write("Person: " + name + "     " + "Time:" + str(curren_time)+'\n')f.close()return 1if result['error_msg'] == 'pic not has face':print('检测不到人脸')time.sleep(2)return 0else:print(result['error_code']+' ' + result['error_code'])return 0
#主函数
if __name__ == '__main__':while True:print('准备')if True:getimage()#拍照img = transimage()#转换照片格式res = go_api(img)#将转换了格式的图片上传到百度云if(res == 1):#是人脸库中的人print("开门")else:print("关门")print('稍等三秒进入下一个')time.sleep(3)

当你把py文件保存到树莓派中,

可直接通过Tonny打开它,而且可以直接运行该程序,

四、最后

通过控制台打印输出,我们模拟了真实情况,已经可以知道现在树莓派的人脸识别已经能正常工作了。下一步我们将把人脸识别成功后,把print语句换成其它的的操作语句,做一个人脸识别控制舵机开门的小项目,跳转到我的下一篇文章:树莓派人脸识别实际应用:智能门禁

树莓派调用百度人脸识别API实现人脸识别相关推荐

  1. 调用百度AI平台API进行文字识别和图片识别

    写在前面 这应该是本年度的最后一篇技术博客了,今年在CSDN上总共发表了20篇博客,除掉几篇LeetCode的博客,都是个人工作的总结,总体来说,收获不少,随手记录的习惯也养成了.希望来年持之以恒. ...

  2. 【python】调用百度智能云API实现手写文字识别

    注:本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明 文章目录 调用百度智能云API实现python识别手写文字 一.准备工具 电脑端准备: 1.pytho ...

  3. 使用百度云接口API和人脸库完成本地合影图片的多人脸识别--V3版接口Python语言

    百度接口人脸检测,识别率很高,而且操作简单.网上百度还未见到借助百度云接口API和人脸库完成本地合影图片的多人脸识别,本人编写的代码可以实现,但觉得不够简洁,代码数还可以精减,欢迎交流. 1.准备工作 ...

  4. 调用百度智能云API,实现身份证智能识别并转语音 | Python

    一.百度云新建应用.获取权限和额度 1. 登录百度智能云,产品服务-->人工智能-->图像识别 2. 应用列表-->创建应用,用于身份证照的信息识别 3. 应用创建完成,得到APP_ ...

  5. python 百度识图_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  6. Python——调用百度AI实现图片上文字识别

    Python--调用百度AI实现图片上文字识别 简介 步骤 安装百度AI库 注册百度AI开放平台 调用glob库 调用AipOcr库识别文字 可能会遇到的问题 批量操作 简介 Python免费调用百度 ...

  7. 调用百度ai接口实现图片文字识别详解

    调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的,为了不浪费大家时间.公司最近和短视频公司合作,需要监控app的截图上的文字是否符合规范,也就是确保其没有违规的文字.到网上找了一些 ...

  8. python识图 web_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 链接:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb 二.代码模板 import cv2 impo ...

  9. python调用百度api判断两张图片是否相同_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  10. 百度语音识别rest html,delphi调用百度语音识别REST API(示例代码)

    delphi调用百度语音识别REST API -20160616 -感谢 魔术猫 和 DelphiTeacher 兄的帮助解决了返回中文乱码的问题! -注:语音的录音格式目前只支持评测8k/16k采样 ...

最新文章

  1. Cell | 分子胶水的兴起
  2. 【Linux】一步一步学Linux——zipinfo命令(69)
  3. RHEL 5.4下cyrus-sasl-2.1.22 的编译安装
  4. 使用Spring Cloud Config作为外部化配置
  5. c# 自定义应用程序配置文件(app.config)
  6. python嵌入shell代码_大家一起学python-Python基础1
  7. SAP澄清概念、理清思路、组织机构
  8. 华为员工利用Bug越权访问机密卖给第三方,获利1.6万元,被判有期徒刑一年...
  9. python大作业五子棋人人对战_五子棋总结(人人对战)
  10. 基于HTTP协议的轻量级开源简单消息队列服务:HTTPSQS
  11. ms17010利用失败_利用产品管理中的失败
  12. snapchat_如何查看谁查看了Snapchat故事并对其进行了截图
  13. 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成
  14. linux当前文件下的文件数,Linux下统计当前文件夹下的文件个数、目录个数(转)...
  15. html命名锚记链接失败,命名锚记(设置命名锚记超级链接)
  16. 古籍研究社系列第6部《迟来的翅膀》读后感……吗?
  17. 及时备份数据可以保护计算机系统吗,电脑数据的保护和备份
  18. 【读书笔记】【More Effective C++】异常(Exceptions)
  19. python处理ip模块,Ipy,ipaddr
  20. 汉诺塔问题(C语言代码)

热门文章

  1. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...
  2. 使用Rancher搭建K8S环境的准备工作
  3. 仿今日头条项目——首页(文章搜索)
  4. win11提示找不到gpedit.msc命令
  5. oracle归档日志百分比,oracle归档日志过满清理
  6. 指尖江湖李忘生鸿蒙初开,《剑网3:指尖江湖》李忘生战斗攻略解析
  7. 面试——游戏测试工程师(20190918)
  8. opengl 读取obj模型
  9. es查询简单场景问题小记
  10. 微信第三方登陆实现-微信浏览器实现弹出提示授权非微信浏览器提供二维码