我正在开发一个Android应用程序,它使用U.are.U 4500指纹阅读器来识别用户。我已经有了一个后端服务器,它使用SQL server存储和注册用户数据,现在我需要我的应用程序能够读取用户指纹并验证该指纹是否与数据库中的任何指纹匹配。有谁知道一个可以进行这种比较的SDK吗?
我使用asia.kanopi.fingerscan包来读取用户指纹,我已经有了扫描工作,现在我只需要获取这个图像并与SQL数据库中的数据进行比较。我在StackOverflow上看到了一些答案,告诉我如何使用openCV库实现Android,但没有一个能给我提供任何指导。
我的开发是基于本教程:https://medium.com/touch4it/fingerprint-external-scanner-with-usb-database-sdk-64c3ec5ea82d,但不幸的是,我在任何地方都找不到SDK IDKit指纹SDK。
如何成功地将图像与存储在数据库中的图像匹配?
发布于 2020-08-25 17:04:44
对于那些还在寻找这个问题的答案的人来说。我已经有一段时间没有实际实现我的解决方案了,当我这样做时,我将这一行添加到我的应用程序gradle文件中:
com.github.lmone:SourceAFIS-Android:v3.4.0-fix3但是现在我似乎找不到github的链接了。也许存储库被删除了。如果有人找到了,请把它寄给我,这样我就可以在这里更新我的答案。
此外,如果您仍然可以将库添加到您的Android项目中,那么基本思想是使用FingerprintMatcher来比较两个FingerprintTemplate。
示例:
FingerprintTemplate probe = new FingerprintTemplate().dpi(500).create(digital_byte_array);
while (result.next()) {
byte[] imgCandidate = digital_to_compare;
FingerprintTemplate candidate = new FingerprintTemplate()
.dpi(500)
.create(imgCandidate);
double score = new FingerprintMatcher()
.index(probe)
.match(candidate);
if (score >= 40) {
// Found a match
}
}就我而言,我觉得表演有点慢。它是可用的,但与Android内置的指纹设备相比没有什么用处。而且,你收集的数字越多,找到匹配的时间就越长。
比赛的分数由你来决定什么更适合你的项目。40对我来说是个可靠的数字。同样的情况也适用于FingerprintTemplate dpi。
此外,方法.create()接收byte[]作为参数。
编辑
我找到了这个链接,我几乎可以肯定它是我使用的库,但是使用了一个新的存储库名称:
https://github.com/robertvazan/sourceafis-java
这些文档看起来与我使用的代码相同:https://sourceafis.machinezoo.com/java
发布于 2019-08-12 07:57:49
要匹配服务器端的用户,必须使用AFIS服务器:System
在此,AFIS解决方案的一些提供者:
https://stackoverflow.com/questions/57447241
复制相似问题