提交修改

This commit is contained in:
quyixiao 2025-03-16 19:27:27 +08:00
parent e299a68fad
commit cf2221642f
7 changed files with 214 additions and 0 deletions

View File

@ -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<EnhanceImageColorResponse> 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());
}
}

View File

@ -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
* 擦除
* <p>
* 图像人体擦除
* <p>
* 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<ErasePersonResponse> 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());
}
}

View File

@ -5,4 +5,18 @@ import lombok.Data;
@Data
public class ColorizeImageReq extends CommonReq {
/**
* 调色模式包括 LogCRec709 ln17_256
*
* LogC适用于灰片低对比度 raw 输入大幅度调整图像色彩观感使其恢复 SDR 域的色彩质感
* Rec709适用于一般条件拍摄的图像适当提升图像亮度饱和度等调整幅度较为保守
* ln17_256适用于一般条件拍摄的图像大幅度调整图像亮度饱和度对比度提升色彩质感
* 示例值:
* LogC
*/
private String mode = "LogC";
}

View File

@ -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 {
}

View File

@ -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;
}

View File

@ -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 {
}

View File

@ -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 {
}