2011-03-22 16 views

回答

1

你需要做事先得到字節數組...

你需要知道,如果你想做一個模板,你提取了4次樣本的特徵,並且這樣做了一個模板。

你需要實現一個DPFPDataListener,

創建捕獲

public DPFPCapture CAPTURA = DPFPGlobal.getCaptureFactory().createCapture(); 

變量,你將需要

private DPFPEnrollment HUELLA; 
public DPFPFeatureSet EXTRACTION; 
public DPFPTemplate TEMPLATE; 

添加監聽

CAPTURA.addDataListener(this); 

w ^母雞把手指在硬件,你dispache事件

@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你可以在功能獲取模板。

我希望你明白!

0

這個問題是六年前。但編號仍然發佈我的答案,以幫助那些仍然不知道如何做到這一點。

我們假設您已經將.fpt模板/註冊模板正確保存在數據庫的longblob列中。

你可以簡單的轉換字節DPFP模板是這樣的:

byte[] bytes = (byte[])reader["column_name_where_your_.fpt_is_saved"]; 

MemoryStream ms = new MemoryStream(bytes); 

Template = new DPFP.Template(ms);