From f06f1ef7fd7a1ec57ce20afdf29419685dfa2c2c Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 20 Mar 2025 12:48:46 +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 --- .../imageseg/SegmentHDSkyController.java | 64 +++++++++++++++++ .../imageseg/SegmentHeadController.java | 69 +++++++++++++++++++ .../imageseg/SegmentSkinController.java | 56 +++++++++++++++ .../request/imagerecog/SegmentHDSkyReq.java | 8 +++ .../request/imagerecog/SegmentHeadReq.java | 20 ++++++ .../request/imagerecog/SegmentSkinReq.java | 8 +++ .../api/resp/imageseg/SegmentHDSkyResp.java | 10 +++ .../api/resp/imageseg/SegmentHeadResp.java | 49 +++++++++++++ .../api/resp/imageseg/SegmentSkinResp.java | 10 +++ 9 files changed, 294 insertions(+) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentHDSkyController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentHeadController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentSkinController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentHDSkyReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentHeadReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentSkinReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHDSkyResp.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHeadResp.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentSkinResp.java diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentHDSkyController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentHDSkyController.java new file mode 100644 index 0000000..06b8d40 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageseg/SegmentHDSkyController.java @@ -0,0 +1,64 @@ +package com.heyu.api.controller.imageseg; + + +import com.aliyun.imageseg20191230.models.SegmentHDSkyResponse; +import com.aliyun.imageseg20191230.models.SegmentHDSkyResponseBody; +import com.heyu.api.alibaba.handle.imageseg.ASegmentHDSkyHandle; +import com.heyu.api.alibaba.request.imageseg.ASegmentHDSkyRequest; +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.imagerecog.SegmentHDSkyReq; +import com.heyu.api.resp.imageseg.SegmentHDSkyResp; +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/imageseg/2019-12-30/SegmentHDSky?tab=DOC + *
+ *
+ * 天空高清分割 SegmentHDSky
+ *
+ * 应用场景
+ * 户外美照:当您在户外所拍摄的照片天空不够蔚蓝通透时,无论多复杂的场景,天空高清分割都可以将天空部分抠出,您可以换上美美的天空,让照片达到理想的视觉效果。
+ *
+ * 特色优势
+ * 支持更大分辨率:天空高清分割最大可以识别分辨率 5000×5000 像素的图片,更适合商业摄影的高水准后期处理。
+ * 支持更多细节:天空高清分割可以得到更精细的图片,展现更多的细节。
+ *
+ *
+ */
+@Slf4j
+@RestController
+@RequestMapping("/sky")
+@NotIntercept
+public class SegmentHDSkyController extends BaseController {
+
+
+ @Autowired
+ private ASegmentHDSkyHandle segmentHDSkyHandle;
+
+
+ @RequestMapping("/hd/segment")
+ @CacheResult
+ public R segment(SegmentHDSkyReq request) {
+ SegmentHDSkyResp resp = new SegmentHDSkyResp();
+ ASegmentHDSkyRequest aSegmentHDSkyRequest = new ASegmentHDSkyRequest();
+ aSegmentHDSkyRequest.setImageBase64(request.getImageBase64());
+ aSegmentHDSkyRequest.setImageUrl(request.getImageUrl());
+
+ ApiR
+ * 皮肤分割
+ *
+ * SegmentSkin
+ */
+@Slf4j
+@RestController
+@RequestMapping("/skin")
+@NotIntercept
+public class SegmentSkinController extends BaseController {
+
+
+ @Autowired
+ private ASegmentSkinHandle segmentSkinHandle;
+
+
+ @RequestMapping("/segment")
+ @CacheResult
+ public R segment(SegmentSkinReq request) {
+ SegmentSkinResp resp = new SegmentSkinResp();
+
+ ASegmentSkinRequest segmentSkinRequest = new ASegmentSkinRequest();
+ segmentSkinRequest.setImageBase64(request.getImageBase64());
+ segmentSkinRequest.setImageUrl(request.getImageUrl());
+
+ ApiR
+ * 如果设置为mask,则返回单通道 mask。
+ * 如果不设置或者设置为任意非 mask 值,则返回四通道 PNG 图。
+ * 示例值:
+ * mask
+ */
+ private String returnType = "mask";
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentSkinReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentSkinReq.java
new file mode 100644
index 0000000..a25dd93
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imagerecog/SegmentSkinReq.java
@@ -0,0 +1,8 @@
+package com.heyu.api.request.imagerecog;
+
+import com.heyu.api.request.CommonReq;
+import lombok.Data;
+
+@Data
+public class SegmentSkinReq extends CommonReq {
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHDSkyResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHDSkyResp.java
new file mode 100644
index 0000000..0ea196d
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHDSkyResp.java
@@ -0,0 +1,10 @@
+package com.heyu.api.resp.imageseg;
+
+import com.heyu.api.resp.CommonImageUrlResp;
+import lombok.Data;
+
+@Data
+public class SegmentHDSkyResp extends CommonImageUrlResp {
+
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHeadResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHeadResp.java
new file mode 100644
index 0000000..be54cd7
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentHeadResp.java
@@ -0,0 +1,49 @@
+package com.heyu.api.resp.imageseg;
+
+import com.heyu.api.data.dto.BaseResp;
+import lombok.Data;
+
+@Data
+public class SegmentHeadResp extends BaseResp {
+
+ /**
+ * 结果图的高度。
+ *
+ * 示例值:
+ * 180
+ */
+ public Integer height;
+
+ /**
+ * 结果图像 URL 地址。 抠图之后返回四通道 PNG 图,无压缩,图像体积会变大。
+ *
+ * 说明 该 URL 地址为临时地址,有效期为 30 分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在 30 分钟内访问 URL 地址,下载文件转存到自己的 OSS 或者其他存储空间。
+ * 示例值:
+ * http://viapi-cn-shanghai-dha-segmenter.oss-cn-shanghai.aliyuncs.com/upload/result_headsegmenter/2020-6-2/invi_headsegmenter_015910809094981099086_TAamhR.png?Expires=1591082709&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=xuUE%2FbYeB9LpR18VXawOVeutQU****
+ */
+ public String imageURL;
+
+ /**
+ * 结果图的宽度。
+ *
+ * 示例值:
+ * 116
+ */
+ public Integer width;
+
+ /***
+ * 左上角 x 坐标。
+ *
+ * 示例值:
+ * 445
+ */
+ public Integer x;
+
+ /**
+ * 左上角 y 坐标。
+ *
+ * 示例值:
+ * 102
+ */
+ public Integer y;
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentSkinResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentSkinResp.java
new file mode 100644
index 0000000..1571363
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageseg/SegmentSkinResp.java
@@ -0,0 +1,10 @@
+package com.heyu.api.resp.imageseg;
+
+
+import com.heyu.api.resp.CommonImageUrlResp;
+import lombok.Data;
+
+@Data
+public class SegmentSkinResp extends CommonImageUrlResp {
+
+}