【问题标题】:Convert Griuale fingerprint templates to Digital Persona将 Griuale 指纹模板转换为 Digital Persona
【发布时间】:2017-03-11 02:01:35
【问题描述】:

我使用 Griaule SDK 将指纹模板存储在 SQL Server 数据库中,现在我需要迁移到 Digital Persona SDK 但当我尝试读取模板时会引发错误,当然我认为两者的格式不同。我的问题是如何阅读或将我的模板从 Griaule 转换为 Digital Persona。

【问题讨论】:

  • 您的 Griaule 指纹模板以哪种格式保存?是不是 Griaule 专有的指纹模板格式?

标签: fingerprint digital-persona-sdk


【解决方案1】:

你是对的,你需要使用标准格式,如 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 模板转换为 Digital Persona 格式,如下所示:

Fmd fmd = UareUGlobal.GetImporter().ImportFmd(
                    byteArray, Fid.Format.ANSI_381_2004,
                    Format.DP_REG_FEATURES);

【讨论】:

  • @jorgemariomm 有用吗?
  • 是的,转换它工作正常,没有错误,但仍然无法在 Digital Persona 中读取它,我使用此链接 griaulebiometrics.com/en-us/manual/fingerprint-sdk/… 因为它位于 vb .net 中的旧应用程序,我知道我在做有问题但找不到,谢谢您的提示
  • @jorgemariomm 如何在数字角色中导入此模板,请分享代码?
  • 'Griaule Convert 'Griaule to ISO finger1 original image finger2 = 转换后的 ISO 图像 'item 它是一个标识对象,finger1 和 finder2 类型为 System.Data.Linq.Binary Dim buffer As System.Array = Array.CreateInstance(GetType(Byte), GrFingerXLib.GRConstants.GR_MAX_SIZE_TEMPLATE) AxGrFingerXCtrl1.ConvertTemplate(item.finger1.ToArray(), buffer, GRConstants.GR_MAX_SIZE_TEMPLATE, GRConstants.GR_DEFAULT_CONTEXT, GRConstants.GR_FORMAT_ISO) item.finger2 = buffer ...
  • 'Verify using Digital Persona '使用 finger2 和 Digital Persona SDK Dim 模板 As DPFP.Template = New DPFP.Template() template.DeSerialize(item.finger2.ToArray()) ver.Verify(FeatureSet , template, res) '这会引发一般错误 0xFFFFFFF8 ... 如果我使用 Digital Personal 保存的指纹而不是 Graule 转换的指纹,验证它工作正常,我认为我的错误是在转换中,可能是缓冲区数组或一些序列化,我尝试了几种方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
相关资源
最近更新 更多