feat(image): 新增图像超分辨率增强功能
All checks were successful
ZhenTu-BE/pipeline/head This commit looks good

- 新增 BceImageSR 类实现图像超分辨率增强
- 修改 BceImageEnhancer 类中的增强方法
-增加图像超分辨率增强的相关配置和接口
This commit is contained in:
2025-09-02 19:24:00 +08:00
parent aa717d0c2a
commit 0ff0b75910
2 changed files with 44 additions and 1 deletions

View File

@@ -33,7 +33,7 @@ public class BceImageEnhancer implements IEnhancer {
public MultipartFile enhance(String url) { public MultipartFile enhance(String url) {
AipImageProcess client = getClient(); AipImageProcess client = getClient();
HashMap<String, String> options = new HashMap<>(); HashMap<String, String> options = new HashMap<>();
JSONObject jsonObject = client.imageQualityEnhance(url, options); JSONObject jsonObject = client.imageDefinitionEnhance(url, options);
return ImageUtils.base64ToMultipartFile(jsonObject.getString("image")); return ImageUtils.base64ToMultipartFile(jsonObject.getString("image"));
} }

View File

@@ -0,0 +1,43 @@
package com.ycwl.basic.image.enhancer.adapter;
import com.baidu.aip.imageprocess.AipImageProcess;
import com.ycwl.basic.image.enhancer.entity.BceEnhancerConfig;
import com.ycwl.basic.utils.ImageUtils;
import org.json.JSONObject;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.Map;
public class BceImageSR implements IEnhancer {
private BceEnhancerConfig config;
public boolean setConfig(BceEnhancerConfig config) {
this.config = config;
return true;
}
@Override
public boolean loadConfig(Map<String, String> _config) {
BceEnhancerConfig config = new BceEnhancerConfig();
config.setAppId(_config.get("appId"));
config.setApiKey(_config.get("apiKey"));
config.setSecretKey(_config.get("secretKey"));
config.setQps(Float.parseFloat(_config.get("qps")));
this.config = config;
return true;
}
@Override
public MultipartFile enhance(String url) {
AipImageProcess client = getClient();
HashMap<String, String> options = new HashMap<>();
JSONObject jsonObject = client.imageQualityEnhance(url, options);
return ImageUtils.base64ToMultipartFile(jsonObject.getString("image"));
}
public AipImageProcess getClient() {
AipImageProcess client = new AipImageProcess(config.getAppId(), config.getApiKey(), config.getSecretKey());
return client;
}
}