嗨,我正在使用指纹应用程序,并且在将字节信息转换为所需 DPFP 模板时面临的问题是指纹 SDK(一键式)...
请帮帮我
你需要在获取字节数组之前做一些事情......
你需要知道,如果你想制作一个模板,你需要提取样本的特征 4 次,这就是一个模板。
您需要实现一个 DPFPDataListener,
创建捕获
public DPFPCapture CAPTURA = DPFPGlobal.getCaptureFactory().createCapture();
您将需要的变量
private DPFPEnrollment HUELLA;
public DPFPFeatureSet EXTRACTION;
public DPFPTemplate TEMPLATE;
添加监听器
CAPTURA.addDataListener(this);
何时将手指放入硬件中,您发送事件
@Override
public void dataAcquired(DPFPDataEvent dpfpde) {
EXTRACTION = extractFeatures(dpfpde.getSample(), DPFPDataPurpose.DATA_PURPOSE_ENROLLMENT);
TEMPLATE = enrollment_huella(EXTRACTION); **//this line add in the finally part
}
您需要获得该功能
protected DPFPFeatureSet extractFeatures(DPFPSample sample, DPFPDataPurpose purpose){
DPFPFeatureExtraction extractor = DPFPGlobal.getFeatureExtractionFactory().createFeatureExtraction();
try {
return extractor.createFeatureSet(sample, purpose);
} catch (DPFPImageQualityException e) {
return null;
}
}
最后部分
protected DPFPTemplate enrollment_huella(DPFPFeatureSet featureSet) throws DPFPImageQualityException{
if(HUELLA == null) HUELLA = DPFPGlobal.getEnrollmentFactory().createEnrollment();
HUELLA.addFeatures(featureSet);
//here you can see if the template is ready...
if( HUELLA.getTemplateStatus() == DPFPTemplateStatus.TEMPLATE_STATUS_READY){
return HUELLA.getTemplate();
}
else return null;
}
在函数 dataAcquired 中可以获取模板。
我希望你明白!
这个问题是六年前的问题。但是我仍然发布我的答案来帮助那些仍然不知道如何做到这一点的人。
我假设您已将 .fpt 模板/注册者模板正确保存在数据库的 longblob 列中。
您可以像这样简单地将字节转换为 DPFP 模板:
byte[] bytes = (byte[])reader["column_name_where_your_.fpt_is_saved"];
MemoryStream ms = new MemoryStream(bytes);
Template = new DPFP.Template(ms);