java - SourceAFIS Java - 创建指纹模板太慢了
问题描述
我在 Android Java 应用程序中使用 SourcesAFIS 指纹来比较用户的指纹并遇到以下问题:我的应用程序将用户的指纹字节转换为 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 特征提取器性能确实很差。改进是可能的。同时建议使用具有可靠浮点性能的最新设备。
在任何情况下,您都不应该循环访问这样的图像。在图像采集后执行特征提取,然后像教程所说的那样缓存模板。
推荐阅读
- python - Matplotlib plt.text() fails to iterate over loop
- python - 通过对象引用和 pandas DataFrame 传递
- python - 为什么我的 pip install 请求在我安装它时给我一个错误?
- math - 沿向量的一点到另一条线的距离
- c - 堆栈切换的 TSS 表项
- r - R中的mem_change,在删除向量时应该是负数
- sql - SQL - 根据条件填充列值
- python - 在 Python 中迭代大列表的更快方法
- swift - 在 Swift 中解码无效的 UTF-8 时保持二进制表示
- python - Keras LSTM ValueError:检查目标时出错:预期dense_23具有形状(1,)但得到形状为(70,)的数组