我在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