Browse Source

提交

mine
袁强 6 months ago
parent
commit
0211820cee
  1. 32
      yq-common/src/main/java/yq/common/utils/FaceEnginUtil.java
  2. 2
      yq-system/src/main/java/yq/system/mapper/MineFaceMapper.java
  3. 7
      yq-system/src/main/java/yq/system/service/IMineFaceService.java
  4. 5
      yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java
  5. 15
      yq-system/src/main/resources/mapper/system/MineFaceMapper.xml

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

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

2
yq-system/src/main/java/yq/system/mapper/MineFaceMapper.java

@ -11,6 +11,8 @@ import yq.system.domain.MineFace;
*/ */
public interface MineFaceMapper public interface MineFaceMapper
{ {
public List<MineFace> selectMineFaceByList();
/** /**
* 查询请填写功能名称 * 查询请填写功能名称
* *

7
yq-system/src/main/java/yq/system/service/IMineFaceService.java

@ -11,6 +11,13 @@ import yq.system.domain.MineFace;
*/ */
public interface IMineFaceService public interface IMineFaceService
{ {
/**
* 查询有特征点的数据集合
* @return 请填写功能名称集合
*/
public List<MineFace> selectMineFaceByList();
/** /**
* 查询请填写功能名称 * 查询请填写功能名称
* *

5
yq-system/src/main/java/yq/system/service/impl/MineFaceServiceImpl.java

@ -25,6 +25,11 @@ public class MineFaceServiceImpl implements IMineFaceService
private MineFaceMapper mineFaceMapper; private MineFaceMapper mineFaceMapper;
@Override
public List<MineFace> selectMineFaceByList() {
return mineFaceMapper.selectMineFaceByList();
}
/** /**
* 查询请填写功能名称 * 查询请填写功能名称
* *

15
yq-system/src/main/resources/mapper/system/MineFaceMapper.xml

@ -39,6 +39,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectMineFaceVo"/> <include refid="selectMineFaceVo"/>
where mf.id = #{id} where mf.id = #{id}
</select> </select>
<select id="selectMineFaceByList" resultType="yq.system.domain.MineFace">
SELECT
mf.id,
mf.face_name,
mf.age,
mf.face_byte,
mf.face_phone,
mf.remark,
mf.group_id,
mg.mine_group_name
FROM
mine_face mf
LEFT JOIN mine_group mg ON mg.id = mf.group_id
WHERE mf.face_byte is not null
</select>
<insert id="insertMineFace" parameterType="MineFace"> <insert id="insertMineFace" parameterType="MineFace">
insert into mine_face insert into mine_face

Loading…
Cancel
Save