提交修改
This commit is contained in:
parent
db5a25228e
commit
5f35645a0c
@ -0,0 +1,73 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.RetouchSkinResponse;
|
||||
import com.aliyun.facebody20191230.models.RetouchSkinResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.ARetouchSkinHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ARetouchSkinRequest;
|
||||
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.RetouchSkinReq;
|
||||
import com.heyu.api.resp.face.RetouchSkinResp;
|
||||
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/RetouchSkin?tab=DOC&lang=JAVA&RegionId=cn-shanghai
|
||||
*
|
||||
* 智能美肤
|
||||
*
|
||||
* RetouchSkin
|
||||
*
|
||||
*
|
||||
* 功能描述
|
||||
* 智能美肤功能可实现输入一张人物图像,自动对脸部以及全身皮肤进行美肤,同时尽可能的保留皮肤质感。功能支持情况如下:
|
||||
*
|
||||
* 脸部美肤:脸部区域匀肤、去瑕疵,比如:痘、痘印、雀斑等。
|
||||
* 全身皮肤:全身皮肤区域美白。
|
||||
* 多人照片:支持不超过 10 人的多人图片处理。
|
||||
*
|
||||
* 应用场景
|
||||
* 专业修图:可用于影楼、电商、图片直播等专业摄影场景,利用智能美肤算法快速进行美肤修图,提高工作效率。
|
||||
* 美颜拍摄:用于娱乐、生活等场景,提高人物美观度。
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class RetouchSkinController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ARetouchSkinHandle aRetouchSkinHandle;
|
||||
|
||||
|
||||
@RequestMapping("/skin")
|
||||
@CacheResult
|
||||
public R skin(RetouchSkinReq req) {
|
||||
|
||||
RetouchSkinResp resp = new RetouchSkinResp();
|
||||
|
||||
ARetouchSkinRequest request = new ARetouchSkinRequest();
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
request.setRetouchDegree(req.getRetouchDegree());
|
||||
request.setWhiteningDegree(req.getWhiteningDegree());
|
||||
|
||||
ApiR<RetouchSkinResponse> aR = aRetouchSkinHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
RetouchSkinResponseBody.RetouchSkinResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
|
||||
resp.setImageURL(responseBodyData.getImageURL());
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package com.heyu.api.controller.good;
|
||||
|
||||
|
||||
import com.aliyun.goodstech20191230.models.ClassifyCommodityResponse;
|
||||
import com.aliyun.goodstech20191230.models.ClassifyCommodityResponseBody;
|
||||
import com.heyu.api.alibaba.handle.goodstech.AClassifyCommodityHandle;
|
||||
import com.heyu.api.alibaba.request.goodstech.AClassifyCommodityRequest;
|
||||
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.good.ClassifyCommodityReq;
|
||||
import com.heyu.api.resp.good.ClassifyCommodityResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/***
|
||||
*https://next.api.aliyun.com/api/goodstech/2019-12-30/ClassifyCommodity?lang=JAVA&RegionId=cn-shanghai&tab=DOC
|
||||
*
|
||||
*'
|
||||
*
|
||||
*
|
||||
商品分类
|
||||
|
||||
ClassifyCommodity
|
||||
|
||||
*
|
||||
* 接口说明
|
||||
* 功能描述
|
||||
* 商品分类能力可以识别图像中的商品分类,返回商品类目、置信度等信息。目前已经支持服饰鞋包、3C 数码、家居用品等超过六千种类目分类。
|
||||
*
|
||||
* 所属于的类目:
|
||||
*
|
||||
*
|
||||
* https://viapi-demo.oss-cn-shanghai.aliyuncs.com/doc/category.txt?spm=api-workbench.api_explorer.0.0.e67a1634kpvqtJ&file=category.txt
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/good")
|
||||
@NotIntercept
|
||||
public class ClassifyCommodityController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private AClassifyCommodityHandle aClassifyCommodityHandle;
|
||||
|
||||
|
||||
@RequestMapping("/classify")
|
||||
@CacheResult
|
||||
public R recognize(ClassifyCommodityReq req) {
|
||||
List<ClassifyCommodityResp> resp = new ArrayList<>();
|
||||
|
||||
AClassifyCommodityRequest request = new AClassifyCommodityRequest();
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
|
||||
|
||||
ApiR<ClassifyCommodityResponse> aR = aClassifyCommodityHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
ClassifyCommodityResponseBody.ClassifyCommodityResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
|
||||
|
||||
List<ClassifyCommodityResponseBody.ClassifyCommodityResponseBodyDataCategories> categories = responseBodyData.getCategories();
|
||||
|
||||
if (CollectionUtils.isNotEmpty(categories)) {
|
||||
for (ClassifyCommodityResponseBody.ClassifyCommodityResponseBodyDataCategories category : categories) {
|
||||
ClassifyCommodityResp classifyCommodityResp = new ClassifyCommodityResp();
|
||||
classifyCommodityResp.setScore(category.getScore());
|
||||
classifyCommodityResp.setCategoryName(category.getCategoryName());
|
||||
classifyCommodityResp.setCategoryId(category.getCategoryId());
|
||||
|
||||
resp.add(classifyCommodityResp);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return R.ok().setData(resp);
|
||||
|
||||
}
|
||||
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
*
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/RetouchSkin?tab=DOC&lang=JAVA&RegionId=cn-shanghai
|
||||
* 智能美肤 RetouchSkin
|
||||
*/
|
||||
@Data
|
||||
public class RetouchSkinReq extends CommonReq {
|
||||
|
||||
|
||||
/**
|
||||
* 磨皮力度。取值范围为[0,1.5],默认为 1.0。数值越大皮肤纹理越不明显。
|
||||
*
|
||||
* 示例值:
|
||||
* 1.0
|
||||
*/
|
||||
public Float retouchDegree = 1f;
|
||||
|
||||
/**
|
||||
* 美白力度。取值范围为[0,1.5],默认为 1.0。数值越大皮肤越白。
|
||||
*
|
||||
* 示例值:
|
||||
* 1.0
|
||||
*/
|
||||
public Float whiteningDegree = 1f ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.heyu.api.request.good;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ClassifyCommodityReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.resp.CommonImageUrlResp;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/RetouchSkin?tab=DOC&lang=JAVA&RegionId=cn-shanghai
|
||||
*
|
||||
*智能美肤 RetouchSkin
|
||||
*/
|
||||
@Data
|
||||
public class RetouchSkinResp extends CommonImageUrlResp {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package com.heyu.api.resp.good;
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/goodstech/2019-12-30/ClassifyCommodity?lang=JAVA&RegionId=cn-shanghai&tab=DOC
|
||||
*
|
||||
* 商品分类
|
||||
*
|
||||
* ClassifyCommodity
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class ClassifyCommodityResp extends BaseResp {
|
||||
/***
|
||||
*
|
||||
* Score
|
||||
* number<float>
|
||||
* 分类 ID 的匹配度,大于 0 小于等于 1。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.417248
|
||||
*
|
||||
*/
|
||||
private Float score;
|
||||
|
||||
|
||||
/***
|
||||
* 类目 ID。
|
||||
*
|
||||
* 说明 您可以在 category.txt 文件中查看该接口支持的类目 ID 和类目名称。
|
||||
* 示例值:
|
||||
* 584
|
||||
*/
|
||||
private String categoryId;
|
||||
|
||||
|
||||
/***
|
||||
* 类目名称。
|
||||
*
|
||||
* 说明 您可以在 category.txt 文件中查看该接口支持的类目 ID 和类目名称。
|
||||
* 示例值:
|
||||
* 旁轴相机
|
||||
*/
|
||||
private String categoryName;
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user