title: 树莓派+百度api实现人脸识别
tags: 树莓派
date: 2018-5-31 20:06:00
树莓派对接百度api
我以前玩安卓的时候一直用的讯飞的平台和api,对于百度的api很陌生,也很少用,
今年百度开发平台提出了“所有功能免费”的口号,确实,其他平台的开放都是局限的。有些需要开会员,基础的功能能免费是最好的了。
之前,我用python做过face++的人脸识别,效果还是不错的,后来也在学校进行了展览,face++的平台可是支付宝用的呀,所以也是很强大的。
后来买了树莓派,一直想用opencv自己做,可是opencv装了很久,貌似一直出问题,迟迟不能解决,非常吃力。
今天遇到了一个教程是做的百度api,就想跟着做-----谁曾想,总是不易的,总出问题!!
https://github.com/az666/pizerow_facelock/blob/master/face.py
这位大神的资料是百度API2.0的教程,可是我登录百度开发者平台发现现在已经是api3.0了。
只能自己照着官方的文档,一点一点的调,最终成功,效果还可以,和笔记本上的python同时实现了“人脸搜索”(api2.0叫做人脸查找)
百度文档中心
后台数据:
电脑端的输出结果为:
D:\python_64_projects\venv\Scripts\python.exe D:/python_64_projects/pizreow.py
{\'error_code\': 0, \'error_msg\': \'SUCCESS\', \'log_id\': 3049016445, \'timestamp\': 1527771832, \'cached\': 0, \'result\': {\'face_token\': \'08c78a3239ad1d06548ec031fbb7f320\', \'user_list\': [{\'group_id\': \'wenzheng\', \'user_id\': \'wenzheng\', \'user_info\': \'pengwenzheng\', \'score\': 98.010856628418}]}}
可见:相似度为:\'user_info\': \'pengwenzheng\', \'score\': 98.010856628418
注:python 3.x中urllib库和urilib2库合并成了urllib库。。其中urllib2.urlopen()变成了urllib.request.urlopen().......urllib2.Request()变成了urllib.request.Request()
树莓派代码
def search ():
\'\'\'
人脸搜索
\'\'\'
f = open("E:/opencv_pictures/face++/image/my_face.jpg", \'rb\')
img = base64.b64encode(f.read())
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/search"
params = {"image":img,"image_type":"BASE64","group_id_list":"wenzheng","quality_control":"LOW","liveness_control":"NORMAL"}
access_token = \'24.1d38fa613271b16392ddf5bad969480b.2592000.1530352882.282335-11330742\'
request_url = request_url + "?access_token=" + access_token
response = requests.post(request_url, data=params)
test = response.json().get(\'score\')
print(response.json())
print(test)
search()