我在Android Java应用程序中使用SourcesAFIS Fingerprint来比较用户的指纹,并且遇到以下问题:我的应用程序花费太长时间才能将用户的指纹字节转换为FingerprintTemplate,即使有时应用程序已关闭。令我感到不幸的是,我需要在一个循环内创建这个FingerprintTemplate对象,以获取从数据库返回的生物特征信息,这最终会使速度进一步降低。


程式码片段

    //Returns database biometries and assigns list
    listBiometria = conSql.selecionarBiometria();

    FingerprintTemplate candidate = new FingerprintTemplate();
    candidate.dpi(500);
    candidate.create(img);

    for(Biometry biometry : listBiometria)
    {
        FingerprintTemplate probe = new FingerprintTemplate()
                .dpi(500)
                .create(biometry.getBiometria());

        score = new FingerprintMatcher()
                .index(probe)
                .match(candidate);
    }

最佳答案

好吧,如果有人遇到类似问题,我找到了SourcesAFIS的创建者的github,并在此提出了问题,并收到了以下答案:Android功能提取器性能确实很差。改进是可能的。同时,建议使用具有可靠浮点性能的最新设备。

无论如何,您都不应在这样的图像上循环播放。在获取图像之后执行特征提取,然后像本教程中所说的那样缓存模板。

链接:https://github.com/robertvazan/sourceafis-net/issues/2

09-25 20:15