阅读(1545)
赞(12)
QQ小程序 图像标签
2020-07-10 15:45:03 更新
图像标签对云存储中存量数据的图片标签识别,返回图片中置信度较高的主题标签,帮助开发者分析图像。
功能特性
识别图片中的场景、物品、人物等信息,例如自然风光(山、海、天空、夕阳等)、人造环境(建筑、游乐场、会议室等)、人像(男性、女性、自拍、合照等)、物品(美食、穿着、日常用品等)、动物(猫、狗、鸟类、哺乳动物、海洋生物等各种宠物或野生动物)。
适用场景
可以用于相册分类、信息流内容推荐、广告推荐、图库分类检索、视频内容理解、拍照识图等各种场景。 注意:您不仅在云函数中可以使用该扩展能力,也可以在客户端使用,文件读写权限策略与云存储一致,减去您额外的权限管理工作。
前置要求
已经开通云开发。 云环境已安装图像标签扩展,点击此处 查看安装情况
使用说明
1. 安装扩展 SDK 到项目
npm install --save @cloudbase/extension-ci@latest
- 注册扩展到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);
- 调用扩展 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));
}
}