2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 调用百度人脸识别API实现简单的颜值检测

调用百度人脸识别API实现简单的颜值检测

时间:2021-02-25 01:15:41

相关推荐

调用百度人脸识别API实现简单的颜值检测

目录

1.作者介绍2.注册百度智能云账号3.代码实现4.运行结果参考链接:常见问题汇总及解决方案:

1.作者介绍

乔冠华,女,西安工程大学电子信息学院,级硕士研究生,张宏伟人工智能课题组。

研究方向:机器视觉与人工智能。

电子邮件:1078914066@

2.注册百度智能云账号

进入:百度智能云并创建应用获取AppID,API Key,Secret Key

免费注册登录百度云账号进入下图界面,选择“产品服务”中“人脸识别”模块

点击“创建应用”,免费创建名为“人脸颜值检测”的个人应用模块,创建成功的应用模块如下,并从中获取个人应用模块的API Key和Secret Key。:

3.代码实现

在Pycharm中输入代码,并更改对应位置个人账号信息(API Key、Secret Key),运行程序后,输入待测试人脸图像路径,实现人脸颜值检测。

import base64import jsonimport requestsclass BaiduPicIndentify:def __init__(self,img):self.AK = "换成个人的API Key"self.SK = "换成个人的Secret Key"self.img_src = imgself.headers = {"Content-Type": "application/json; charset=UTF-8"}def get_accessToken(self):host = '/oauth/2.0/token?grant_type=client_credentials&client_id=' + self.AK + '&client_secret=' + self.SKresponse = requests.get(host, headers=self.headers)json_result = json.loads(response.text)return json_result['access_token']def img_to_BASE64(slef,path):with open(path,'rb') as f:base64_data = base64.b64encode(f.read())return base64_datadef detect_face(self):# 人脸检测与属性分析img_BASE64 = self.img_to_BASE64(self.img_src)request_url = "/rest/2.0/face/v3/detect"post_data = {"image": img_BASE64,"image_type": "BASE64","face_field": "gender,age,beauty,gender,race,expression","face_type": "LIVE"}access_token = self.get_accessToken()request_url = request_url + "?access_token=" + access_tokenresponse = requests.post(url=request_url, data=post_data, headers=self.headers)json_result = json.loads(response.text)if json_result['error_msg']!='pic not has face':print("图片中包含人脸数:", json_result['result']['face_num'])print("图片中包含人物年龄:", json_result['result']['face_list'][0]['age'])print("图片中包含人物颜值评分:", json_result['result']['face_list'][0]['beauty'])print("图片中包含人物性别:", json_result['result']['face_list'][0]['gender']['type'])print("图片中包含人物种族:", json_result['result']['face_list'][0]['race']['type'])print("图片中包含人物表情:", json_result['result']['face_list'][0]['expression']['type'])if __name__=='__main__':img_src=input('请输入需要检测的本地图片路径:')baiduDetect = BaiduPicIndentify(img_src)baiduDetect.detect_face()

4.运行结果

参考链接:

/article/207785.htm

/cskywit/article/details/81540500

常见问题汇总及解决方案:

问题1:没有安装需要的库

【解决方法】:环境配置好以后,在终端输入:pip install 模块名。(安装库的时候需要电脑联网下载)

问题2:无法获得请求结果。这个问题一般是两种原因:电脑没有联网、申请的API和SK key不能使用。

【解决方法】:运行程序时确保网络连接正常;申请免费API使用权限时需要等待审核大约30分钟左右,待“调用量限制”显示“总量无限次赠送”时才可使用。

问题3:输入图片路径错误1:

【解决方法】:图片路径在程序运行后根据提示输入,不用在代码中修改(注:图片命名为.jpg或.png后缀均可,输入的图片路径不需要加引号)

问题4:输入图片路径错误2:

方法:部分Windows系统复制路径时会自动添加隐藏的’\u202a’参数,只需将该参数手动或自动删除即可。

具体操作参考连接:/qq_37126941/article/details/116804579和/developer/article/1702613

问题5:路径正确但仍然报错。

【解决方法】:确认文件必须建在pythonProject下,按照以下步骤重新建立python文件。

问题5: 打开终端显示在最左端显示ps。

原因是因为当前系统存在多个python版本解释器,未能成功激活要使用的虚拟环境。

【解决方法】:需要卸载python解释器,只需留一个就行了,一般需要将3.9版本的解释器卸载,且虚拟环境无法正常激活时,建议将anaconda卸载,只在pycharm的环境中安装python3.7解释器,之后新建的项目工程都使用该环境。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。