提交修改
This commit is contained in:
parent
ba86741a1b
commit
2d1a953206
@ -0,0 +1,65 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.FaceBeautyRequest;
|
||||
import com.aliyun.facebody20191230.models.FaceBeautyResponse;
|
||||
import com.aliyun.facebody20191230.models.FaceBeautyResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.AFaceBeautyHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.AFaceBeautyRequest;
|
||||
import com.heyu.api.baidu.response.certificate.BSocialSecurityCardResp;
|
||||
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.DetectCelebrityReq;
|
||||
import com.heyu.api.request.face.FaceBeautyReq;
|
||||
import com.heyu.api.resp.face.FaceBeautyResp;
|
||||
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/LiquifyFace
|
||||
*
|
||||
*智能瘦脸 LiquifyFace
|
||||
*
|
||||
* 功能描述
|
||||
* 智能瘦脸功能可实现输入一张人物图像,输出脸部五官调整瘦脸后的图像。 关于该接口功能的示例图如下:
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class FaceBeautyController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private AFaceBeautyHandle afaceBeautyHandle;
|
||||
|
||||
@RequestMapping("/beauty")
|
||||
@CacheResult
|
||||
public R beauty(FaceBeautyReq req) {
|
||||
FaceBeautyResp resp = new FaceBeautyResp();
|
||||
|
||||
AFaceBeautyRequest aFaceBeautyRequest = new AFaceBeautyRequest();
|
||||
aFaceBeautyRequest.setImageBase64(req.getImageBase64());
|
||||
aFaceBeautyRequest.setImageUrl(req.getImageUrl());
|
||||
aFaceBeautyRequest.setWhite(req.getWhite());
|
||||
aFaceBeautyRequest.setSharp(req.getSharp());
|
||||
aFaceBeautyRequest.setSmooth(req.getSmooth());
|
||||
|
||||
ApiR<FaceBeautyResponse> aR = afaceBeautyHandle.handle(aFaceBeautyRequest);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
FaceBeautyResponseBody.FaceBeautyResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
resp.setImageURL(responseBodyData.getImageURL());
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.FaceMakeupResponse;
|
||||
import com.aliyun.facebody20191230.models.FaceMakeupResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.AFaceMakeupHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ADetectInfraredLivingFaceRequest;
|
||||
import com.heyu.api.alibaba.request.facebody.AFaceMakeupRequest;
|
||||
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.FaceMakeupReq;
|
||||
import com.heyu.api.resp.face.FaceMakeupResp;
|
||||
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/FaceMakeup?RegionId=cn-shanghai
|
||||
人脸美妆
|
||||
|
||||
FaceMakeup
|
||||
*
|
||||
*
|
||||
* 应用场景
|
||||
* 在线试妆:可用于在线试妆等虚拟试妆场景,用户可体验接近本人真实情况的上妆效果,降低商家的运营成本。
|
||||
* 美颜修图:可用于手机自拍修图等人像美化场景,一键实现美妆效果,帮助用户快速打造精致五官,提升个人社交形象。
|
||||
* 相机等 APP:用于相机类 APP 中,提升视觉美感,增加趣味性。
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class FaceMakeupController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private AFaceMakeupHandle aFaceMakeupHandle;
|
||||
|
||||
|
||||
@RequestMapping("/makeup")
|
||||
@CacheResult
|
||||
public R makeup(FaceMakeupReq req) {
|
||||
FaceMakeupResp faceMakeupResp = new FaceMakeupResp();
|
||||
AFaceMakeupRequest request = new AFaceMakeupRequest();
|
||||
|
||||
request.setImageBase64(req.getImageBase64());
|
||||
request.setImageUrl(req.getImageUrl());
|
||||
request.setMakeupType(req.getMakeupType());
|
||||
request.setStrength(req.getStrength());
|
||||
request.setResourceType(req.getResourceType());
|
||||
|
||||
ApiR<FaceMakeupResponse> aR = aFaceMakeupHandle.handle(request);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
FaceMakeupResponseBody.FaceMakeupResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
faceMakeupResp.setImageURL(responseBodyData.getImageURL());
|
||||
return R.ok().setData(faceMakeupResp);
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,74 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.FaceTidyupRequest;
|
||||
import com.aliyun.facebody20191230.models.FaceTidyupResponse;
|
||||
import com.aliyun.facebody20191230.models.FaceTidyupResponseBody;
|
||||
import com.google.protobuf.Api;
|
||||
import com.heyu.api.alibaba.handle.facebody.AFaceTidyupHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.AFaceTidyupRequest;
|
||||
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.FaceTidyupReq;
|
||||
import com.heyu.api.resp.face.FaceTidyupResp;
|
||||
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/FaceTidyup
|
||||
*述
|
||||
* 人脸美型能力可以对人脸的轮廓和五官进行调整。 您也可以通过手动调整美型强度,进一步对人脸进行精细化调整。 关于该接口功能的示例图如下:
|
||||
*
|
||||
*
|
||||
* 应用场景
|
||||
* 美颜相机:对拍摄的照片进行大眼、瘦脸、瘦下巴、嘴型、瘦鼻等效果处理,提升人物的社交形象。
|
||||
* 相机等 APP:用于相机类 APP 中,提升视觉美感,增加趣味性。
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class FaceTidyupController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private AFaceTidyupHandle aFaceTidyupHandle;
|
||||
|
||||
/***
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/tidyup")
|
||||
@CacheResult
|
||||
public R tidyup(FaceTidyupReq req) {
|
||||
|
||||
FaceTidyupResp faceTidyupResp = new FaceTidyupResp();
|
||||
|
||||
|
||||
AFaceTidyupRequest faceTidyupRequest = new AFaceTidyupRequest();
|
||||
faceTidyupRequest.setImageUrl(req.getImageUrl());
|
||||
faceTidyupRequest.setImageBase64(req.getImageBase64());
|
||||
faceTidyupRequest.setStrength(req.getStrength());
|
||||
faceTidyupRequest.setShapeType(req.getShapeType());
|
||||
ApiR<FaceTidyupResponse> aR = aFaceTidyupHandle.handle(faceTidyupRequest);
|
||||
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
|
||||
FaceTidyupResponseBody.FaceTidyupResponseBodyData responseBodyData = aR.getData().getBody().getData();
|
||||
faceTidyupResp.setImageURL(responseBodyData.getImageURL());
|
||||
return R.ok().setData(faceTidyupResp);
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
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/LiquifyFace
|
||||
*
|
||||
* 智能瘦脸 LiquifyFace
|
||||
*/
|
||||
@Data
|
||||
public class FaceBeautyReq extends CommonReq {
|
||||
|
||||
/**
|
||||
* 锐化(清晰度)程度,取值范围 0~1。越接近 1 锐化程度越高。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* 1
|
||||
*/
|
||||
public Float sharp = 1f;
|
||||
/**
|
||||
* 平滑程度,取值范围 0~1。越接近 1 平滑程度越高。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* 0.1
|
||||
*/
|
||||
public Float smooth = 1f;
|
||||
/**
|
||||
* 美白程度,取值范围 0~1。越接近 1 美白程度越高。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* 0.3
|
||||
*/
|
||||
public Float white = 1f;
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FaceMakeupReq extends CommonReq {
|
||||
|
||||
|
||||
/**
|
||||
* 美妆类型,当前支持 whole(整妆)。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* whole
|
||||
*/
|
||||
public String makeupType = "whole";
|
||||
|
||||
/**
|
||||
* 美妆使用的风格,具体包括:0(whole)、1(基础妆)、2(少女妆)、3(活力妆)、4(优雅妆)、5(魅惑妆)、6(梅子妆)。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* 0
|
||||
*/
|
||||
public String resourceType = "0";
|
||||
|
||||
/**
|
||||
* 美妆强度,取值范围 0~1。
|
||||
* <p>
|
||||
* 示例值:
|
||||
* 1
|
||||
*/
|
||||
public Float strength = 1f;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
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/FaceMakeup?RegionId=cn-shanghai
|
||||
*人脸美妆
|
||||
*
|
||||
* FaceMakeup
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class FaceTidyupReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 表示美型部位,包括:0(颧骨)、1(削脸)、2(瘦脸)、3(脸长)、4(下巴缩短)、5(下巴拉长)、6(瘦下巴)、7(瘦下颌)、8(大眼)、9(眼角 1)、10(眼距)、11(拉宽眼距)、12(眼角 2)、13(眼睛高度)、14(瘦鼻)、15(鼻翼)、16(鼻长)、17(鼻头长)、18(唇宽)、19(嘴唇大小)、20(唇高)、21(人中)。
|
||||
*
|
||||
* 示例值:
|
||||
* 0
|
||||
*/
|
||||
public Integer shapeType = 2;
|
||||
|
||||
/**
|
||||
* 美型强度,取值范围 0~1。
|
||||
*
|
||||
* 示例值:
|
||||
* 1
|
||||
*/
|
||||
public Float strength = 1f;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FaceBeautyResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* 瘦脸后图像的 URL 地址。
|
||||
*
|
||||
* 说明 该 URL 地址为临时地址,有效期为 30 分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在 30 分钟内访问 URL 地址,下载文件转存到自己的 OSS 或者其他存储空间。
|
||||
* 示例值:
|
||||
* http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/face-liquify/CA1C8937-B30C-15E6-B804-41C357BA413B_5eca_20210923-093411.jpg?Expires=1632391451&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=46apJQVNBz%2FFzDLEYn2M1w9MKA****
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
private String imageURL;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FaceMakeupResp extends BaseResp {
|
||||
|
||||
/**
|
||||
* 人脸美妆结果图像的 URL 地址。
|
||||
*
|
||||
* 说明 该 URL 地址为临时地址,有效期为 30 分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在 30 分钟内访问 URL 地址,下载文件转存到自己的 OSS 或者其他存储空间。
|
||||
* 示例值:
|
||||
* http://algo-app-taobao-mm-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/pixelai-portrait-makeup/2020_03_24/c0f815f46b3df61e_facebeauty.jpg?Expires=1585279130&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=1QkDpev9B7ybzup1MN%2F72kzrKL****
|
||||
*
|
||||
*/
|
||||
private String imageURL;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/FaceMakeup?RegionId=cn-shanghai
|
||||
*
|
||||
*人脸美妆 FaceMakeup
|
||||
*/
|
||||
@Data
|
||||
public class FaceTidyupResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* 人脸美妆结果图像的 URL 地址。展开详情
|
||||
*
|
||||
* 示例值:
|
||||
* http://algo-app-taobao-mm-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/pixelai-portrait-makeup/2020_03_24/c0f815f46b3df61e_facebeauty.jpg?Expires=1585279130&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=1QkDpev9B7ybzup1MN%2F72kzrKL****
|
||||
*
|
||||
*
|
||||
*/
|
||||
private String imageURL;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user