///////////////////////////////////////////////////////////////////////////////// /// Copyright (c) 2012 China Merchants Bank, all rights reserved /// /// Adapter Interface for FingerPrint Instrument. /// /// /// //////////////////////////////////////////////////////////////////////////////// #ifndef FINGER_PRINT_H #define FINGER_PRINT_H #pragma once #include "DeviceBaseClass.h" class FingerPrintClass : public DeviceBaseClass { public: // // Open Device virtual ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate) = 0; //采集指纹图片及对应特征值,imagePath保存图片名,lpbFeature保存对应特征,iLength:输入代表特征lpbFeature最大可用长度,输出为特征lpbFeature实际长度 //imagePath为传入的图片名,采集到的指纹图像请按此名称保存在dep目录下,lpbFeature为对应指纹图像特征 //Compute features virtual ErrorCodeEnum Image2Feature(const char* imageName, LPBYTE lpbFeature, int &iLength) = 0; //生成特征模板(注册时使用) //imagePath1、imagePath2、imagePath3表示生成特征需要输入的三张图片名称,由应用传入,lpbTemplate表示输出特征模板,iLength表示模板长度 virtual ErrorCodeEnum Image2Template(const char* imagePath1, const char* imagePath2, const char* imagePath3, LPBYTE lpbTemplate, int &iLength) = 0; //比对校验 //lpbTemplate和iTemplateLen分别表示输入的一组特征模板及其对应的长度,templateNum为数组长度(即模板个数) //lbpFeature表示待校验的指纹特征,iFeatureLen表示其长度,level表示校验等级,默认取3 virtual ErrorCodeEnum Match(LPBYTE lpbTemplate[], int iTemplateLen[] ,int templateNum, LPBYTE lbpFeature, int &iFeatureLen ,int level = 3) = 0; //取消采集指纹 virtual ErrorCodeEnum Cancel() = 0; }; #endif //FINGER_PRINT_H