使用AI大模型无损放大照片

发布时间:2023年12月20日

在线体验:点击【图像处理】即可使用

private static final String IMAGE_QUALITY_ENHANCE = "https://aip.baidubce.com/rest/2.0/image-process/v1/image_quality_enhance";
private static final String TOKEN_URL = "https://aip.baidubce.com/oauth/2.0/token";
private static final String AK = "需自行申请";
private static final String SK = "需自行申请";

/**
     * 图像无损放大
     *
     * @param base64 图片base64编码
     * @return 处理后的图片base64编码
     */
private static String imageQualityEnhance(String base64) {
        String token = BaiduTokenUtil.getToken(AK, SK);
        String url = String.format("%s?access_token=%s", IMAGE_QUALITY_ENHANCE, token);
        FormBody formBody = new FormBody.Builder()
                .add("image", base64)
                .build();
        String result = HttpUtil.postForm(url, formBody);
        Assert.notNull(result, "请求超时,请重试");
        Map map = JSONUtil.toBean(result, Map.class);
        Object image = map.get("image");
        return image == null ? null : image.toString();
    }
 
 public static String getToken(String ak, String sk) {
        String token = redisUtil.get(Constants.BAIDU_TOKEN);
        if (token == null) {
            token = loadToken(appid, ak, sk);
        }
        return token;
    }

public static String loadToken(String ak, String sk) {
        String url = String.format("%s?client_id=%s&client_secret=%s&grant_type=client_credentials", TOKEN_URL, ak, sk);
        String result = HttpUtil.post(url, null);
        Assert.notNull(result, "调用失败");
        Map<String, String> data = (Map<String, String>) JSONUtil.parse(result);
        String token = data.get("access_token");
        redisUtil.set(Constants.BAIDU_TOKEN, token, 60 * 60 * 24);
        return token;
    }
文章来源:https://blog.csdn.net/qq_27574367/article/details/135078083
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。