You need to enable JavaScript to run this app.
导航
画质增强
最近更新时间:2024.06.04 11:55:04首次发布时间: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({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        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({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        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,
      // 执行超分处理的短边范围最小值,仅当满足图像边界输入的图像执行超分处理。单位为 px。
      "ShortMin": 200,
      // 执行超分处理的短边范围最大值,仅当满足图像边界输入的图像执行超分处理。单位为 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);
    }
  }