diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/face/EnhanceFaceController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/face/EnhanceFaceController.java new file mode 100644 index 0000000..0e097de --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/face/EnhanceFaceController.java @@ -0,0 +1,65 @@ +package com.heyu.api.controller.face; + + +import com.aliyun.facebody20191230.models.EnhanceFaceResponse; +import com.aliyun.facebody20191230.models.EnhanceFaceResponseBody; +import com.heyu.api.alibaba.handle.facebody.AEnhanceFaceHandle; +import com.heyu.api.alibaba.request.facebody.AEnhanceFaceRequest; +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.face.DetectBodyCountReq; +import com.heyu.api.request.face.EnhanceFaceReq; +import com.heyu.api.resp.face.EnhanceFaceResp; +import lombok.Data; +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/facebody/2019-12-30/EnhanceFace?RegionId=cn-shanghai + * + *人脸修复增强 + * + * EnhanceFace + * + * 功能描述 + * 人脸修复增强能力可以对输入图像中的人脸进行裁剪、对齐、细节增强,最后再融合回原图。 关于该接口功能的示例图如下: + * + * 拍摄素材增强:对拍摄时因曝光不足、对焦不准、手抖模糊的照片,通过人脸修复增强技术,可以弥补拍摄时的不足,对照片进行修复。 + * 老照片修复:对早期拍摄的分辨率低或不清晰的人像照片,进行修复增强,可以在保留老照片质感的同时提升人像清晰度。 + * + * + */ +@Slf4j +@RestController +@RequestMapping("/face") +@NotIntercept +public class EnhanceFaceController extends BaseController { + + + @Autowired + private AEnhanceFaceHandle aEnhanceFaceHandle; + + + @RequestMapping("/enhance") + @CacheResult + public R count(EnhanceFaceReq req) { + EnhanceFaceResp resp = new EnhanceFaceResp(); + AEnhanceFaceRequest request = new AEnhanceFaceRequest(); + request.setImageBase64(req.getImageBase64()); + request.setImageUrl(req.getImageUrl()); + ApiR aR = aEnhanceFaceHandle.handle(request); + if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) { + EnhanceFaceResponseBody.EnhanceFaceResponseBodyData responseBodyData = aR.getData().getBody().getData(); + resp.setImageURL(responseBodyData.getImageURL()); + return R.ok().setData(resp); + } + return R.ok(); + } + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/face/EnhanceFaceReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/face/EnhanceFaceReq.java new file mode 100644 index 0000000..61065ac --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/request/face/EnhanceFaceReq.java @@ -0,0 +1,22 @@ +package com.heyu.api.request.face; + + +import com.heyu.api.data.dto.BaseReq; +import com.heyu.api.request.CommonReq; +import lombok.Data; + +/*** + * + * + * https://next.api.aliyun.com/api/facebody/2019-12-30/EnhanceFace?RegionId=cn-shanghai + * + * 人脸修复增强 EnhanceFace + * + * + */ +@Data +public class EnhanceFaceReq extends CommonReq { + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/face/EnhanceFaceResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/face/EnhanceFaceResp.java new file mode 100644 index 0000000..7690716 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/face/EnhanceFaceResp.java @@ -0,0 +1,28 @@ +package com.heyu.api.resp.face; + + +import com.heyu.api.data.dto.BaseResp; +import lombok.Data; + +import java.io.PipedReader; + +@Data +public class EnhanceFaceResp extends BaseResp { + + + /*** + * + * 人脸修复增强后的结果图 URL 地址。 + * + * 说明 该 URL 地址为临时地址,有效期为 30 分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在 30 分钟内访问 URL 地址,下载文件转存到自己的 OSS 或者其他存储空间。 + * 示例值: + * http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/face-enhancement/2021-11-30/8e34b61c-abcf-4708-9d9d-6501968ee806/20211130_080644126523_47ct9w3pgh.jpg?Expires=1638261404&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=2wPdcuCmr%2F86WpBL3HQJw5uCFl**** + * + */ + private String imageURL; + + + + + +}