树莓派实现人脸识别(翔云方案)
1、注册翔云账号,购买人脸识别接口次数
我们在注册账号后并购买次数后,将获得服务次数(每调用一次http接口消耗一次)
点击个人中心,查看自己专属的访问接口的参数,key 与 Secret
2、编写访问接口的代码,采用python编程访问
经过一段时间的查看访问翔云接口各种语言的例程,发现python的代码量是最简单的,所以采用python来访问接口
p1.py 代码如下(注:python程序不用先编译,写完直接运行就好):
#coding=UTF-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import requests #导包并设置字符编码,因为在py中,出现中文默认会报错
url = r'https://netocr.com/api/facerecog.do' #翔云api的接口地址
key = r'用户个人的key码,可在个人中心查看'
secret = r'用户个人的secret码,可在个人中心查看'
typeId = 21 #服务类型
rFormat = r'xml' file1 = {'file1': open('file1.jpg', 'rb'),'file2':open('file2.jpg','rb')}#要比对的两张图片,file1.jpg,file2.jpgdata = {'key':key, 'secret':secret, 'typeId':typeId, 'format':rFormat}
#其他参数的字典r = requests.post(url, files=file1,data = data) #发起http请求,传参,比对后返回的信息存入rif str(r.text).find('是')!=-1:print(1)
else:print(0)
#如果返回的信息中带有“是”,则表示比对成功(向缓冲区输出1,方便被popen函数调用时捕获到运行结果),否则表示比对失败(向缓冲区输出0,方便被popen函数调用时捕获到运行结果)
如果想查看接口返回的所有数据,可通过print(r.text)语句查看,如下图:
3、主程序的编写
facehttp.c函数主要驱动摄像头进行拍照,拍照后通过popen函数运行p1.py程序,捕获到p1.py程序运行后输出到缓冲区的信息,并进行判断人脸是否匹配并是否开锁
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include<wiringPi.h>int main(){int init=wiringPiSetup ();if(init==-1){printf("init error\n");}char ch[1];FILE *p;pinMode(22,OUTPUT);digitalWrite(22,LOW);char a;while(1){printf("输入1开启人脸识别...\n");scanf("%c",&a);getchar();if (a=='1'){memset(ch,'0',1);printf("正在拍照,请勿移动........\n");system("raspistill -o file2.jpg"); //通过system函数,驱动摄像头拍照printf("拍照成功,正在比对结果,请稍后....\n"); p=popen("python p1.py","r"); //通过popen函数,运行py文件访问接口,获取 到人脸识别后程序的结果存入文件流p(1表示识别成功)fread(ch,1,1,p); //读取到p文件流中的信息,存入字符数组chif(ch[0]=='1') //如果比对后的结果为1,则比对成功,开锁{printf("识别成功!开锁\n");digitalWrite(22,HIGH);sleep(2);digitalWrite(22,LOW);}else{printf("识别错误!非法访客\n");}}}return 0;
}
4、效果
整个工程如图
树莓派实现人脸识别(翔云方案)相关推荐
- 智能家居(7) —— 人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)
目录 一.祥云人工智能开放平台 二.编译openSSL支持libcurl的https访问 安装SSL依赖库openSSL(使用工具wget) curl库重新配置,编译,安装 三.编程实现人脸识别 翔云 ...
- 智能家居(七) —— 人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)
人工智能OCR识别平台介绍 OCR (Optical Character Recognition,光学字符识别) 百度搜索OCR识别,可以发现有很多大厂都在做这个项目,比如百度OCR,腾讯OCR,科大 ...
- 智能家居——人脸识别 翔云平台(配置ssl和下载OpenSSL)
文章目录 一.祥云人工智能开放平台 二.编译openSSL支持libcurl的https访问 (1)libcurl的https访问问题 (2)安装SSL依赖库openSSL(使用工具wget) (3) ...
- 人脸识别--翔云API
目录 一.购买人脸识别接口 二.了解base64编码 三.通过post实现人脸识别 一.购买人脸识别接口 进入翔云官网购买人脸识别的接口,得到一个key和secret,我们要用到这两个参数才能访问到人 ...
- C语言人脸识别——翔云平台调用(含wget安装)
人脸识别 准备安装的东西 使用mjpg-streamer获得人脸识别比对照片 用处功能 实际问题处理 准备安装的东西 1.安装mjpg-streamer 链接: 树莓派3代 B型 Cortex-A53 ...
- 基于树莓派实现人脸识别开锁
人脸识别的环境搭建可以看一下https://blog.csdn.net/weixin_48856218/article/details/124407139?spm=1001.2014.3001.550 ...
- 新手树莓派3B——人脸识别门禁管理系统
文章目录 前言 一.怎么用树莓派设计人脸识别门禁系统? 二.树莓派系统的安装 三.远程连接 四.人脸识别 总结 前言 树莓派,自问世以来,其"麻雀虽小,五脏俱全"的微型电脑特征让无 ...
- 树莓派3B+ 人脸识别(OpenCV)
树莓派3B+ 人脸识别(OpenCV) 相信大家都看了前面的OpenCV安装和人脸检测教程,已经跃跃欲试,想要进行人脸识别了,现在我们正式进入重头戏--人脸识别 的教程. 注意:该教程面向python ...
- 基于树莓派的人脸识别解锁门锁设计
点击查看:基于树莓派的人脸识别解锁门锁设计
- 人脸识别布控系统方案
江苏省信访局 人脸识别布控系统方案 目 录 第一章 概述
最新文章
- javascript密码强度验证!
- python输入若干个整数试找出其中的最大数和最小数_Python编程的若干个经典小技巧...
- 开源!mathAI 手写拍照自动能解高数题,还不快试试?
- Oracle-Decode()函数和CASE语句的不同
- 深入解读ESB与SOA的关系
- 工作记录 反射
- C-Wandering Robot 模拟
- 罗永浩抖音直播首秀:3小时1.1亿;微软曝三屏折叠机专利;Linux Mint 20仅提供64位版本 | 极客头条...
- LeetCode 647 回文子串
- 编写操作系统的平台之争:Windows还是*nix
- java的xsd文件_java – 如何通过相对路径引用本地XSD文件
- SpringBoot Controller Post接口单元测试
- 改进的协同过滤推荐算法
- Marshmallow 实现序列化和反序列化
- 自然语言处理是什么?学习自然语言处理(NLP)
- Android 指纹识别(Touch ID)实例
- 影响Google Adsense广告单价高低的因素分析获取更高的收入
- Win11任务栏修改方法(更新中)
- QT属性绑定binging
- html项目的致谢词,论文致谢词(精选10篇)