首頁 微信小程式 小程式開發 小程式呼叫百度雲端介面實現人臉辨識

小程式呼叫百度雲端介面實現人臉辨識

Dec 14, 2020 pm 05:32 PM
人臉辨識 小程式

小程式開發教學欄位介紹不一樣的實作人臉辨識方法

小程式呼叫百度雲端介面實現人臉辨識

相關免費學習推薦:小程式開發教學

一  準備好百度雲端的開發者帳號

  1. 登入
  2. 進入主機
  3. 人工智慧------圖像辨識
  4. 建立應用程式      

           

取得介面所需的參數

查看官網API文件

二頁佈局

檔ai.wxml:

<view class="c1">
    <view class="c1-1">
       
    </view>
    <button type="primary" size="mini" bindtap="chooseImage">选择图片</button>

    <view class="c1-2">
      <image src="{{img}}" mode="widthFix"></image>
   
       <text>颜值:{{face.beauty}}</text>
       <text>年龄:{{face.age}}</text>
       <text>性别:{{face.gender.type}}</text>
       <text>情绪:{{face.emotion.type}}</text>
    </view>
</view>
登入後複製

寫樣式檔ai.wxss

.c1{
  padding: 50rpx;

}
.c1-1{
  height: 800rpx;
  margin-bottom: 20rpx;
  display: flex;
  justify-content: center;
  font-size: 30rpx;
  box-shadow: 0px 0px 10px gray;
}
.c1-2{

}
登入後複製

頁面佈局如下: 

js

//获取app.js对象
var app = getApp();

