如何在安卓中从字节[]创建数字角色FMD?



我可以在Android中将FMD保存到SQLite中。但是,当我尝试重新创建口蹄疫时,它无法正常工作。

将口蹄疫保存在数据库中。

try {
Fmd m_enrollmant_fmd = m_engine.CreateEnrollmentFmd(Fmd.Format.ANSI_378_2004, enrollThread);
if (m_success = (m_enrollmant_fmd != null)) {
byte[] fingerprintData = m_enrollmant_fmd.getData();
int fingerprintImageHeight = m_enrollmant_fmd.getHeight();
int fingerprintImageWidth = m_enrollmant_fmd.getWidth();
int fingerprintResolution = m_enrollmant_fmd.getResolution();
int fingerPosition = m_enrollmant_fmd.getViews()[0].getFingerPosition();
int cbeffId = m_enrollmant_fmd.getCbeffId();
int m_templateSize = m_enrollmant_fmd.getData().length;
m_current_fmds_count = 0; // reset count on success
// Save above values in database and this is working fine.
}
} catch (Exception e) {
m_current_fmds_count = 0;
}

重新创建口蹄疫代码:

Fmd temp_fmd = m_engine.CreateFmd(
user.fingerPrint,  // byte[]
user.width,  // width
user.height, // height
user.resolution, // resolution
user.fingerPrint, //Finger position,
user.cbeffId, // Cbeff Id
Fmd.Format.ANSI_378_2004); // Format algorithm

if (temp_fmd != null) {
// m_fmd is FMD that we generate after taking fingerprint
int m_score = m_engine.Compare(m_fmd, 0, temp_fmd, 0);
if (m_score < (0x7FFFFFFF / 100000)) {
userFound = user;
break;
}
}

这给了我UareUException说FID是无效的。但是,当我尝试在 byte[] 参数之外m_engine.CreateFmd(...)给出固定值时,它工作正常,但它的差异性是 100%,这意味着它根本不匹配。任何帮助将不胜感激。我正在使用来自Crossmatch的UareU SDK 3.1(以前称为数字角色(。

请注意,数据库中的值是正确的,这没有问题。只有我无法创建正确的口蹄疫。

尝试使用以下方法从字节数组重新创建 Fmds:

Fmd print = UareUGlobal.GetImporter().ImportFmd(prints, Fmd.Format.ANSI_378_2004, Fmd.Format.ANSI_378_2004);

此处打印的位置是您的字节数组。

相关内容

  • 没有找到相关文章

最新更新