diff --git a/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java b/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java index 5561c2f..364a960 100644 --- a/yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java +++ b/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 faceInfoList = new ArrayList(); + 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 faceInfoList = new ArrayList(); - 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);