小程序实现人脸识别与小程序发布

前言

  人脸识别其实没那么复杂,我国几个大厂都有他们的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_idclient_secret改成自己创建应用时得到的两个Key的值

getFaceInfo(){
    // 1. 获取token
    wx.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.image
    const fileManager = wx.getFileSystemManager()
    fileManager.readFile({
      // 要读取哪个文件
      filePath:this.data.src,
      // 以什么格式来读取指定的文件
      encoding:'base64',
      success:(res)=>{
        console.log(res)
        params.image=res.data
        console.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 回复 人脸识别小程序 免费获取,我的公众号也会更新这方面的文章,欢迎小伙伴入坑一起成长喔😁😁
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

编程之外

愚人节快乐!虽然最近有些糟心事,但每次写文章,给自己进知识的时候我觉得也没那么糟糕了

每日毒鸡汤:
  毕竟,经历过人生的起伏,我们才慢慢看清了自己,看清了脚下的路。才知道了对自己来说什么最珍贵,也更加明白了如何去珍惜。
  也许,对十年前的自己来说,一切又都是值得的。因为,现在的自己,其实已经比过去,看得更远更辽阔。而下一个十年,也还会这样,继续生猛地走下去吧。
在这里插入图片描述
在这里插入图片描述

编程之外
  • 6
    点赞
  • 26
    收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇见0和1

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值