You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

图像修复

最近更新时间2022.11.10 17:24:44

首次发布时间2022.11.10 17:24:44

阅读本文,您可以快速了解图像修复 Java SDK 的使用方法。

初始化

调用接口前请先完成初始化,具体操作请参考初始化

使用图像修复获取结果图

以下内容支持通过获取图像擦除模型,并指定服务 ID、原图地址和擦除模型,获取图像修复后结果图 URI。

具体参数详情和返回字段请参考 GetImageEraseModelsGetImageEraseResult。具体示例如下所示:

package com.volcengine.example.imagex;

import com.volcengine.model.request.GetImageEraseModelsRequest;
import com.volcengine.model.request.GetImageEraseResultRequest;
import com.volcengine.model.response.GetImageEraseModelsResponse;
import com.volcengine.model.response.GetImageEraseResultResponse;
import com.volcengine.service.imagex.IImageXService;
import com.volcengine.service.imagex.impl.ImageXServiceImpl;

import java.util.Arrays;
import java.util.Collections;

public class ExtensionGetImageErase {
    public static void main(String[] args) {
        // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域
        IImageXService service = ImageXServiceImpl.getInstance();
        service.setAccessKey("ak");
        service.setSecretKey("sk");

        // 获取图像擦除模型
        GetImageEraseModelsRequest request = new GetImageEraseModelsRequest();
        request.setType(1);    // 0 表示获取自动检测并擦除模型列表,1 表示获取指定区域擦除模型列表。默认 0

        GetImageEraseModelsResponse response;
        try {
            response = service.getImageEraseModels(request);
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        // 图像擦除
        GetImageEraseResultRequest request1 = new GetImageEraseResultRequest();
        request1.setServiceId("service id"); // 服务 ID
        request1.setStoreUri("store uri");   // 文件的 Store URI
        request1.setModel(Arrays.stream(response.getResult().getModels()).findFirst().orElse("default")); // 使用的模型
        GetImageEraseResultRequest.BBox bbox = new GetImageEraseResultRequest.BBox();
        bbox.setX1(0f);  //待修复区域左上角的 X 坐标,取值范围为[0,1]
        bbox.setY1(0f);  //待修复区域左上角的 Y 坐标,取值范围为[0,1]
        bbox.setX2(1f);  //待修复区域右下角的 X 坐标,取值范围为[0,1]
        bbox.setY2(1f);  //待修复区域右下角的 Y 坐标,取值范围为[0,1]
        request1.setBbox(Collections.singletonList(bbox)); // 处理指定区域

        try {
            GetImageEraseResultResponse response1 = service.getImageEraseResult(request1);
            System.out.println(response1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}