阅读本文,您可以获取 Node SDK 图片去重的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 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); } }