You need to enable JavaScript to run this app.
导航
画质增强
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.04 11:55:04

阅读本文,您可以获取 Node SDK 画质增强的接口调用示例,实现快速开发。

说明

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

调用说明

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

前提条件

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

调用示例

本节为您介绍画质增强相关接口的功能和调用示例。

使用画质增强获取结果图

您可以调用 GetImageEnhanceResult 接口使用画质增强获取结果图。详细的参数说明可参见 GetImageEnhanceResult 接口文档。

接口调用示例如下所示。

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

export async function GetImageEnhanceResultDemo() {
  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。
      // * 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。
      // * 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。
      ServiceId: "v0***bf",
      // 待增强的原图地址的存储 URI 和 URL(公网可访问的 URL)。
      StoreUri: "test.webp",
      // 增强模型,取值如下所示:
      // * 0:通用模型
      // * 1:低质专清模型
      Model: 0,
      // 是否不去压缩失真。Model取值为0时选填,支持以下取值:
      // * true:不进行去压缩失真处理
      // * false:(默认)进行去压缩失真处理
      DisableAr: false,
      // 是否不自适应锐化。Model取值为0时选填,支持以下取值:
      // * true:不进行锐化处理
      // * false:(默认)进行锐化处理
      DisableSharp: true,
    };

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

使用综合增强获取结果图

您可以调用 GetComprehensiveEnhanceImage 接口使用综合增强获取结果图。详细的参数说明可参见 GetComprehensiveEnhanceImage 接口文档。

接口调用示例如下所示。

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

export async function GetComprehensiveEnhanceImageDemo() {
  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。
      ServiceId: "i2****hg",
      // 待增强图片的存储 URI 或访问 URL(公网可访问)。您可在控制台资源管理获取图片的[存储 URI](https://www.volcengine.com/docs/508/1205057) 以及[访问 URL](https://www.volcengine.com/docs/508/1205054)。
      ImageUri: "tos-example/7a7979974.jpeg",
      // 优化策略,取值如下所示:
      // <li> 0:通用画质提升 </li>
      // <li> 1:显著画质提升 </li>
      // note:
      // 推荐优先使用通用方案,显著画质提升方案画质分提高 10% 左右,但体积会有一定浮动提升。以上幅度变化基于测试集总结,具体以使用场景为准。
      Mode: 0,
      // 是否启用高级配置,取值如下所示:
      // <li> true:开启。开启后,下述高级配置才会生效。 </li>
      // <li> false:(默认)关闭。 </li>
      // note:
      // 适用于 8000 x 8000 以分辨率图像的画质增强。
      EnableConfig: true,
      // 去压缩失真强度,取值范围为[0,1]。取值为0时表示不处理,取值越大去压缩失真强度越大。
      ArStrength: 0.2,
      // 去模糊强度,取值范围为[0,1]。取值为0时表示不处理,取值越大去模糊强度越大。
      DeblurStrength: 0.2,
      // 降噪强度,取值范围为[0,1]。取值为0时表示不降噪,取值越大降噪强度越大。
      DenoiseStrength: 0.2,
      // 是否开启超分配置,仅满足图像输入边界的图像执行超分处理。取值如下所示:
      // <li> true:开启。仅当开启后,下述超分配置才会生效。 </li>
      // <li> false:(默认)关闭。 </li>
      // note:
      // 适用于 8000 x 8000 以内分辨率图像的画质增强。
      EnableSuperResolution: true,
      // 超分倍率,仅支持 2 倍和 4 倍。
      // note:
      // 4 倍超分辨率只适用于 4000 x 4000 以内分辨率图像的画质增强。
      Multiple: 2,
      // EnableSuperResolution 取值为 true 时,为必填。
      // 执行超分处理的短边范围最小值,仅当满足图像边界输入的图像执行超分处理。单位为 px。
      ShortMin: 200,
      // EnableSuperResolution 取值为 true 时,为必填。
      // 执行超分处理的短边范围最大值,仅当满足图像边界输入的图像执行超分处理。单位为 px。
      ShortMax: 700,
      // 执行超分处理的长边范围最小值,仅当满足图像边界输入的图像执行超分处理。单位为 px。
      LongMin: 300,
      // 执行超分处理的长边范围最大值,仅当满足图像边界输入的图像执行超分处理。单位为 px。
      LongMax: 800,
      // 是否开启下采样,即图片在执行增强效果的同时可自定义输出图片分辨率大小。取值如下所示:
      // <li> true:开启。仅当开启后,下述下采样配置才会生效。 </li>
      // <li> false:(默认)关闭。 </li>
      // note:
      // 适用于 8000 x 8000 以内分辨率图像的画质增强。
      EnableDownsample: true,
      // 下采样输出图片宽度,图片将适配对应大小。单位为 px。
      DownsampleOutWidth: 10,
      // 下采样输出图片高度,图片将适配对应大小。单位为 px。
      DownsampleOutHeight: 10,
      // 下采样模式,取值如下所示:
      // <li> 0: 仅缩小,图片大于设置的“宽/高”时,将缩小图片 </li>
      // <li> 1: 仅放大,图片小于设置的“宽/高”时,将放大图片 </li>
      // <li> 2: 既缩小又放大,即按照自定义“宽/高”输出结果图,该操作可能导致图片变形 </li>
      DownsampleMode: 1,
      // 饱和度,取值范围为[0,2]。取值大于 1 表示提升饱和度,取值小于 1 表示降低饱和度。
      Saturation: 1.5,
      // EnableConfig 取值为 true 时,为必填。
      // 亮度,取值范围为[90,100]。取值越小,亮度提升越明显。
      Brightness: 95,
      // 是否使用文字增强,取值如下所示:
      // <li> false:(默认)不使用 </li>
      // <li> true:使用 </li>
      EnableTextEnhance: false,
      // 文字增强强度,取值范围[0,1],默认值为 0.5。取值越大文字增强效果越强,但也更容易出现白边、色偏、对比度增大、非 CG 文字与背景产生割裂感等问题。
      TextEnhanceStrength: 0.5,
    };

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