騰訊云人臉識別接口的使用

文檔地址:

https://cloud.tencent.com/document/product/867/32800

1.在文檔中找到 [API 3.0 Explorer]點(diǎn)擊進(jìn)入

2.填寫個人密鑰,以及根據(jù)需要填寫選填參數(shù)

3.右邊選擇Node.js后復(fù)制代碼

4.在小程序項目中創(chuàng)建云函數(shù)

粘貼代碼,并修改

// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')

cloud.init()

const tencentcloud = require("tencentcloud-sdk-nodejs");//修改路徑,然后上傳

function syncFaceDetect(imgBase64) {
  const IaiClient = tencentcloud.iai.v20180301.Client;
  const models = tencentcloud.iai.v20180301.Models;

  const Credential = tencentcloud.common.Credential;
  const ClientProfile = tencentcloud.common.ClientProfile;
  const HttpProfile = tencentcloud.common.HttpProfile;

  let cred = new Credential("AKID26wX0FwzsfasdfP", "Xpredfdfdfdfdfdfdfdfd");
  let httpProfile = new HttpProfile();
  httpProfile.endpoint = "iai.tencentcloudapi.com";
  let clientProfile = new ClientProfile();
  clientProfile.httpProfile = httpProfile;
  let client = new IaiClient(cred, "ap-guangzhou", clientProfile);

  let req = new models.DetectFaceRequest();

  let params = '{"Image":"' + imgBase64 + '","NeedFaceAttributes":1,"NeedQualityDetection":1}' //上傳的圖片類型和地址
  req.from_json_string(params);

// promise封裝結(jié)果
  return new Promise((resolve, reject) => {
    client.DetectFace(req, function (errMsg, response) {

      if (errMsg) {
        reject(errMsg);
        return;
      }

      resolve();
    });
  })
}

// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
  // event事件對象,返回調(diào)用云函數(shù)后的所有數(shù)據(jù),解構(gòu)賦值給imgBase64
  let { imgBase64 } = event;
  let res = await syncFaceDetect(imgBase64);
  return res;
}
5.右鍵上傳云函數(shù),并在云函數(shù)目錄下手動安裝依賴
  • 安裝后在命令行中執(zhí)行 node.js index,若提示安裝依賴,根據(jù)提示安裝即可,若返回接口的參數(shù)則成功
npm install tencentcloud-sdk-nodejs --save
6.在需要使用人臉檢測的頁面調(diào)用人臉檢測云函數(shù)
  • 封裝將上傳的圖片轉(zhuǎn)為base64格式
  • 封裝云函數(shù)
    //轉(zhuǎn)換base64
    base64(imgPath) {
        const fs = wx.getFileSystemManager();
        return new Promise((resolve, reject) => {
            fs.readFile({
                filePath: imgPath,
                encoding: 'base64',
                success(res) {
                    resolve(res.data)
                },
                fail(err) {
                    reject(res);
                }
            })
        })
    },

    //調(diào)用人臉檢測
    faceDetectAPI(imgBase64) {
        return new Promise((resolve, reject) => {
            wx.cloud.callFunction({
                name: "faceDetect",
                data: {
                    //傳參給云函數(shù)
                    imgBase64
                },
                success: (res) => {
                    resolve(res);
                },
                fail(err) {
                    reject(err)
                }
            })
        })
    },
        detect(){
              this.base64(this.data.previewImg).then(res => {
                return this.faceDetectAPI(res)
               }).then(res => {  
                   console.log(res)  
               }
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容