From cf2221642f2d3e85ad5e1d9d3cc90586690b00f9 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sun, 16 Mar 2025 19:27:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EnhanceImageColorController.java | 64 +++++++++++++++++ .../imageenhan/ErasePersonController.java | 70 +++++++++++++++++++ .../request/imageenhan/ColorizeImageReq.java | 14 ++++ .../imageenhan/EnhanceImageColorReq.java | 12 ++++ .../request/imageenhan/ErasePersonReq.java | 28 ++++++++ .../imageenhan/EnhanceImageColorResp.java | 12 ++++ .../api/resp/imageenhan/ErasePersonResp.java | 14 ++++ 7 files changed, 214 insertions(+) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/EnhanceImageColorController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ErasePersonController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/EnhanceImageColorReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ErasePersonReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/EnhanceImageColorResp.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ErasePersonResp.java diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/EnhanceImageColorController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/EnhanceImageColorController.java new file mode 100644 index 0000000..ea6cb4c --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/EnhanceImageColorController.java @@ -0,0 +1,64 @@ +package com.heyu.api.controller.imageenhan; + + +import com.aliyun.imageenhan20190930.models.EnhanceImageColorResponse; +import com.aliyun.imageenhan20190930.models.EnhanceImageColorResponseBody; +import com.heyu.api.alibaba.handle.imageenhan.AEnhanceImageColorHandle; +import com.heyu.api.alibaba.request.imageenhan.AEnhanceImageColorRequest; +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.ColorizeImageReq; +import com.heyu.api.resp.imageenhan.ColorizeImageResp; +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/EnhanceImageColor?tab=DOC + * + * 图像色彩增强 + * + * EnhancelmageColor + * + * + *功能描述 + * 图像色彩增强能力可以对输入图像进行智能内容分析,根据图像内容自动调整参数,对图像饱和度、亮度、对比度等多个维度进行优化,输出增强后的图像。 关于该接口功能的示例图如下: + * + *应用场景 + * 设计素材美化:对设计图像进行智能分析提升,用于创意设计。 + * 照片美化:对拍摄的照片进行智能美化,用于分享和传播。 + * + */ +@Slf4j +@RestController +@RequestMapping("/image") +@NotIntercept +public class EnhanceImageColorController extends BaseController { + + + @Autowired + private AEnhanceImageColorHandle aEnhanceImageColorHandle; + + + @RequestMapping("/colorEnhance") + @CacheResult + public R exposure(ColorizeImageReq req) { + ColorizeImageResp resp = new ColorizeImageResp(); + AEnhanceImageColorRequest request = new AEnhanceImageColorRequest(); + request.setImageBase64(req.getImageBase64()); + request.setImageUrl(req.getImageUrl()); + request.setMode(req.getMode()); + + ApiR aR = aEnhanceImageColorHandle.handle(request); + if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) { + EnhanceImageColorResponseBody.EnhanceImageColorResponseBodyData responseBodyData = aR.getData().getBody().getData(); + resp.setImageURL(responseBodyData.getImageURL()); + return R.ok().setData(resp); + } + return R.error(aR.getErrorMsg()); + } +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ErasePersonController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ErasePersonController.java new file mode 100644 index 0000000..b6bd68d --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ErasePersonController.java @@ -0,0 +1,70 @@ +package com.heyu.api.controller.imageenhan; + + +import com.aliyun.imageenhan20190930.models.ErasePersonResponse; +import com.aliyun.imageenhan20190930.models.ErasePersonResponseBody; +import com.heyu.api.alibaba.handle.imageenhan.AErasePersonHandle; +import com.heyu.api.alibaba.request.imageenhan.AErasePersonRequest; +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.ErasePersonReq; +import com.heyu.api.resp.imageenhan.ErasePersonResp; +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/ErasePerson?tab=DOC&lang=JAVA&RegionId=cn-shanghai + * 擦除 + *

+ * 图像人体擦除 + *

