话不多说直接上代码
复制粘贴,简单的人脸识别demo就完成了
package net.bx.util;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.facebody.model.v20191230.CompareFaceRequest;
import com.aliyuncs.facebody.model.v20191230.CompareFaceResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import net.bx.controller.GradeRecordController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FaceRecognitionUtil {
private static final Logger logger = LoggerFactory.getLogger(GradeRecordController.class);
private static final String ak_id = "";//阿里云配置参数
private static final String ak_secret = "";//阿里云配置参数
/**
* 图片要求:
* 请求格式:JPEG、JPG、PNG、BMP。
* 图像大小:图像大小不超过3M。
* 图像分辨率:图片大小要求5x5像素以上,人脸的尺寸建议大于64x64像素。
* @param imageURLA 图片A
* @param imageURLB 图片B
* @return
*/
public static boolean faceContrast(String imageURLA,String imageURLB){
boolean flag = false;
//目前区域只开通了华东2(上海)
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", ak_id, ak_secret);
IAcsClient client = new DefaultAcsClient(profile);
CompareFaceRequest request = new CompareFaceRequest();
request.setRegionId("cn-shanghai");
request.setImageURLA(imageURLA);
request.setImageURLB(imageURLB);
try {
CompareFaceResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
Float confidence = response.getData().getConfidence();
if (confidence > 61){
flag = true;
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
System.out.println("人脸对比ErrCode:" + e.getErrCode());
System.out.println("人脸对比ErrMsg:" + e.getErrMsg());
System.out.println("人脸对比RequestId:" + e.getRequestId());
}
return flag;
}
public static void main(String[] args) {
//上传到阿里云oss上的两个图片url地址
String imageURLA = "";
String imageURLB = "";
boolean b = faceContrast(imageURLA, imageURLB);
if (b){
System.out.println("通过:超过61%");
}else{
System.out.println("失败:低于61%");
}
}
}