文章目录
- 前言
 - 主要实现功能
 - 效果演示
 - 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 回复 人脸识别小程序 免费获取,我的公众号也会更新这方面的文章,欢迎小伙伴入坑一起成长喔😁😁
 





















编程之外
愚人节快乐!虽然最近有些糟心事,但每次写文章,给自己进知识的时候我觉得也没那么糟糕了
每日毒鸡汤:
   毕竟,经历过人生的起伏,我们才慢慢看清了自己,看清了脚下的路。才知道了对自己来说什么最珍贵,也更加明白了如何去珍惜。
   也许,对十年前的自己来说,一切又都是值得的。因为,现在的自己,其实已经比过去,看得更远更辽阔。而下一个十年,也还会这样,继续生猛地走下去吧。
 
 
| 编程之外 | 
















