This commit is contained in:
quyixiao 2025-03-19 00:13:13 +08:00
parent 78d22395fa
commit 739b37e112
9 changed files with 250 additions and 3 deletions

View File

@ -21,7 +21,7 @@ public class AMakeSuperResolutionImageRequest extends ACommonTextRequest {
* 示例值:
* base
*/
private String mode = "base";
private String mode = "enhancement";
/**

View File

@ -40,9 +40,9 @@ public class ImitatePhotoStyleController extends BaseController {
private AImitatePhotoStyleHandle aImitatePhotoStyleHandle;
@RequestMapping("/superScore")
@RequestMapping("/imitatePhotoStyle")
@CacheResult
public R superScore(ImitatePhotoStyleReq req) {
public R imitatePhotoStyle(ImitatePhotoStyleReq req) {
ImitatePhotoStyleResp resp = new ImitatePhotoStyleResp();
AImitatePhotoStyleRequest request = new AImitatePhotoStyleRequest();

View File

@ -0,0 +1,69 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.MakeSuperResolutionImageResponse;
import com.aliyun.imageenhan20190930.models.MakeSuperResolutionImageResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.AMakeSuperResolutionImageHandle;
import com.heyu.api.alibaba.request.imageenhan.AMakeSuperResolutionImageRequest;
import com.heyu.api.controller.BaseController;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.imageenhan.AMakeSuperResolutionImageResp;
import com.heyu.api.request.imageenhan.MakeSuperResolutionImageReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
* https://next.api.aliyun.com/api/imageenhan/2019-09-30/MakeSuperResolutionImage?tab=DOC&lang=JAVA
*
*
* 图像超分
*
* MakeSuperResolution|mage
*
* 功能描述
* 图像超分在放大图像分辨率的同时提升图像细节纹理降低图像噪声支持 1-4 倍分辨率放大支持原分辨率增强支持多种模式不同效果的输出 关于该接口功能的示例图如下
*
* 示意图如下所示
*
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class MakeSuperResolutionImageController extends BaseController {
@Autowired
private AMakeSuperResolutionImageHandle amakeSuperResolutionImageHandle;
@RequestMapping("/superScore")
@CacheResult
public R superScore(MakeSuperResolutionImageReq req) {
AMakeSuperResolutionImageResp resp = new AMakeSuperResolutionImageResp();
AMakeSuperResolutionImageRequest request = new AMakeSuperResolutionImageRequest();
request.setOutputQuality(req.getOutputQuality());
request.setUpscaleFactor(req.getUpscaleFactor());
request.setImageUrl(req.getImageUrl());
request.setImageBase64(req.getImageBase64());
ApiR<MakeSuperResolutionImageResponse> aR = amakeSuperResolutionImageHandle.handle(request);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
MakeSuperResolutionImageResponseBody.MakeSuperResolutionImageResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setImageURL(responseBodyData.getUrl());
return R.ok().setData(resp);
}
return R.error(aR.getErrorMsg());
}
}

View File

@ -0,0 +1,63 @@
package com.heyu.api.controller.imageenhan;
import com.aliyun.imageenhan20190930.models.RemoveImageSubtitlesResponse;
import com.aliyun.imageenhan20190930.models.RemoveImageSubtitlesResponseBody;
import com.heyu.api.alibaba.handle.imageenhan.ARemoveImageSubtitlesHandle;
import com.heyu.api.alibaba.request.imageenhan.ARemoveImageSubtitlesRequest;
import com.heyu.api.controller.BaseController;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.imageenhan.RemoveImageSubtitlesReq;
import com.heyu.api.resp.imageenhan.RemoveImageSubtitlesResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/***
*https://next.api.aliyun.com/api/imageenhan/2019-09-30/RemoveImageSubtitles?tab=DOC&lang=JAVA&RegionId=cn-shanghai
*
*字幕擦除
*
* RemovelmageSubtitles
*
*
* 功能描述
* 字幕擦除能力可以擦除图片中的标准字幕
*
*/
@Slf4j
@RestController
@RequestMapping("/image")
@NotIntercept
public class RemoveImageSubtitlesController extends BaseController {
@Autowired
private ARemoveImageSubtitlesHandle removeImageSubtitlesHandle;
@RequestMapping("/removeSubtitles")
@CacheResult
public R removeSubtitles(RemoveImageSubtitlesReq req) {
RemoveImageSubtitlesResp resp = new RemoveImageSubtitlesResp();
ARemoveImageSubtitlesRequest request = new ARemoveImageSubtitlesRequest();
request.setImageUrl(req.getImageUrl());
request.setImageBase64(req.getImageBase64());
request.setX(req.getX());
request.setY(req.getY());
request.setW(req.getW());
request.setH(req.getH());
ApiR<RemoveImageSubtitlesResponse> aR = removeImageSubtitlesHandle.handle(request);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
RemoveImageSubtitlesResponseBody.RemoveImageSubtitlesResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setImageURL(responseBodyData.getImageURL());
return R.ok().setData(resp);
}
return R.error(aR.getErrorMsg());
}
}

View File

@ -0,0 +1,9 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class AMakeSuperResolutionImageResp extends CommonImageUrlResp {
}

View File

@ -0,0 +1,33 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class MakeSuperResolutionImageReq extends CommonReq {
/**
* 放大倍数取值为 1234缺省时默认为 2
* <p>
* 注意 该字段类型为 Long在序列化/反序列化的过程中可能导致精度丢失请注意数值不得大于 9007199254740991
* 示例值:
* 2
*/
private Long upscaleFactor = 4L;
/**
* 输出图像的质量因子值越大质量越高取值范围[30,100]默认 95仅当 OutputFormat 是jpg时有效
* <p>
* 注意 该字段类型为 Long在序列化/反序列化的过程中可能导致精度丢失请注意数值不得大于 9007199254740991
* 示例值:
* 95
*/
private Long outputQuality = 95L;
}

View File

@ -0,0 +1,51 @@
package com.heyu.api.request.imageenhan;
import com.heyu.api.request.CommonReq;
import lombok.Data;
@Data
public class RemoveImageSubtitlesReq extends CommonReq {
/**
* number<float>
* 字幕区域的左上角点 x 坐标相对图像宽度的占比值取值范围 0~1
*
* 示例值:
* 0
*/
private Float x;
/**
* number<float>
* 字幕区域的左上角点 y 坐标相对图像高度的占比值取值范围 0~1
*
* 示例值:
* 0.75
*/
private Float y;
/**
* BW
* number<float>
* 字幕区域的宽度相对图像宽度的占比值取值范围 0~1
*
* 示例值:
* 1
*/
private Float w;
/**
* BH
* number<float>
* 字幕区域的高度相对图像高度的占比值取值范围 0~1
*
* 示例值:
* 0.25
*/
private Float h;
}

View File

@ -0,0 +1,12 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class MakeSuperResolutionImageResp extends CommonImageUrlResp {
}

View File

@ -0,0 +1,10 @@
package com.heyu.api.resp.imageenhan;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class RemoveImageSubtitlesResp extends CommonImageUrlResp {
}