文章目录
- 前言
- 主要实现功能
- 效果演示
- PC端
- 手机端
- 调用百度Ai人脸检测接口
- 小程序发布流程
- 项目源码
- 编程之外
前言
人脸识别其实没那么复杂,我国几个大厂都有他们的AI开放平台,调用一下他们的人脸检测接口就行了😁(虽然接口不是自己写的🤣🤣),这期就分享:使用百度AI开放平台的人脸检测接口,在小程序中实现人脸识别。
主要实现功能
这个小程序主要实现了以下三个功能:
- 拍照检测人脸
- 前后摄像头切换拍照
- 选择相册图片检测人脸
效果演示
PC端
电脑只有前置摄像头,经过博主慎重考虑:为了不暴露自己不超50分的颜值,我把摄像头遮住了😂这里只演示选择图片检测人脸的功能,想查看其他功能的小伙伴可拿到自己电脑上运行尝试啊。
手机端
别想多,相册里的图片是为了演示,临时去QQ看点找的😏😏
调用百度Ai人脸检测接口
百度AI开放平台官网:https://ai.baidu.com/ 点击控制台,需要有一个自己的账号登录
进入自己的控制台后点击左侧的人脸识别
要调用这个接口必须要先创建一个应用(免费的):
创建完毕
点进刚刚创建的应用,点击查看文档
点击API文档,要调用哪一个就选择对应的API文档,我们这里要使用的是人脸检测
如下,打开文档后,往下翻查看这个接口的调用方法和示例
根据官方API文档,要调用人脸检测接口主要分以下三步:
- 获取Access Token(即 身份认证,使用上面创建应用时生成的API Key 和 Secret Key来获取Access Token)
- 组织需要的参数
- 发起请求,把参数发送到人脸检测API接口
获取Token:把请求地址中的client_id和client_secret改成自己创建应用时得到的两个Key的值
getFaceInfo(){// 1. 获取tokenwx.request({method:'POST',url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=pDjn7G50rYxD6sNQVqYZ&client_secret=7ksZCDNLN99vaFEuIrPUV6zV',success:(res)=>{console.log(res)// 为 token 赋值this.setData({token:res.data.access_token},()=>{// 2.处理需要的参数this.processParams()})}})},
处理需要的参数
// 2.处理需要的参数processParams(){const params={// 图片image:'',// 发送到服务器的图片格式,是 BASE64 格式的image_type:'BASE64',// 希望检测完毕后,服务器返回那些数据face_field:'age,gender,beauty,expression,glasses,emotion'}// 根据图片路径,把图片转为 BASE64 格式,然后,赋值给 params.imageconst fileManager = wx.getFileSystemManager()fileManager.readFile({// 要读取哪个文件filePath:this.data.src,// 以什么格式来读取指定的文件encoding:'base64',success:(res)=>{console.log(res)params.image=res.dataconsole.log(params)// 3. 发请求,获取检测结果数据this.testFace(params)}})},
发起请求,获取人脸检测结果数据
// 3. 发请求,获取检测结果数据testFace(params){wx.showLoading({title: '人脸检测中...',})wx.request({// 请求类型method:'POST',// 请求的地址url: 'https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token='+this.data.token,// 请求头header:{'Content-Type':'application/json'},// 请求体data:params,// 成功的回调函数success:(res)=>{console.log(res)if (res.errMsg === 'request:ok' && res.data.result !== null && res.data.result.face_num !== 0){console.log('人脸数据是:')console.log(res.data.result.face_list[0])this.setData({faceinfo: res.data.result.face_list[0]})}},// 完成后隐藏 Loading 提示complete:()=>{wx.hideLoading()}})},
小程序发布流程
在本地编写好小程序后,想让别人也能使用你的小程序,就要将小程序发布上线。前提是:你开发的小程序是使用你的AppID创建。
点击上传
填一下项目信息,点击上传
小程序上传后,登陆微信公众平台(官网:https://mp.weixin.qq.com/)进入小程序的管理后台,若要正式上线就点击提交审核,大概5天左右审核通过了,你的小程序就正式上线了
项目源码
需要这个小程序项目源码的小伙伴,可以在我的公众号 遇见0和1 回复 人脸识别小程序 免费获取,我的公众号也会更新这方面的文章,欢迎小伙伴入坑一起成长喔😁😁
编程之外
愚人节快乐!虽然最近有些糟心事,但每次写文章,给自己进知识的时候我觉得也没那么糟糕了
每日毒鸡汤:
毕竟,经历过人生的起伏,我们才慢慢看清了自己,看清了脚下的路。才知道了对自己来说什么最珍贵,也更加明白了如何去珍惜。
也许,对十年前的自己来说,一切又都是值得的。因为,现在的自己,其实已经比过去,看得更远更辽阔。而下一个十年,也还会这样,继续生猛地走下去吧。
编程之外 |