Page({
  data: {
	face: {},//检测结果
	img: '',  //选择的图片
	showResult: false //检测是由有结果
  },
  onLoad: function (options) {
	//console.log('获取全局变量数据:' + app.globalData.access_token);
  },
  //选择图片事件
  chooseImage(){
	  var that = this;
	  wx.chooseImage({
	    count: 1,
	    sizeType: ['original', 'compressed'],
	    sourceType: ['album', 'camera'],
	    success (res) {
	      const tempPath = res.tempFilePaths[0];//获取选择的图片的地址
		  //准备好了access_token和图片后,就可以开始请求百度的人脸检测接口了https://aip.baidubce.com/rest/2.0/face/v3/detect
		  //该接口需要的参数是access_token,图片的base64值
		  //图片的base64值的处理
		  var base64 = wx.getFileSystemManager().readFileSync(tempPath,'base64');
		  //提示
		  wx.showLoading({
			  title: '人脸检测中...',
			  mask: true
		  });
		  //开始请求百度的人脸检测接口
		  wx.request({
		    url: 'https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token='+app.globalData.access_token,
      
		    data: {
		    image: base64,
			  image_type: 'BASE64',
			 face_field: 'age,beauty,expression,face_shape,gender,glasses,race,emotion'
		    face_field: 'name, kind'
        },
			method: 'POST',
		    header: {'content-type': 'application/json'},
		    //header: {'content-type': 'application/x-www-form-urlencoded'},
        success (res) {
				console.log(res);
				if(res.statusCode == 200 && res.data.error_code == 0){ //检测结果正确
					//将选择的图片回显到页面
					//that.setData({img: tempPath});
          that.setData();
          //植物识别要传入键值对
					//取出检测的结果进行页面显示
					var face = res.data.result.face_list[0];
          console.log(face);
					that.setData({face: face,showResult: true});
					//隐藏加载窗口
					wx.hideLoading();
				}else{
					wx.showToast({
						title: '检测失败'+res.data.error_msg,
						duration: 5000
					});
				}
		    }
		  })
	    }
	  })
  },
  
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
登入後複製

app.js

//app.js
App({
  onLaunch: function () {
    var access_token = wx.getStorageSync('access_token');
    var expire_in = wx.getStorageSync('expire_in');
   // var access_token = parse;
    var access_token_date = parseInt(wx.getStorageSync('access_token_date'));
    var now = new Date().getTime();
    if(!access_token){
      this.requestToken();

    } else if(now > access_token_date + expire_in){
      this.requestToken();
    }else{

    }
  

    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
    
  },
  globalData: {
    userInfo: null
  },

  requestToken() {
    var that = this;
    wx.request({
      url: 'https://aip.baidubce.com/oauth/2.0/token',
      data: {
        grant_type: 'client_credentials',
        // aaa那里填写自己的百度key值
        client_id: 'aaa',
        client_secret: 'aaa'

      },
      //header: {'content-type': 'application/json'},
      header: {'content-type': 'application/x-www-form-urlencoded'},
      success (res) {
        if(res.statusCode == 200){
          wx.setStorageSync("access_token", res.data.access_token);
          wx.setStorageSync("expires_in", res.data.expires_in);
          //wx.setStorageSync("access_token_date", res.data.access_token_date);
          wx.setStorageSync("access_token_date", new Date().getTime());
          that.globalData.access_token = res.data.access_token;
        }
      }
    })
  }
})
登入後複製

識別結果如下:

以上是小程式呼叫百度雲端介面實現人臉辨識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在C++中進行人臉辨識和人臉偵測? 如何在C++中進行人臉辨識和人臉偵測? Aug 27, 2023 am 08:30 AM

如何在C++中進行人臉辨識和人臉偵測?引言:人臉辨識和人臉偵測是電腦視覺領域中的重要研究方向,它們在影像處理、安全監控等領域有著廣泛的應用。本文將介紹如何使用C++語言進行人臉辨識和人臉偵測,並給出對應的程式碼範例。 1.人臉偵測人臉偵測是指在給定影像中定位並標識出人臉的過程。 OpenCV是一款流行的電腦視覺庫,它提供了人臉偵測的相關函數。下面是一個簡單的人

PHP學習筆記:人臉辨識與影像處理 PHP學習筆記:人臉辨識與影像處理 Oct 08, 2023 am 11:33 AM

PHP學習筆記:人臉辨識與影像處理前言:隨著人工智慧技術的發展,人臉辨識和影像處理成為了熱門話題。在實際應用中,人臉辨識與影像處理多用於安全監控、人臉解鎖、卡牌比對等方面。而PHP作為常用的伺服器端腳本語言,也可以用來實現人臉辨識與影像處理的相關功能。本篇文章將帶你了解PHP中的人臉辨識與影像處理,並附有具體的程式碼範例。一、PHP中的人臉辨識人臉辨識是一

實作微信小程式中的卡片翻轉特效 實作微信小程式中的卡片翻轉特效 Nov 21, 2023 am 10:55 AM

實作微信小程式中的卡片翻轉特效在微信小程式中,實現卡片翻轉特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現卡片翻轉的特效,並提供相關程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內容,一個用於顯示背面內容,具體範例程式碼如下:&lt;!--index.wxml--&gt;&l

如何使用Golang對圖片進行人臉辨識和人臉融合 如何使用Golang對圖片進行人臉辨識和人臉融合 Aug 26, 2023 pm 05:52 PM

如何使用Golang對圖片進行人臉辨識和人臉融合人臉辨識和人臉融合是電腦視覺領域中的常見任務,而Golang作為一個高效而強大的程式語言,也能夠在這些任務中發揮重要作用。本文將介紹如何使用Golang對圖片進行人臉辨識和人臉融合,並提供相關的程式碼範例。一、人臉辨識人臉辨識是指透過影像或影片中的人臉特徵,將其與已知的人臉進行配對或辨認的技術。在Golang中

如何實作C#中的人臉辨識演算法 如何實作C#中的人臉辨識演算法 Sep 19, 2023 am 08:57 AM

如何實現C#中的人臉辨識演算法人臉辨識演算法是電腦視覺領域中的重要研究方向,它可以用於識別和驗證人臉,廣泛應用於安全監控、人臉支付、人臉解鎖等領域。在本文中,我們將介紹如何使用C#來實現人臉辨識演算法,並提供具體的程式碼範例。實現人臉辨識演算法的第一步是取得影像資料。在C#中,我們可以使用EmguCV函式庫(OpenCV的C#封裝)來處理影像。首先,我們需要在項目

蘋果手機怎麼關閉人臉辨識_蘋果手機設定停用人臉辨識方法 蘋果手機怎麼關閉人臉辨識_蘋果手機設定停用人臉辨識方法 Mar 23, 2024 pm 08:20 PM

1.我們可以在睡前向Siri詢問:這是誰的手機,Siri會自動幫助我們將人臉辨識停用。 2.如果不想停用也是可以的,我們可以打開面容ID,選擇開啟【需要注視以啟用面容ID】。這樣只有我們注視時才能開啟鎖定畫面了。

支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,螞蟻集團宣布啟動“漢字拾光計劃”,最近又迎來新進展:支付寶上線“漢字拾光-生僻字”小程序,用於向社會徵集生僻字,補充生僻字庫,同時提供不同的生僻字輸入體驗,以幫助完善支付寶內的生僻字輸入方法。目前,用戶搜尋「漢字拾光」、「生僻字」等關鍵字就可以進入「生僻字」小程式。在小程式裡,使用者可以提交尚未被系統辨識輸入的生僻字圖片,支付寶工程師確認後,將會對字庫進行補錄入。本站注意到,使用者也可以在小程式體驗最新的拆字輸入法,這項輸入法針對讀音不明確的生僻字設計。用戶拆

釘釘人臉辨識怎麼錄入 釘釘人臉辨識怎麼錄入 Mar 05, 2024 am 08:46 AM

釘釘作為一款智慧的服務軟體,不僅在學習和工作中發揮重要作用,還致力於透過其強大的功能提升使用者效率並解決問題。隨著科技的持續進步,人臉辨識技術逐漸滲透到我們的日常生活和工作中。那麼究竟該如何使用釘釘app進行人臉辨識輸入呢,下文中小編就為大家帶來了詳細的內容介紹,想要了解的用戶們就快來跟著本文圖文一起操作吧!釘釘怎麼錄入人臉?在手機上打開釘釘軟體後,點擊底部的“工作台”,然後找到“考勤打卡”並點擊打開。 2.接著在考勤頁面點擊右下方的「設定」進入,再在設定頁面中點選「我的設定」這一項進行切換

See all articles