You need to enable JavaScript to run this app.
导航
图片去重
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.04 11:54:56

阅读本文,您可以获取 Node SDK 图片去重的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍图片去重相关接口的功能和调用示例。

使用图片去重获取结果值

您可以调用 GetImageDuplicateDetection 接口使用图片去重获取结果值。详细的参数说明可参见 GetImageDuplicateDetection 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageDuplicateDetectionDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "7k**1k",
      // 需要去重的图片 URL,多个地址以英文逗号分割。图片格式仅支持 JPEG(.jpeg 或 .jpg)和 PNG,支持格式混合输入。
      Urls: [
        "https://test.imagex.cn/obj/tos-cn-i-jc****ko/ee****7e",
        "https://test.imagex.cn/obj/tos-cn-i-jc****ko/ee****7e",
      ],
      // 是否使用异步,取值如下所示:
      // * true:使用异步去重
      // * false:(默认)不使用异步去重
      Async: true,
      // 当Async取值为true即启用异步时需要添加回调地址,地址使用 POST 请求方式。回调内容详见[回调参数](#回调参数)。
      Callback: "http://example.callback.com/test",
      // 相似度阈值。上传图片数量超过 2 张并执行去重分组时,系统将对原图中满足该阈值的图片进行分组。取值范围为 [0,1],默认值为 0.84。最多支持两位小数。
      Similarity: 0.84,
      // 图像特征提取类型,取值如下所示:
      // <li> hash:(默认)基于图像的像素值、颜色分布、纹理等特征生成哈希码,并通过哈希码进行比较来判定图片的相似度。该方式处理速度快,但对图片的旋转和颜色的敏感度较高,适用于大规模且纹理相对简单的图片的快速去重。 </li>
      // <li> cnn:通过深度学习技术来提取图像的高级语义特征,如对象、场景和纹理等,这些特征用于比较不同图像之间的相似性。该提取方式鲁棒性较好,对旋转、缩放和变形的敏感度较低,适用于纹理复杂、细节丰富的图片去重。 </li>
      ExtractorType: "hash",
    };

    const res = await imagexService.GetImageDuplicateDetection(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

获取异步去重任务详情

您可以调用 GetDedupTaskStatus 接口获取异步去重任务详情。详细的参数说明可参见 GetDedupTaskStatus 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetDedupTaskStatusDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 任务 ID,您可以通过调用[使用图片去重获取结果值](https://www.volcengine.com/docs/508/138658)接口获取异步去重TaskId返回值。
      TaskId: "9108**10208",
    };

    const res = await imagexService.GetDedupTaskStatus(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}