共两个Java类,示例如下: package org.jeecg.modules.buss.test; import javax.imageio.ImageIO; import java.io.File; import java.io.IOException; public class Sourceafis { /** * 通过三方库实现指纹识别对比 * @author xq */ public static void main(String[] args) throws IOException { System.out.println("========比对开始======="); FingerPrint fp1 =new FingerPrint(ImageIO.read(new File("D:/1.jpg"))); FingerPrint fp2 =new FingerPrint(ImageIO.read(new File("D:/4.jpg"))); System.out.println("相似度:" + fp1.compare(fp2) * 100 + "%"); System.out.println("========比对结束======="); } } package org.jeecg.modules.buss.test; import java.awt.Graphics; import java.awt.Image; import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.ColorConvertOp; import java.util.Arrays; /** * 均值哈希实现图像指纹比较 * @author guyadong * */ public final class FingerPrint { /** * 图像指纹的尺寸,将图像resize到指定的尺寸,来计算哈希数组 */ private static final int HASH_SIZE=16; /** * 保存图像指纹的二值化矩阵 */ private final byte[] binaryzationMatrix; public FingerPrint(byte[] hashValue) { if(hashValue.length!=HASH_SIZE*HASH_SIZE) throw new IllegalArgumentException(String.format("length of hashValue must be %d",HASH_SIZE*HASH_SIZE )); this.binaryzationMatrix=hashValue; } public FingerPrint(String hashValue) { this(toBytes(hashValue)); } public FingerPrint (BufferedImage src){ this(hashValue(src)); } private static byte[] hashValue(BufferedImage src){ BufferedImage hashImage = resize(src,HASH_SIZE,HASH_SIZE); byte[
Java 通过三方库实现指纹识别对比
最新推荐文章于 2024-09-10 09:08:02 发布
这篇博客介绍了如何利用Java结合SourceAFIS第三方库进行指纹识别和对比。通过示例代码展示了如何读取图片并计算指纹的相似度,从而实现指纹识别功能。
摘要由CSDN通过智能技术生成