+ * ErasePerson + * + * 应用场景 + * 旅行照片修复:图像人体擦除可以帮您去除背景中的路人,还您美美的旅行照片。 + * 穿帮镜头后期修复:在影视拍摄过程中,如果在前期拍摄镜头中出现了本不应该出现的人物,可以通过图像人体擦除帮您批量处理修复这些穿帮镜头。 + * 特点优势 + * 尽量保留原照片内容:通过指定区域 Mask,缩小自动填充背景范围,擦除背景人物,降低处理后照片的违和感。人像区域 mask,建议使用阿里云视觉智能开放平台提供的人体分割算法来获得,可以得到更好的效果。 + * 自动生成填充被人体遮挡的背景:基于深度学习算法,图像人体擦除可以推理还原出被人体遮挡的背景内容,真实而没有违和感。 + */ +@Slf4j +@RestController +@RequestMapping("/image") +@NotIntercept +public class ErasePersonController extends BaseController { + + @Autowired + private AErasePersonHandle aErasePersonHandle; + + + @RequestMapping("/erasePerson") + @CacheResult + public R erasePerson(ErasePersonReq req) { + ErasePersonResp resp = new ErasePersonResp(); + + AErasePersonRequest aErasePersonRequest = new AErasePersonRequest(); + aErasePersonRequest.setMaskUrl(req.getMaskUrl()); + aErasePersonRequest.setImageUrl(req.getImageUrl()); + aErasePersonRequest.setMaskBase64(req.getMaskBase64()); + aErasePersonRequest.setImageBase64(req.getImageBase64()); + + + ApiR aR = aErasePersonHandle.handle(aErasePersonRequest); + if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) { + ErasePersonResponseBody.ErasePersonResponseBodyData responseBodyData = aR.getData().getBody().getData(); + + resp.setImageURL(responseBodyData.getImageUrl()); + return R.ok().setData(resp); + } + + return R.error(aR.getErrorMsg()); + } + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ColorizeImageReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ColorizeImageReq.java index 9f18d42..a56ba9c 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ColorizeImageReq.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ColorizeImageReq.java @@ -5,4 +5,18 @@ import lombok.Data; @Data public class ColorizeImageReq extends CommonReq { + + /** + * 调色模式。包括 LogC、Rec709 和 ln17_256。 + * + * LogC:适用于灰片(低对比度 raw 图)输入,大幅度调整图像色彩观感,使其恢复 SDR 域的色彩质感。 + * Rec709:适用于一般条件拍摄的图像,适当提升图像亮度、饱和度等,调整幅度较为保守。 + * ln17_256:适用于一般条件拍摄的图像,大幅度调整图像亮度、饱和度、对比度,提升色彩质感。 + * 示例值: + * LogC + */ + private String mode = "LogC"; + + + } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/EnhanceImageColorReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/EnhanceImageColorReq.java new file mode 100644 index 0000000..5e31531 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/EnhanceImageColorReq.java @@ -0,0 +1,12 @@ +package com.heyu.api.request.imageenhan; + + +import com.heyu.api.request.CommonReq; +import lombok.Data; + +@Data +public class EnhanceImageColorReq extends CommonReq { + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ErasePersonReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ErasePersonReq.java new file mode 100644 index 0000000..4ad3fb6 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ErasePersonReq.java @@ -0,0 +1,28 @@ +package com.heyu.api.request.imageenhan; + +import com.heyu.api.request.CommonReq; +import lombok.Data; + +@Data +public class ErasePersonReq extends CommonReq { + + /** + * + * 图像对于 Mask 的 URL 地址。推荐使用上海地域的 OSS 链接,对于文件在本地或者非上海地域 OSS 链接的情况,请参见文件 URL 处理(使用 viapiutils 显式的方案生成 URL)。展开详情 + * + * 示例值: + * http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/imageenhan/ErasePerson/ErasePerson6.jpg + * + */ + private String maskUrl; + + + /** + * 64位编码 + */ + private String maskBase64; + + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/EnhanceImageColorResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/EnhanceImageColorResp.java new file mode 100644 index 0000000..d6b2be5 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/EnhanceImageColorResp.java @@ -0,0 +1,12 @@ +package com.heyu.api.resp.imageenhan; + + +import com.heyu.api.resp.CommonImageUrlResp; +import lombok.Data; + +@Data +public class EnhanceImageColorResp extends CommonImageUrlResp { + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ErasePersonResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ErasePersonResp.java new file mode 100644 index 0000000..676eee7 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ErasePersonResp.java @@ -0,0 +1,14 @@ +package com.heyu.api.resp.imageenhan; + + +import com.heyu.api.resp.CommonImageUrlResp; +import lombok.Data; + +@Data +public class ErasePersonResp extends CommonImageUrlResp { + + + + + +}