Browse Source

狗强1

mine
吴远 5 months ago
parent
commit
8393d75cbd
  1. 33
      yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java

33
yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java

@ -84,6 +84,25 @@ public class FaceEnginUtil {
return faceEngine;
}
/**
* 录入人脸接口存入byte数组特征值
* @return
*/
public static byte[] uploadInput(MultipartFile file) throws IOException {
FaceEngine faceEngine = FaceEnginUtil.init();
InputStream inputStream = file.getInputStream();
ImageInfo imageInfo = getRGBData(inputStream);
List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
//特征提取
FaceFeature faceFeature = new FaceFeature();
faceEngine.extractFaceFeature(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList.get(0), faceFeature);
byte[] featureData = faceFeature.getFeatureData();
FaceEnginUtil.close(faceEngine);
inputStream.close();
return featureData;
}
/**
* 录入人脸接口存入byte数组特征值
* @return
@ -103,27 +122,19 @@ public class FaceEnginUtil {
/**
* 人脸匹配
* @param file 人脸数据
* @param
* @param faceFeature1 数据库人脸存根
* @return float 数据判断大于0.7以上
*/
public static float uploadContrast(File file,byte[] faceFeature1) {
public static float uploadContrast(byte[] faceFeature1,byte[] faceFeature2) {
FaceFeature targetFaceFeature = new FaceFeature();
targetFaceFeature.setFeatureData(faceFeature1);
FaceEngine faceEngine = FaceEnginUtil.init();
ImageInfo imageInfo = getRGBData(file);
List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
//特征提取
FaceFeature faceFeature = new FaceFeature();
faceEngine.extractFaceFeature(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList.get(0), faceFeature);
FaceFeature sourceFaceFeature = new FaceFeature();
sourceFaceFeature.setFeatureData(faceFeature.getFeatureData());
sourceFaceFeature.setFeatureData(faceFeature2);
FaceSimilar faceSimilar = new FaceSimilar();
//特征比对
faceEngine.compareFaceFeature(targetFaceFeature, sourceFaceFeature, faceSimilar);

Loading…
Cancel
Save