我使用Griaule SDK将指纹模板存储在SQL Server数据库中,现在我需要迁移到Digital Persona SDK但是当我尝试读取模板时它会引发错误,当然我认为它们都有不同的格式。我的问题是如何将我的模板从Griaule读取或转换为Digital Persona。
答案 0 :(得分:0)
你说得对,你需要使用标准格式作为ISO或ANSI。
要将Griaule转换为ISO或ANSI,请参阅: http://www.griaulebiometrics.com/en-us/manual/fingerprint-sdk/programming-reference-guide/fingerprint-sdk-dll-reference-guide/extraction-functions/grcovertemplate
这样的东西(取决于Griaule SDK和语言):
int result;
// set current buffer size for the extract template
_newTpt->_size = GR_MAX_SIZE_TEMPLATE;
result = GrConvertTemplate((char*)_oldTpt, (char*)_newTpt->_tpt, &_newTpt->_size, GR_DEFAULT_CONTEXT, GR_FORMAT_ANSI);
// if error, set template size to 0
if (result < 0){
// Result < 0 => conversion problem
_newTpt->_size = 0;
}
模板Griaule格式可在此处获取:http://www.griaulebiometrics.com/en-us/manual/fingerprint-sdk/programming-reference-guide/return-codes-and-constants/template-format
必须将此ISO或ANSI模板转换为数字角色格式后:
Fmd fmd = UareUGlobal.GetImporter().ImportFmd(
byteArray, Fid.Format.ANSI_381_2004,
Format.DP_REG_FEATURES);