提交修改

This commit is contained in:
quyixiao 2025-03-20 12:28:26 +08:00
parent e80dfa4c24
commit d57d910364
4 changed files with 86 additions and 1 deletions

View File

@ -0,0 +1,64 @@
package com.heyu.api.controller.imageseg;
import com.aliyun.imageseg20191230.models.SegmentHDBodyResponse;
import com.aliyun.imageseg20191230.models.SegmentHDBodyResponseBody;
import com.heyu.api.alibaba.handle.imageseg.ASegmentHDBodyHandle;
import com.heyu.api.alibaba.request.imageseg.ASegmentHDBodyRequest;
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.SegmentHDBodyReq;
import com.heyu.api.resp.imageseg.SegmentHDBodyResp;
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/SegmentHDBody?tab=DEMO&lang=JAVA
* <p>
* <p>
* 高清人体分割 SegmentHDBody
* <p>
* 功能描述
* 高清人体分割能力可以自动识别图中人体轮廓实现与背景进行分离返回分割后的前景人像图本功能适用于真人图片不适用于卡通图片 关于该接口功能的示例图如下
* <p>
* <p>
* 应用场景
* 人像摄影人体分割通过将摄影主体人物从背景中分割出来将背景虚化以达到大光圈浅景深效果突出人物主体
* 证件照制作上传或拍摄一张人像照片可将人物精细地分割出来再搭配其他背景处理能力最终制作出标准的证件照
*/
@Slf4j
@RestController
@RequestMapping("/body")
@NotIntercept
public class SegmentHDBodyController extends BaseController {
@Autowired
private ASegmentHDBodyHandle segmentHDBodyHandle;
@RequestMapping("/hd/segment")
@CacheResult
public R segment(SegmentHDBodyReq request) {
SegmentHDBodyResp resp = new SegmentHDBodyResp();
ASegmentHDBodyRequest aSegmentHairRequest = new ASegmentHDBodyRequest();
aSegmentHairRequest.setImageBase64(request.getImageBase64());
aSegmentHairRequest.setImageUrl(request.getImageUrl());
ApiR<SegmentHDBodyResponse> aR = segmentHDBodyHandle.handle(aSegmentHairRequest);
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
SegmentHDBodyResponseBody.SegmentHDBodyResponseBodyData responseBodyData = aR.getData().getBody().getData();
resp.setImageURL(responseBodyData.getImageURL());
return R.ok().setData(resp);
}
return R.error();
}
}

View File

@ -50,7 +50,7 @@ public class SegmentHairController extends BaseController {
@RequestMapping("/segment")
@CacheResult
public R changeSky(ASegmentHairRequest request) {
public R segment(ASegmentHairRequest request) {
List<SegmentHairResp> respList = new ArrayList<>();

View File

@ -0,0 +1,13 @@
package com.heyu.api.request.imagerecog;
import com.heyu.api.request.CommonReq;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Data
public class SegmentHDBodyReq extends CommonReq {
}

View File

@ -0,0 +1,8 @@
package com.heyu.api.resp.imageseg;
import com.heyu.api.resp.CommonImageUrlResp;
import lombok.Data;
@Data
public class SegmentHDBodyResp extends CommonImageUrlResp {
}