去掉虹软
This commit is contained in:
parent
7b24d7171c
commit
0831e48fec
@ -4,10 +4,6 @@ import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.arcsoft.face.FaceFeature;
|
||||
import com.arcsoft.face.FaceInfo;
|
||||
import com.arcsoft.face.FaceSimilar;
|
||||
import com.arcsoft.face.toolkit.ImageInfo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
@ -39,8 +35,6 @@ import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.*;
|
||||
|
||||
import static com.arcsoft.face.toolkit.ImageFactory.getRGBData;
|
||||
import static com.zhgd.xmgl.config.FaceRunner.faceEngine;
|
||||
|
||||
/**
|
||||
* @program: wisdomSite
|
||||
@ -82,42 +76,42 @@ public class UfaceRecognitionController {
|
||||
public Result<Map<String, Object>> checkFace(@RequestBody Map<String, Object> map) {
|
||||
Map<String, Object> data = new HashMap<>(16);
|
||||
String os = System.getProperty("os.name");
|
||||
if (Objects.equals(hongruanFacePass, "1")) {
|
||||
data.put("checkType", "1");
|
||||
data.put("message", "成功");
|
||||
return Result.success(data);
|
||||
}
|
||||
if (os.toLowerCase().startsWith(WIN) || os.toLowerCase().startsWith(LINUX)) {
|
||||
String fileUrl = MapUtils.getString(map, "fileUrl");
|
||||
if (StringUtils.isNotEmpty(fileUrl)) {
|
||||
File file = minioUtils.downloadFile(fileUrl);
|
||||
// File file = new File(basePath, fileUrl);
|
||||
log.info("fileUrl:{}", file.getAbsolutePath());
|
||||
ImageInfo imageInfo = getRGBData(file);
|
||||
List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
|
||||
int errorCode = faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
|
||||
log.info("errorCode:{}", errorCode);
|
||||
if (faceInfoList.size() > 0) {
|
||||
if (faceInfoList.size() > 1) {
|
||||
FileOperation.deleteFile(file);
|
||||
data.put("checkType", "0");
|
||||
data.put("message", "检测到多张人脸");
|
||||
} else {
|
||||
data.put("checkType", "1");
|
||||
data.put("message", "成功");
|
||||
}
|
||||
} else {
|
||||
FileOperation.deleteFile(file);
|
||||
data.put("checkType", "0");
|
||||
data.put("message", "未检测到人脸");
|
||||
}
|
||||
log.info("{}", faceInfoList);
|
||||
} else {
|
||||
data.put("checkType", "0");
|
||||
data.put("message", "图片路径不正确");
|
||||
}
|
||||
}
|
||||
// if (Objects.equals(hongruanFacePass, "1")) {
|
||||
data.put("checkType", "1");
|
||||
data.put("message", "成功");
|
||||
return Result.success(data);
|
||||
// }
|
||||
// if (os.toLowerCase().startsWith(WIN) || os.toLowerCase().startsWith(LINUX)) {
|
||||
// String fileUrl = MapUtils.getString(map, "fileUrl");
|
||||
// if (StringUtils.isNotEmpty(fileUrl)) {
|
||||
// File file = minioUtils.downloadFile(fileUrl);
|
||||
//// File file = new File(basePath, fileUrl);
|
||||
// log.info("fileUrl:{}", file.getAbsolutePath());
|
||||
// ImageInfo imageInfo = getRGBData(file);
|
||||
// List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
|
||||
// int errorCode = faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
|
||||
// log.info("errorCode:{}", errorCode);
|
||||
// if (faceInfoList.size() > 0) {
|
||||
// if (faceInfoList.size() > 1) {
|
||||
// FileOperation.deleteFile(file);
|
||||
// data.put("checkType", "0");
|
||||
// data.put("message", "检测到多张人脸");
|
||||
// } else {
|
||||
// data.put("checkType", "1");
|
||||
// data.put("message", "成功");
|
||||
// }
|
||||
// } else {
|
||||
// FileOperation.deleteFile(file);
|
||||
// data.put("checkType", "0");
|
||||
// data.put("message", "未检测到人脸");
|
||||
// }
|
||||
// log.info("{}", faceInfoList);
|
||||
// } else {
|
||||
// data.put("checkType", "0");
|
||||
// data.put("message", "图片路径不正确");
|
||||
// }
|
||||
// }
|
||||
// return Result.success(data);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "海康检测人脸评分", notes = "海康检测人脸评分", httpMethod = "POST")
|
||||
@ -185,72 +179,74 @@ public class UfaceRecognitionController {
|
||||
@PostMapping(value = "/faceComparison")
|
||||
public Result<String> faceComparison(@RequestBody Map<String, Object> map) {
|
||||
Result<String> result = new Result<String>();
|
||||
try {
|
||||
String os = System.getProperty("os.name");
|
||||
if (os.toLowerCase().startsWith(WIN)) {
|
||||
String fileUrl = MapUtils.getString(map, "fileUrl");
|
||||
File file = minioUtils.downloadFile(fileUrl);
|
||||
// File file = new File(basePath + "/" + fileUrl);
|
||||
//人脸检测
|
||||
ImageInfo imageInfo = getRGBData(file);
|
||||
List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
|
||||
int errorCode = faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
|
||||
if (faceInfoList == null || faceInfoList.size() == 0) {
|
||||
FileOperation.deleteFile(file);
|
||||
throw new OpenAlertException(MessageUtil.get("faceNotNumErr"));
|
||||
} else if (faceInfoList.size() > 1) {
|
||||
FileOperation.deleteFile(file);
|
||||
throw new OpenAlertException(MessageUtil.get("faceMultipleNumErr"));
|
||||
}
|
||||
//特征提取
|
||||
FaceFeature faceFeature = new FaceFeature();
|
||||
errorCode = faceEngine.extractFaceFeature(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList.get(0), faceFeature);
|
||||
log.info("特征值大小:" + faceFeature.getFeatureData().length);
|
||||
WorkerInfo info = workerInfoService.getById(MapUtils.getString(map, "workerId"));
|
||||
//人脸检测2
|
||||
ImageInfo imageInfo2 = getRGBData(minioUtils.downloadFile(info.getFieldAcquisitionUrl()));
|
||||
// ImageInfo imageInfo2 = getRGBData(new File(basePath + "/" + info.getFieldAcquisitionUrl()));
|
||||
List<FaceInfo> faceInfoList2 = new ArrayList<FaceInfo>();
|
||||
errorCode = faceEngine.detectFaces(imageInfo2.getImageData(), imageInfo2.getWidth(), imageInfo2.getHeight(), imageInfo.getImageFormat(), faceInfoList2);
|
||||
log.info("{}", faceInfoList);
|
||||
|
||||
if (faceInfoList2 == null || faceInfoList2.size() == 0) {
|
||||
FileOperation.deleteFile(file);
|
||||
throw new OpenAlertException(MessageUtil.get("faceMismatchErr"));
|
||||
}
|
||||
//特征提取2
|
||||
FaceFeature faceFeature2 = new FaceFeature();
|
||||
errorCode = faceEngine.extractFaceFeature(imageInfo2.getImageData(), imageInfo2.getWidth(), imageInfo2.getHeight(), imageInfo.getImageFormat(), faceInfoList2.get(0), faceFeature2);
|
||||
log.info("特征值大小:" + faceFeature2.getFeatureData().length);
|
||||
//特征比对
|
||||
FaceFeature targetFaceFeature = new FaceFeature();
|
||||
targetFaceFeature.setFeatureData(faceFeature.getFeatureData());
|
||||
FaceFeature sourceFaceFeature = new FaceFeature();
|
||||
sourceFaceFeature.setFeatureData(faceFeature2.getFeatureData());
|
||||
FaceSimilar faceSimilar = new FaceSimilar();
|
||||
|
||||
errorCode = faceEngine.compareFaceFeature(targetFaceFeature, sourceFaceFeature, faceSimilar);
|
||||
log.info("相似度:" + faceSimilar.getScore());
|
||||
Integer score = MapUtils.getInteger(map, "faceScore");
|
||||
int abc = Double.valueOf(faceSimilar.getScore() * 100).intValue();
|
||||
if (abc >= score) {
|
||||
result.successMsg(MessageUtil.get("optSucess"));
|
||||
} else {
|
||||
FileOperation.deleteFile(file);
|
||||
throw new OpenAlertException(MessageUtil.get("faceMismatchErr"));
|
||||
}
|
||||
} else {
|
||||
log.info("当前操作系统不是window系统");
|
||||
result.successMsg(MessageUtil.get("optSucess"));
|
||||
}
|
||||
} catch (OpenAlertException e) {
|
||||
//log.error("error:",e);
|
||||
result.error500(e.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("error:", e);
|
||||
log.info(e.getMessage());
|
||||
result.error500(MessageUtil.get("failErr"));
|
||||
}
|
||||
result.successMsg(MessageUtil.get("optSucess"));
|
||||
return result;
|
||||
// try {
|
||||
// String os = System.getProperty("os.name");
|
||||
// if (os.toLowerCase().startsWith(WIN)) {
|
||||
// String fileUrl = MapUtils.getString(map, "fileUrl");
|
||||
// File file = minioUtils.downloadFile(fileUrl);
|
||||
//// File file = new File(basePath + "/" + fileUrl);
|
||||
// //人脸检测
|
||||
// ImageInfo imageInfo = getRGBData(file);
|
||||
// List<FaceInfo> faceInfoList = new ArrayList<FaceInfo>();
|
||||
// int errorCode = faceEngine.detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
|
||||
// if (faceInfoList == null || faceInfoList.size() == 0) {
|
||||
// FileOperation.deleteFile(file);
|
||||
// throw new OpenAlertException(MessageUtil.get("faceNotNumErr"));
|
||||
// } else if (faceInfoList.size() > 1) {
|
||||
// FileOperation.deleteFile(file);
|
||||
// throw new OpenAlertException(MessageUtil.get("faceMultipleNumErr"));
|
||||
// }
|
||||
// //特征提取
|
||||
// FaceFeature faceFeature = new FaceFeature();
|
||||
// errorCode = faceEngine.extractFaceFeature(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList.get(0), faceFeature);
|
||||
// log.info("特征值大小:" + faceFeature.getFeatureData().length);
|
||||
// WorkerInfo info = workerInfoService.getById(MapUtils.getString(map, "workerId"));
|
||||
// //人脸检测2
|
||||
// ImageInfo imageInfo2 = getRGBData(minioUtils.downloadFile(info.getFieldAcquisitionUrl()));
|
||||
//// ImageInfo imageInfo2 = getRGBData(new File(basePath + "/" + info.getFieldAcquisitionUrl()));
|
||||
// List<FaceInfo> faceInfoList2 = new ArrayList<FaceInfo>();
|
||||
// errorCode = faceEngine.detectFaces(imageInfo2.getImageData(), imageInfo2.getWidth(), imageInfo2.getHeight(), imageInfo.getImageFormat(), faceInfoList2);
|
||||
// log.info("{}", faceInfoList);
|
||||
//
|
||||
// if (faceInfoList2 == null || faceInfoList2.size() == 0) {
|
||||
// FileOperation.deleteFile(file);
|
||||
// throw new OpenAlertException(MessageUtil.get("faceMismatchErr"));
|
||||
// }
|
||||
// //特征提取2
|
||||
// FaceFeature faceFeature2 = new FaceFeature();
|
||||
// errorCode = faceEngine.extractFaceFeature(imageInfo2.getImageData(), imageInfo2.getWidth(), imageInfo2.getHeight(), imageInfo.getImageFormat(), faceInfoList2.get(0), faceFeature2);
|
||||
// log.info("特征值大小:" + faceFeature2.getFeatureData().length);
|
||||
// //特征比对
|
||||
// FaceFeature targetFaceFeature = new FaceFeature();
|
||||
// targetFaceFeature.setFeatureData(faceFeature.getFeatureData());
|
||||
// FaceFeature sourceFaceFeature = new FaceFeature();
|
||||
// sourceFaceFeature.setFeatureData(faceFeature2.getFeatureData());
|
||||
// FaceSimilar faceSimilar = new FaceSimilar();
|
||||
//
|
||||
// errorCode = faceEngine.compareFaceFeature(targetFaceFeature, sourceFaceFeature, faceSimilar);
|
||||
// log.info("相似度:" + faceSimilar.getScore());
|
||||
// Integer score = MapUtils.getInteger(map, "faceScore");
|
||||
// int abc = Double.valueOf(faceSimilar.getScore() * 100).intValue();
|
||||
// if (abc >= score) {
|
||||
// result.successMsg(MessageUtil.get("optSucess"));
|
||||
// } else {
|
||||
// FileOperation.deleteFile(file);
|
||||
// throw new OpenAlertException(MessageUtil.get("faceMismatchErr"));
|
||||
// }
|
||||
// } else {
|
||||
// log.info("当前操作系统不是window系统");
|
||||
// result.successMsg(MessageUtil.get("optSucess"));
|
||||
// }
|
||||
// } catch (OpenAlertException e) {
|
||||
// //log.error("error:",e);
|
||||
// result.error500(e.getMessage());
|
||||
// } catch (Exception e) {
|
||||
// log.error("error:", e);
|
||||
// log.info(e.getMessage());
|
||||
// result.error500(MessageUtil.get("failErr"));
|
||||
// }
|
||||
// return result;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user