# 腾讯云人脸识别(IAI)插件

# 1. 插件介绍

标题 名称
中文名称 腾讯云人脸识别(IAI)插件
英文名称 tencentcloud-plugin-iai
最新版本 v1.0.0 (2020.12.28)
适用平台 DCloud uni-app (opens new window)
适用产品 腾讯云神图·人脸识别 (opens new window)
GitHub项目 tencentcloud-uniapp-plugin-iai (opens new window)
gitee项目 tencentcloud-uniapp-plugin-iai (opens new window)
Demo项目 tencentcloud-uniapp-plugin-example (opens new window)
主创团队 腾讯云中小企业产品中心(SMB Product Center of Tencent Cloud)
兼容平台 H5、小程序、APP

一款帮助开发者在uni-app项目开发中快捷使用腾讯云神图·人脸识别产品功能的插件。

# 2. 功能特性

  • 人脸检测与分析
  • 人脸比对

# 3. 安装指引

本插件需要调用uniCloud云函数,而使用云函数的前提是:

  • 使用DCloud官方开发工具HBuilderX 2.7+;
  • 已注册DCloud开发者账号并通过实名认证;
  • 开通了uniCloud并创建一个腾讯云的服务空间;

# 3.1. 新建或打开已有项目

  1. 打开HBuilderX开发工具;
  2. 新建或打开一个uni-app项目;

# 3.2. 导入云函数

  1. 访问 DCloud 插件市场的 腾讯云插件 - 云函数模板 (opens new window) 详情页;
  2. 点击详情页右上角 使用 HBuilderX 导入插件,将云函数模板导入到您的项目中;
  3. 在项目中打开 cloudfunctions/tencentcloud-plugin/config.js 文件,将腾讯云的密钥信息配置进去,可以在腾讯云 API 密钥管理 (opens new window) 中获取 SecretId、SecretKey 和 APPID;
  4. uniCloud控制台 (opens new window)注册HBuild账号并登录,创建云服务空间 (opens new window)
  5. 在项目中打开 _cloudfunctions/tencentcloud-plugin/iai/config.js 文件,将region配置进去,具体可参考地域列表 (opens new window)
  6. 绑定云函数的云服务空间,将云函数 (opens new window) 上传部署 (opens new window) 到您的云服务空间 (opens new window)

如果您之前在使用其它腾讯云产品的 uni-app 插件时已经导入过此云函数模板,则前 4 个步骤可以省略。

若导入失败或有其它疑问,请查看 uniCloud帮助文档 (opens new window) 云函数相关章节。

# 3.3. 导入插件

  1. 访问DCloud插件市场 腾讯云人脸识别(IAI)插件 (opens new window) 详情页;
  2. 点击详情页右上角 使用HBuilderX导入插件 ,将插件导入到您的项目中;
  3. 在项目中通过 import 语法将插件提供的方法导入到相关业务组件并使用;

本插件的默认导入位置是在您项目的“js_sdk”目录下

# 4. 使用指引

# 4.1. 插件API导图

# 4.2. 插件API列表

API名称 API对应方法名
人脸检测与分析 getDetectFaceResult
人脸比对 getCompareFaceResult

# 4.3. 插件使用示例

// 人脸识别-人脸检测与分析使用示例
// 从js_sdk列表中导入需要的api
import { getDetectFaceResult } from "@/js_sdk/tencentcloud-plugin-tmt";
import chooseImage2Base64 from '@/js_sdk/tencentcloud-plugin-iai/choose-image-2base64.js';

export default {
  data() {
    return {
      status: false,
      detectResult: ''
    };
  },
  methods: {
    // 开始识别
    async startDetect() {
      try {
        const img = await chooseImage2Base64();
        this.status = true;
        this.detectResult = '';
        uni.showLoading({
          mask: true
        });

        this.detectResult = await getDetectFaceResult({image: img});
      } catch (error) {
        uni.showToast({
          icon: 'none',
          title: error.message
        });
      } finally {
        this.status = false;
        uni.hideLoading();
      }
    }
  }
};

# 4.4 主要API 说明

# getDetectFaceResult(params) ⇒ Promise.<object>

Returns: Promise.<object> - result 人脸检测与分析结果

Param Type Required Description
params object true 人脸检测与分析配置参数
params.maxFaceNum integer false 最多处理的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为120
params.minFaceSize integer false 人脸长和宽的最小尺寸,单位为像素。默认为34。建议不低于34。低于MinFaceSize值的人脸不会被检测
params.image string false 图片 base64 数据,base64 编码后大小不可超过5M。jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。支持PNG、JPG、JPEG、BMP,不支持 GIF 图片
params.url string false 对应图片 base64 编码后大小不可超过5M。jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。url、image必须提供一个,如果都提供,只使用 url
params.needFaceAttributes integer false 是否需要返回人脸属性信息(FaceAttributesInfo)。0 为不需要返回,1 为需要返回。默认为 0
params.needQualityDetection integer false 是否开启质量检测。0 为关闭,1 为开启。默认为 0。非 1 值均视为不进行质量检测
params.faceModelVersion string false 人脸识别服务所用的算法模型版本
params.needRotateDetection integer false 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0

# getCompareFaceResult(params) ⇒ Promise.<object>

Returns: Promise.<object> - result 人脸比对结果

Param Type Required Description
params object true 人脸比对配置参数
params.imageA string false A 图片 base64 数据,base64 编码后大小不可超过5M
params.imageB string false B 图片 base64 数据,base64 编码后大小不可超过5M
params.urlA string false A 图片的 url ,对应图片 base64 编码后大小不可超过5M,url、image必须提供一个,如果都提供,只使用 url
params.urlB string false B 图片的 url ,对应图片 base64 编码后大小不可超过5M,url、image必须提供一个,如果都提供,只使用 url
params.faceModelVersion string false 人脸识别服务所用的算法模型版本
params.qualityControl integer false 图片质量控制。0: 不进行控制;1:较低的质量要求 2: 一般的质量要求 3: 较高的质量要求 4: 很高的质量要求 默认 0
params.needRotateDetection integer false 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0

# 4.5. 名词解释

服务空间:一个服务空间对应一整套独立的云开发资源,包括数据库、存储空间、云函数等资源。服务空间之间彼此隔离。更多详情请访问 uniCloud开发文档 (opens new window)

云函数:云函数是运行在云端的JavaScript代码,更多详情请见 uniCloud云函数文档 (opens new window)

# 5. 获取入口

插件入口 链接
DCloud插件市场 腾讯云人脸识别(IAI)插件 (opens new window)

# 6. FAQ

  1. Q:有没有demo示例?

    A:请查看demo示例tencentcloud-uniapp-plugin-example (opens new window)

# 7. GitHub版本迭代记录

# 7.1. tencentcloud-uniapp-plugin-tmt v1.0.0

  • 人脸检测与分析
  • 人脸比对

# 8. 联系我们

如果您是用户,欢迎加入我们的官方交流社区 (opens new window),反馈

  • bug和故障,获取帮助。
  • 新的插件功能需求。
  • 新的开源应用插件适配需求。

如果您是开发者,欢迎参与我们插件开源项目 (opens new window),和我们一起修复插件问题,为更多开源应用适配腾讯云插件。