【问题标题】:Android SDK for fingerprint matching - External device用于指纹匹配的 Android SDK - 外部设备
【发布时间】:2019-08-11 03:50:13
【问题描述】:

我正在开发一个使用 U.are.U 4500 指纹读取器来识别用户的 Android 应用程序。我已经有一个后端服务器,它使用 SQL Server 来存储和注册用户数据,现在我需要我的应用程序能够读取用户指纹并验证该指纹是否与数据库中的任何指纹匹配。有谁知道能够进行这种比较的 SDK 吗?

我正在使用 asia.kanopi.fingerscan 包来读取用户指纹,并且我已经进行了扫描,现在我只需要获取此图像并与 SQL 数据库中的数据进行比较即可。我在 StackOverflow 上看到了一些答案,告诉我使用适用于 Android 的 openCV 库,但没有一个答案能给我任何指导。

我的开发基于本教程:https://medium.com/touch4it/fingerprint-external-scanner-with-usb-database-sdk-64c3ec5ea82d,但遗憾的是我在任何地方都找不到 SDK IDKit Fingerprint SDK Mobile。

我怎样才能成功地将图像与存储在数据库中的图像匹配?

【问题讨论】:

  • 您说您“已经进行了扫描”,并且您“只需要获取此图像并与 SQL 数据库中的数据进行比较”。你有什么问题? “获取图像”还是“与 SQL 数据库中的数据进行比较”?
  • 指纹匹配问题。扫描仪已经读取了指纹,我可以将图像检索为 byte[]。
  • 如果您找不到 IDKit,请尝试 verifinger sdk 并查看示例 Android 代码。 UrU SDK 可能是你最好的选择,但它不支持 4500。如果你没有太多指纹可以匹配,就速度而言,你可能会从 SQL 数据库中获取所有指纹,然后在安卓设备上匹配。如果您发现性能不佳,则答案部分中有人建议使用 AFIS。
  • @LeonardoDias 请您分享如何从指纹扫描仪获取图像或数据的代码我一直无法从扫描仪获取数据。谢谢

标签: android fingerprint


【解决方案1】:

对于那些仍在寻找这个问题的答案的人。自从我真正实现我的解决方案以来已经有一段时间了,当我这样做时,我将此行添加到我的应用程序 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

【讨论】:

  • 这个是我在编辑中添加的一个分支。它在项目自述文件中:“SourceAFIS 项目从 github.com/robertvazan/sourceafis-java 移植到 Android 上运行。这是原始 SourceAFIS Java 版本的 3.10.0 版本。”
  • 一个小问题,如果我不想匹配图像,而是字节,是否需要使用类 FingerPrintImage?
  • 如果您已经有指纹字节,您可以使用此代码创建没有图像的指纹模板 FingerprintTemplate probe = new FingerprintTemplate(new FingerprintImage() .dpi(500) .decode(bytes));跨度>
【解决方案2】:

【讨论】:

  • @LeonardoDias 有用吗?
  • 这基本上是我已经完成的研究。这些链接中的大多数都将我重定向到购买 SDK。我实际上能够在 GitHub 上找到一个免费库,并且我正在用它完成我的测试。
  • @Leonardo Dias 你能分享图书馆链接吗?
  • @ShaileshBhokare 我添加了我的结果作为答案。也许有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 2011-05-23
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多