国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

這篇具有很好參考價值的文章主要介紹了畢設(shè)項目-人臉識別考勤簽到系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

人臉識別小程序、簽到小程序,借助百度AI智能識別功能實現(xiàn)。

需求說明

學(xué)生信息管理,考勤管理,人臉識別處理大概這三個模塊。

功能模塊:

  • 登錄與注冊(兩種身份 老師或?qū)W生)
  • 課程發(fā)布(老師可以發(fā)布課程信息 名稱 地點 選課人數(shù))
  • 課程查看(學(xué)生查看課程信息)
  • 人臉錄入(學(xué)生登錄后有錄入人臉功能)
  • 考勤發(fā)布(老師發(fā)布考勤簽到,課程名稱,開始時間和結(jié)束時間)
  • 學(xué)生簽到(人臉識別簽到,簽到失敗,遲簽,簽到成功)
  • 考勤記錄查看(學(xué)生ID,課程名稱,簽到狀態(tài))

功能分析

人臉識別調(diào)用百度智能云api就可以。做人臉識別簽到,其實就是要拿識別的人臉和數(shù)據(jù)庫里的人臉對比,相識度大于一定的值,就可以判定成功。

如我們識別的結(jié)果是98.295%,所以這里就可以認(rèn)定為簽到成功。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

效果圖

還沒簽到

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

簽到

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

簽到成功

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

接入人臉識別

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

人臉注冊

我們要想實現(xiàn)人臉識別,就需要一開始先在百度的可視化人臉庫里注冊人臉,要調(diào)用的接口如下。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

獲取acess_token

在調(diào)用這個之前,我們需要先去獲取對應(yīng)的acess_token,所以接下來我們要做的第一步就是獲取acess_token。我們后面做的所有操作,基本上都要獲取這個。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

wx.request({
      url: 'https://aip.baidubce.com/oauth/2.0/token',
      data: {
        grant_type: 'client_credentials',
        client_id:, //應(yīng)用的API Key
        client_secret:  //應(yīng)用的Secret Key
      },
      header: {
        'Content-Type': 'application/json' // 默認(rèn)值
      },
      success: res => {
        this.setData({
          token: res.data.access_token //獲取到token
        })
        console.log('獲取到的token', this.data.token)
      }
    })

拍人臉照,注冊人臉到百度人臉庫

我們在拍照以后,獲取到圖片,并通過 wx.getFileSystemManager().readFile()方法把圖片轉(zhuǎn)換為base64,因為百度需要這樣格式的數(shù)據(jù)。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

var that = this;
    //拍照
    const ctx = wx.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        that.setData({
          src: res.tempImagePath //獲取圖片
        })
        //圖片base64編碼
        wx.getFileSystemManager().readFile({
          filePath: that.data.src, //選擇圖片返回的相對路徑
          encoding: 'base64', //編碼格式
          success: res => { //成功的回調(diào)
            that.setData({
              base64: res.data
            })
            //第三步:上傳人臉進(jìn)行注冊
            wx.request({
                url: 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=' + that.data.token,
                method: 'POST',
                data: {
                  image: that.data.base64,
                  image_type: 'BASE64',
                  group_id: 'users', //自己建的用戶組id
                  user_id: app.globalData.userInfo.phone, //學(xué)號
                  user_info: app.globalData.userInfo.name //存儲學(xué)生姓名
                },
                header: {
                  'Content-Type': 'application/json' // 默認(rèn)值
                },
                success(res) {
                  that.setData({
                    msg: res.data.error_msg
                  })
                  console.log("人臉注冊返回結(jié)果", res)
                  //做成功判斷
                  if (that.data.msg == 'SUCCESS') { //微信js字符串使用單引號
                    wx.showToast({
                      title: '注冊成功',
                      icon: 'success',
                      duration: 2000
                    })
                    // that.registerFace()
                  }
                }
              }),
              //失敗嘗試
              wx.showToast({
                title: '請重試',
                icon: 'loading',
                duration: 500
              })
          }
        })
      } //拍照成功結(jié)束
    }) //調(diào)用相機結(jié)束

我們注冊完以后,可以在百度人臉庫里看到這條數(shù)據(jù),可以看到我們創(chuàng)建的users表。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

查看人臉庫

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)

人臉比對

我們上面注冊好人臉以后,接下來就可以使用人臉打卡功能了。 使用之前還是第一步,獲取acess_token。

獲取acess_token

// acess_token獲取
  getTokenInfo() {
    var that = this
    wx.request({
      url: 'https://aip.baidubce.com/oauth/2.0/token',
      data: {
        grant_type: 'client_credentials',
        client_id: app.globalData.client_id, //應(yīng)用的API Key
        client_secret: app.globalData.client_secret //Secret Key
      },
      header: {
        'Content-Type': 'application/json' // 默認(rèn)值
      },
      success(res) {
        that.setData({
          token: res.data.access_token //獲取到token
        })
        console.log(that.data.token)
      }
    })

  },

人臉比對

//拍照并編碼
  takePhoto() {
    let that=this
    const ctx = wx.createCameraContext()
    ctx.takePhoto({
      quality: 'high',
      success: (res) => {
        //圖片base64編碼
        wx.getFileSystemManager().readFile({
          filePath: res.tempImagePath, //選擇圖片返回的相對路徑
          encoding: 'base64', //編碼格式
          success: res => { //成功的回調(diào)
            that.signInFace(res.data)
          }
        })
      }
    })
  },

  //上傳人臉進(jìn)行 比對
  signInFace(base64) {
    var that = this

    if (base64 != "") {
      wx.request({
        url: 'https://aip.baidubce.com/rest/2.0/face/v3/search?access_token=' + that.data.token,
        method: 'POST',
        data: {
          image: base64,
          image_type: 'BASE64',
          group_id_list: 'users' //自己建的用戶組id
        },
        header: {
          'Content-Type': 'application/json' // 默認(rèn)值
        },
        success(res) {
          console.log("人臉對比返回結(jié)果", res)
          if (res.data.error_msg == "match user is not found") {
            wx.showModal({
              title: '簽到失敗',
              content: '請先注冊人臉才可以人臉使用',
            })
          }

          if (res.data.error_msg == "SUCCESS") {
            that.setData({
              msg: res.data.result.user_list[0].score,
            })
            // console.log(res)
            if (that.data.msg > 80) { //相似度大于80
              console.log('人臉識別成功')
            } else {
              wx.showToast({
                title: '人臉識別失敗',
              })
            }
          } else {
            wx.showToast({
              title: '人臉識別失敗',
            })
          }
        }
      });
    }
    if (base64 == "") {
      wx.showToast({
        title: '請重試',
        icon: 'loading',
        duration: 500
      })
    }
  },

我們執(zhí)行代碼以后,會返回一個相識度,我這里規(guī)定相識度80%以上即為同一個人。看日志可以知道我們的相識度是98.295%,所以這里就可以認(rèn)定為簽到成功。

畢設(shè)項目-人臉識別考勤簽到系統(tǒng)文章來源地址http://www.zghlxwxcb.cn/news/detail-404727.html

到了這里,關(guān)于畢設(shè)項目-人臉識別考勤簽到系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包