阅读(1545) (12)

QQ小程序 图像标签

2020-07-10 15:45:03 更新

图像标签对云存储中存量数据的图片标签识别,返回图片中置信度较高的主题标签,帮助开发者分析图像。

功能特性

识别图片中的场景、物品、人物等信息,例如自然风光(山、海、天空、夕阳等)、人造环境(建筑、游乐场、会议室等)、人像(男性、女性、自拍、合照等)、物品(美食、穿着、日常用品等)、动物(猫、狗、鸟类、哺乳动物、海洋生物等各种宠物或野生动物)。

适用场景

可以用于相册分类、信息流内容推荐、广告推荐、图库分类检索、视频内容理解、拍照识图等各种场景。 注意:您不仅在云函数中可以使用该扩展能力,也可以在客户端使用,文件读写权限策略与云存储一致,减去您额外的权限管理工作。

前置要求

已经开通云开发。 云环境已安装图像标签扩展,点击此处 查看安装情况

使用说明

1. 安装扩展 SDK 到项目

npm install --save @cloudbase/extension-ci@latest

  1. 注册扩展到Cloud对象 小程序中

const extCI = require('@cloudbase/extension-ci');


// 初始化环境
qq.cloud.init({
    env:"test-x1dzi"
})


// 注册云开发扩展
qq.cloud.registerExtension(extCI);

云函数中

const cloud = require('qq-server-sdk');
const extCI = require('@cloudbase/extension-ci');
// 初始化环境
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
// 注册云开发扩展
cloud.registerExtension(extCI);

  1. 调用扩展 SDK

Cloud.invokeExtension(extensionName: String, options: Object): Promise
参数 类型 是否必须 说明
extensionName String 扩展名,传CloudInfinite
options Object 扩展参数,说明见下方

options参数

|名称|类型|是否必须|说明| |action|String|是|DetectLabel| |cloudPath|String|是|文件的绝对路径,与cloud.uploadFile中一致|

返回内容

|参数名称|类型|描述| |RecognitionResult|Object|图片标签识别结果|

RecognitionResult 节点内容:

|参数名称|类型|描述| |Labels|Object|标签信息|

标签信息中包含如下内容:

参数名称 类型 描述
Confidence Int 该标签的置信度分数,分数越高则该标签准确度越高
Name String 识别出的图片标签

标签信息中包含如下内容:

参数名称 类型 描述
Confidence Int 该标签的置信度分数,分数越高则该标签准确度越高
Name String 识别出的图片标签

调用示例 小程序使用:

const extCI = require('@cloudbase/extension-ci');
qq.cloud.init({
    env:"test-x1dzi"
})
// 注册云开发扩展
qq.cloud.registerExtension(extCI);

云函数中使用:

const cloud = require('qq-server-sdk');
const extCI = require('@cloudbase/extension-ci');
// 初始化环境
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})


// 注册云开发扩展
cloud.registerExtension(extCI);

您可以根据需要选择在【客户端】或【云函数】中使用,再按照如下代码调用:

async function demo() {
  try {
    const res = await cloud.invokeExtension("CloudInfinite", {
      action: "DetectLabel",
      cloudPath: "demo.png" // 需要分析的图像的绝对路径,与cloud.uploadFile中一致
    });
    console.log(JSON.stringify(res.data, null, 4));
  } catch (err) {
    console.log(JSON.stringify(err, null, 4));
  }
}