提交修改
This commit is contained in:
parent
a06ef45358
commit
07a2e69405
@ -38,7 +38,7 @@ public class ACompareFaceRequest {
|
||||
* 示例值:
|
||||
* 98.5
|
||||
*/
|
||||
private Float qualityScoreThreshold;
|
||||
private Float qualityScoreThreshold = 98.5f;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,9 +1,20 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.BlurFaceResponse;
|
||||
import com.aliyun.facebody20191230.models.BlurFaceResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.ABlurFaceHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ABlurFaceRequest;
|
||||
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.card.CharacterRecognizeRequest;
|
||||
import com.heyu.api.request.face.CharacterRecognizeReq;
|
||||
import com.heyu.api.resp.face.CharacterRecognizeResp;
|
||||
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;
|
||||
|
||||
@ -23,13 +34,34 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class BlurFaceController extends BaseController {
|
||||
public class BlurFaceController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ABlurFaceHandle aBlurFaceHandle;
|
||||
|
||||
|
||||
@RequestMapping("/mask")
|
||||
@CacheResult
|
||||
public R recognize(CharacterRecognizeReq request) {
|
||||
CharacterRecognizeResp resp = new CharacterRecognizeResp();
|
||||
ABlurFaceRequest aBlurFaceRequest = new ABlurFaceRequest();
|
||||
aBlurFaceRequest.setImageBase64(request.getImageBase64());
|
||||
aBlurFaceRequest.setImageUrl(request.getImageUrl());
|
||||
ApiR<BlurFaceResponse> aR = aBlurFaceHandle.handle(aBlurFaceRequest);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
|
||||
BlurFaceResponseBody responseBody = aR.getData().getBody();
|
||||
BlurFaceResponseBody.BlurFaceResponseBodyData responseBodyData = responseBody.getData();
|
||||
|
||||
|
||||
resp.setOriginImageUrl(resp.getOriginImageUrl());
|
||||
resp.setMaskImageURL(resp.getMaskImageURL());
|
||||
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,91 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.BodyPostureResponse;
|
||||
import com.aliyun.facebody20191230.models.BodyPostureResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.ABodyPostureHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ABodyPostureRequest;
|
||||
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.BodyPostureReq;
|
||||
import com.heyu.api.resp.face.BodyPostureBodiesResp;
|
||||
import com.heyu.api.resp.face.BodyPostureResp;
|
||||
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.Collection;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/BodyPosture?RegionId=cn-shanghai&tab=DEBUG&lang=JAVA
|
||||
*人体姿态关键点 BodyPosture
|
||||
*
|
||||
*
|
||||
* 人体姿态关键点能力可以获取人体的十八个关键点信息。包括:nose、neck、right_shoulder、right_elbow、right_wrist、left_shoulder、left_elbow、left_wrist、right_hip、right_knee、right_ankle、left_hip、left_knee、left_ankle、right_eye、left_eye、right_ear、left_ear。
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class BodyPostureController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ABodyPostureHandle aBodyPostureHandle;
|
||||
|
||||
|
||||
@RequestMapping("/mask")
|
||||
@CacheResult
|
||||
public R recognize(BodyPostureReq request) {
|
||||
List<BodyPostureResp> resp = new ArrayList<>();
|
||||
|
||||
|
||||
ABodyPostureRequest bodyPostureRequest = new ABodyPostureRequest();
|
||||
bodyPostureRequest.setImageBase64(request.getImageBase64());
|
||||
bodyPostureRequest.setImageUrl(request.getImageUrl());
|
||||
|
||||
ApiR<BodyPostureResponse> apiR = aBodyPostureHandle.handle(bodyPostureRequest);
|
||||
if (apiR.isSuccess() && isSuccessStatusCode(apiR.getData().getStatusCode())) {
|
||||
BodyPostureResponseBody responseBody = apiR.getData().getBody();
|
||||
BodyPostureResponseBody.BodyPostureResponseBodyData responseBodyData = responseBody.getData();
|
||||
|
||||
List<BodyPostureResponseBody.BodyPostureResponseBodyDataOutputs> responseBodyDataOutputsList = responseBodyData.getOutputs();
|
||||
if (CollectionUtils.isNotEmpty(responseBodyDataOutputsList)) {
|
||||
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputs bodyPostureResponseBodyDataOutputs : responseBodyDataOutputsList) {
|
||||
BodyPostureResp bodyPostureResp = new BodyPostureResp();
|
||||
bodyPostureResp.setHumanCount(bodyPostureResponseBodyDataOutputs.getHumanCount());
|
||||
List<BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResults> results = bodyPostureResponseBodyDataOutputs.getResults();
|
||||
if (CollectionUtils.isNotEmpty(results)) {
|
||||
|
||||
List<BodyPostureBodiesResp> bodyPostureBodiesResps = new ArrayList<>();
|
||||
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResults result : results) {
|
||||
if (CollectionUtils.isNotEmpty(result.getBodies())) {
|
||||
for (BodyPostureResponseBody.BodyPostureResponseBodyDataOutputsResultsBodies body : result.getBodies()) {
|
||||
|
||||
BodyPostureBodiesResp bodyPostureBodiesResp = new BodyPostureBodiesResp();
|
||||
bodyPostureBodiesResp.setConfident(body.getConfident());
|
||||
bodyPostureBodiesResp.setLabel(body.getLabel());
|
||||
bodyPostureBodiesResps.add(bodyPostureBodiesResp);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
}
|
||||
|
||||
return R.error(apiR.getErrorMsg());
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
package com.heyu.api.controller.face;
|
||||
|
||||
|
||||
import com.aliyun.facebody20191230.models.CompareFaceResponse;
|
||||
import com.aliyun.facebody20191230.models.CompareFaceResponseBody;
|
||||
import com.heyu.api.alibaba.handle.facebody.ACompareFaceHandle;
|
||||
import com.heyu.api.alibaba.request.facebody.ACompareFaceRequest;
|
||||
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.CharacterRecognizeReq;
|
||||
import com.heyu.api.request.face.CompareFaceReq;
|
||||
import com.heyu.api.resp.face.CompareFaceResp;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.AbstractPropertyAccessor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.chrono.IsoChronology;
|
||||
|
||||
/****
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DEMO&lang=JAVA
|
||||
*
|
||||
* 人脸比对
|
||||
*
|
||||
* CompareFace
|
||||
*
|
||||
* 功能描述
|
||||
* 人脸比对 1:1 能力基于您输入的两张图片,分别挑选两张图片中的最大人脸进行比较,判断是否为同一人。
|
||||
*
|
||||
* 两张人脸图片对比:比对两张图片中人脸的相似度,返回这两个人脸的矩形框坐标、人脸五点关键点坐标、比对的置信度,以及不同误识率的置信度阈值。
|
||||
* 支持多种图片类型:支持生活照、证件照、身份证芯片照、带网纹照等类型的人脸对比。
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/face")
|
||||
@NotIntercept
|
||||
public class CompareFaceController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ACompareFaceHandle aCompareFaceHandle;
|
||||
|
||||
@RequestMapping("/compare")
|
||||
@CacheResult
|
||||
public R recognize(CompareFaceReq req) {
|
||||
|
||||
CompareFaceResp resp = new CompareFaceResp();
|
||||
|
||||
ACompareFaceRequest aCompareFaceRequest = new ACompareFaceRequest();
|
||||
aCompareFaceRequest.setUrlA(req.getImageUrlA());
|
||||
aCompareFaceRequest.setUrlB(req.getImageUrlB());
|
||||
aCompareFaceRequest.setBase64A(req.getImageBase64A());
|
||||
aCompareFaceRequest.setBase64B(req.getImageBase64B());
|
||||
|
||||
ApiR<CompareFaceResponse> aR = aCompareFaceHandle.handle(aCompareFaceRequest);
|
||||
if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) {
|
||||
|
||||
CompareFaceResponseBody responseBody = aR.getData().getBody();
|
||||
CompareFaceResponseBody.CompareFaceResponseBodyData responseBodyData = responseBody.getData();
|
||||
|
||||
resp.setConfidence(responseBodyData.getConfidence());
|
||||
resp.setQualityScoreA(responseBodyData.getQualityScoreA());
|
||||
resp.setQualityScoreA(responseBodyData.getQualityScoreB());
|
||||
resp.setMessageTips(responseBodyData.getMessageTips());
|
||||
resp.setIsMaskA(responseBodyData.getIsMaskA());
|
||||
resp.setIsMaskB(responseBodyData.getIsMaskB());
|
||||
return R.ok().setData(resp);
|
||||
}
|
||||
return R.error(aR.getErrorMsg());
|
||||
}
|
||||
|
||||
}
|
||||
@ -22,6 +22,7 @@ import java.io.IOException;
|
||||
public class PostCodeQueueSimpleRabbitListener {
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private ApiPostCodeDao apiPostCodeDao;
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
public class CommonRequest extends BaseRequest {
|
||||
public class CommonReq extends BaseRequest {
|
||||
/**
|
||||
* 图片的url
|
||||
*/
|
||||
@ -0,0 +1,24 @@
|
||||
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/BodyPosture?RegionId=cn-shanghai&tab=DEMO&lang=JAVA
|
||||
*人体姿态关键点
|
||||
*
|
||||
* BodyPosture
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class BodyPostureReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
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/BlurFace?tab=DOC&lang=JAVA&RegionId=cn-shanghai
|
||||
*
|
||||
*人脸信息脱敏
|
||||
*
|
||||
* BlurFace
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CharacterRecognizeReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package com.heyu.api.request.face;
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
/****
|
||||
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DOC&lang=JAVA
|
||||
*
|
||||
*人脸比对
|
||||
*
|
||||
* CompareFace
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CompareFaceReq extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 图片的url
|
||||
*/
|
||||
private String imageUrlA;
|
||||
|
||||
/**
|
||||
* base 64 编码
|
||||
*/
|
||||
private String imageBase64A;
|
||||
|
||||
/**
|
||||
* 图片的url
|
||||
*/
|
||||
private String imageUrlB;
|
||||
|
||||
/**
|
||||
* base 64 编码
|
||||
*/
|
||||
private String imageBase64B;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.tax;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
@ -11,7 +11,7 @@ import lombok.Data;
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class ARecognizeVATInvoiceReq extends CommonRequest {
|
||||
public class ARecognizeVATInvoiceReq extends CommonReq {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.heyu.api.request.tax;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeQuotaInvoice?tab=DEMO
|
||||
@ -12,7 +12,7 @@ import com.heyu.api.request.CommonRequest;
|
||||
* RecognizeQuotalnvoice
|
||||
*
|
||||
*/
|
||||
public class RecognizeQuotaInvoiceReq extends CommonRequest {
|
||||
public class RecognizeQuotaInvoiceReq extends CommonReq {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.heyu.api.request.tax;
|
||||
|
||||
|
||||
import com.heyu.api.request.CommonRequest;
|
||||
import com.heyu.api.request.CommonReq;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeTicketInvoice
|
||||
*/
|
||||
@Data
|
||||
public class RecognizeTicketInvoiceReq extends CommonRequest {
|
||||
public class RecognizeTicketInvoiceReq extends CommonReq {
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
* 检测到的人体关键点信息。
|
||||
*/
|
||||
@Data
|
||||
public class BodyPostureBodiesResp {
|
||||
|
||||
|
||||
/**
|
||||
* 关键点置信度。
|
||||
*
|
||||
* 示例值:
|
||||
* 0.91309475898742676
|
||||
*/
|
||||
private Float confident;
|
||||
|
||||
|
||||
/***
|
||||
* 关键点的标签。包括如下类型:nose、neck、right_shoulder、right_elbow、right_wrist、left_shoulder、left_elbow、left_wrist、right_hip、right_knee、right_ankle、left_hip、left_knee、left_ankle、right_eye、left_eye、right_ear、left_ear。
|
||||
*
|
||||
* 示例值:
|
||||
* nose
|
||||
*/
|
||||
private String label;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/BodyPosture?RegionId=cn-shanghai&tab=DOC&lang=JAVA
|
||||
*
|
||||
* 人体姿态关键点 BodyPosture
|
||||
*/
|
||||
@Data
|
||||
public class BodyPostureResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* 人体的个数。
|
||||
*
|
||||
* 示例值:
|
||||
* 1
|
||||
*/
|
||||
private Integer humanCount;
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
*/
|
||||
private List<BodyPostureBodiesResp> bodiesRespList;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
@Data
|
||||
public class CharacterRecognizeResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* 原来图片
|
||||
*
|
||||
* 脱敏后的图片 URL 地址。展开详情
|
||||
*
|
||||
* 示例值:
|
||||
* http://viapi-cn-shanghai-dha-segmenter.oss-cn-shanghai.aliyuncs.com/upload/result_FaceBlur/2020-8-5/invi_FaceBlur_015966077063461060948_IBdDsq.jpg?Expires=1596609506&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=x8n3jq1X91Sq7BKWE4vRHSu6g9****
|
||||
*
|
||||
*
|
||||
*/
|
||||
private String originImageUrl;
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* 脱敏后的图片 Mask 地址。展开详情
|
||||
*
|
||||
* 示例值:
|
||||
* http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/person-image-cartoonizer/59697D68-2A6E-4553-89BD-0FADD07881E8_7ee5_20201027-070958.jpg?Expires=1603784400&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSR****&Signature=ut2kn46Lz%2FRwqJ9jWJ0RBDut12****
|
||||
*
|
||||
*/
|
||||
private String maskImageURL;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,85 @@
|
||||
package com.heyu.api.resp.face;
|
||||
|
||||
|
||||
import com.heyu.api.data.dto.BaseRequest;
|
||||
import com.heyu.api.data.dto.BaseResp;
|
||||
import lombok.Data;
|
||||
|
||||
/***
|
||||
* https://next.api.aliyun.com/api/facebody/2019-12-30/CompareFace?tab=DEMO&lang=JAVA
|
||||
*
|
||||
* 人脸比对
|
||||
*
|
||||
* CompareFace
|
||||
*/
|
||||
@Data
|
||||
public class CompareFaceResp extends BaseResp {
|
||||
|
||||
|
||||
/***
|
||||
* 两张图片中的最大人脸属于同一个人的置信度,取值范围 0~100。供参考的三个阈值是 61,69 和 75,分别对应千分之一,万分之一和十万分之一误识率。阈值设置越高,误识率越低,通过率也越低,对安全性要求越高的场合,可以设置更高的阈值。如果某张图片中没有人脸,则报错误信息。
|
||||
*
|
||||
* 示例值:
|
||||
* 88.4831771850586
|
||||
*/
|
||||
private Float confidence;
|
||||
|
||||
|
||||
/****
|
||||
* 输入图像 A 的质量分。
|
||||
*
|
||||
* 示例值:
|
||||
* 99.65772247314453
|
||||
*
|
||||
*/
|
||||
private Float qualityScoreA;
|
||||
|
||||
/***
|
||||
* 输入图像 B 的质量分。
|
||||
*
|
||||
* 示例值:
|
||||
* 98.01177978515625
|
||||
*/
|
||||
private Float qualityScoreB;
|
||||
|
||||
|
||||
/***
|
||||
* 提示信息,纯文字描述,以下提示信息单独出现或是几条提示信息的组合。 质量相关提示(某张人脸质量分小于请求参数质量分阈值时会出现):
|
||||
*
|
||||
* imageA quality score less threshold:图像 A 的质量分小于输入参数设置的阈值。
|
||||
* imageB quality score less threshold:图像 B 的质量分小于输入参数设置的阈值。
|
||||
* 人脸尺寸相关提示(检测到人脸且人脸宽或高小于 50 像素时会有该提示信息。出现该提示信息时,请尽可能输入像素数大于 64x64 的人脸,并请酌情参考返回的对比置信度 Confidence 值):
|
||||
*
|
||||
* face in imageA is too small:图像 A 中的人脸太小。
|
||||
* face in imageB is too small:图像 B 中的人脸太小。
|
||||
* 示例值:
|
||||
* imageB quality score less threshold
|
||||
*/
|
||||
private String messageTips;
|
||||
|
||||
|
||||
/***
|
||||
*图片 A 中的人脸是否戴口罩。
|
||||
*
|
||||
* 0:不戴口罩。
|
||||
* 1:戴口罩。
|
||||
* 注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
|
||||
* 示例值:
|
||||
* 0
|
||||
*/
|
||||
private Long isMaskA;
|
||||
|
||||
|
||||
/***
|
||||
* 图片 B 中的人脸是否戴口罩。
|
||||
*
|
||||
* 0:不戴口罩。
|
||||
* 1:戴口罩。
|
||||
* 注意 请注意,该值为 Long 类型,在某些语言中可能存在精度丢失的风险,请小心使用。
|
||||
* 示例值:
|
||||
* 0
|
||||
*/
|
||||
private Long isMaskB;
|
||||
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user