BiokeySDK开发文档Word格式.docx
- 文档编号:3698367
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:38
- 大小:270.53KB
BiokeySDK开发文档Word格式.docx
《BiokeySDK开发文档Word格式.docx》由会员分享,可在线阅读,更多相关《BiokeySDK开发文档Word格式.docx(38页珍藏版)》请在冰点文库上搜索。
4.2.2SubCancelEnroll()13
4.2.3FunctionDongleIsExistAsBoolean13
4.2.4FunctionDongleSeed(Byvallp2AsLong,Byvalp1,p2,p3,p4AsInteger)AsBoolean13
4.2.5FunctionDongleUserIDAsLong13
4.2.6FunctionDongleMemRead(Byvalp1,p2AsInteger,buf)AsBoolean13
4.2.7FunctionDongleMemWrite(Byvalp1,p2AsInteger,buf)AsBoolean14
4.2.8FunctionGetTemplate()14
4.2.9FunctionGetFingerImage(ByvalAFingerImage)AsBoolean14
4.2.10FunctionInitEngine()AsLong14
4.2.11FunctionVerFinger(byvalregTemplate,verTemplate,AdoLearningAsBoolean,byvalAregFeatureChangedAsBoolean)AsBoolean14
4.2.12FunctionVerFingerFromFile(regTemplateFileAsString,verTemplateFileAsString,AdoLearningAsBoolean,byvalAregFeatureChangedAsBoolean)AsBoolean15
4.2.13FunctionVerRegFingerFile(RegTemplateFileAsString,verTemplate,AdoLearningAsBoolean,byvalAregFeatureChangedAsBoolean)AsBoolean15
4.2.14SubPrintImageAt(HDCAsOLE_HANDLE,XAsLong,YAsLong,aWidthAsLong,aHeightAsLong)15
4.2.15SubPrintImageEllipseAt(HDCAsOLE_HANDLE,XAsLong,YAsLong,aWidthAsLong,aHeightAsLong,bkColorAsOLE_COLOR)15
4.2.16SubSaveBitmap(FileNameAsString)16
4.2.17SubSaveJPG(FileNameAsString)16
4.2.18FunctionSaveTemplate(FileNameAsString,Template)AsBoolean16
4.2.19functionEncodeTemplate(ASour,varADestAsString)AsBoolean16
4.2.20functionDecodeTemplate(constASourAsString,ADest)AsBoolean16
4.2.21functionEncodeTemplate1(ASour)AsString16
4.2.22functionDecodeTemplate1(constASourAsString)AsVariant17
4.2.23SubBeginCapture()17
4.2.24SubEndEngine()17
4.2.25functionVerFingerFromStr(regTemplateStrAsString,verTemplateStrAsString,AdoLearningAsBoolean,byvalAregFeatureChangedAsBoolean)AsBoolean17
4.2.26functionGetTemplateAsString()AsString17
1:
N控件接口方法:
18
4.2.27FunctionAddRegTemplateToFPCacheDB(fpcHandleAsLong,FPIDAsLong,pRegTemplate)AsLong18
4.2.28FunctionAddRegTemplateFileToFPCacheDB(fpcHandleAsLong,FPIDAsLong,pRegTemplateFileAsString)AsLong18
4.2.29FunctionCreateFPCacheDBAsLong18
4.2.30SubFlushFPImages()18
4.2.31SubFreeFPCacheDB(fpcHandleAsLong)19
4.2.32FunctionIdentificationFromFileInFPCacheDB(fpcHandleAsLong,pVerTemplateFileAsString,ByvalScoreAsLong,ByvalProcessedFPNumberAsLong)AsLong19
4.2.33FunctionIdentificationInFPCacheDB(fpcHandleAsLong,pVerTemplate,ByvalScoreAsLong,ByvalProcessedFPNumberAsLong)AsLong19
4.2.34FunctionIsOneToOneTemplate(ATemplate)AsBoolean20
4.2.35FunctionModifyTemplate(byvalAtemplate,AOneToOneAsBoolean)AsBoolean20
4.2.36FunctionRemoveRegTemplateFromFPCacheDB(fpcHandleAsLong,FPIDAsLong)AsLong20
4.2.37SubCancelCapture()20
4.2.38FunctionAddRegTemplateStrToFPCacheDB(fpcHandleAsLong,FPIDAsLong,ARegTemplateStrAsString)AsLong20
4.2.39FunctionIdentificationFromStrInFPCacheDB(fpcHandleAsLong,AVerTemplateStrAsString,ByvalScoreAsLong,ByvalProcessedFPNumberAsLong)AsLong21
4.2.40SubSetAutoIdentifyPara(AutoIdentifyAsBoolean,fpcHandleAsLong,ScoreAsLong)21
外部图象文件接口方法:
22
4.2.41FunctionAddBitmap(BitmapHandleAsOLE_HANDLE,ValidRectX1AsLong,ValidRectY1AsLong,ValidRectX2AsLong,ValidRectY2AsLong,DPIAsLong)AsBoolean22
4.2.42FunctionAddImageFile(FileNameAsString,DPIAsLong)AsBoolean22
4.3事件22
4.3.1OnCapture(ActionResultASBoolean,ATemplate)22
4.3.2OnCaptureToFile(ActionResultASBoolean)23
4.3.3OnEnroll(ActionResultASBoolean,ATemplate)23
4.3.4OnEnrollToFile(ActionResultASBoolean)23
4.3.8OnFeatureInfo(AQualityAsLong)24
4.3.6OnImageReceived(byvalAImageValidAsBoolean)24
4.3.7OnFingerTouching24
4.3.8OnFingerLeaving24
5、工作流程说明25
6、常见问题说明28
6.11:
1和1:
N的应用28
6.2数据库中指纹模板写入和读出28
6.3软件加密狗和授权许可文件30
6.41:
N高速缓冲空间的使用31
6.5使用平面指纹图像31
6.6指纹识别阀值的设定31
6.71:
N识别中低质量指纹模板的处理方法32
6.8连接多个指纹仪34
6.9模板操作的文件/字符串/变体变量方法35
1.Biokey算法描述
Biokey算法是一种快速、准确的1:
1和1:
N指纹识别算法,面向软件开发商和系统集成商全面开放,在使用Biokey进行指纹识别时(2000-6000枚指纹),不需要对指纹通过姓名、PIN等预先分类就可以在1-5秒(以下测试都在PentiumIII900MHz+128MB内存环境下进行)内轻松完成。
Biokey算法具有以下特点:
1、Biokey软件开发包能够快速集成到客户系统中,通过开放图像处理接口,可以支持任何扫描设备和指纹Sensor(图像质量>
=300DPI)。
2、Biokey算法通过自适应的、适合匹配的滤镜和恰当的阀值,减弱噪音,增强脊和谷的对比度,甚至能够从质量很差的指纹(脏、刀伤、疤、痕、干燥、湿润或撕破)中获取适当的全局和局部特征点。
3、Biokey算法比对时支持指纹平移(>
=指纹面积35%)和360度旋转。
通过使用特殊技术实现在指纹平移和360度旋转时的快速比对(平均速度3000枚/秒),即使指纹特征点很少时(<
=10,一般手指的特征点)=15),也可以实现上述功能。
4、Biokey算法不需要指纹必须有全局特征点(核心点、三角点等),通过局部特征点就可以完成识别。
5、Biokey通过分类算法(指纹被分成五大类型:
拱类、左环类、右环类、尖拱类、旋涡类“斗”),预先使用全局特征排序,从而大大的加速指纹匹配过程。
6、Biokey算法代码相当简洁,数据空间仅需要350K内存,因此可以容易的移植到嵌入式系统中。
通过从四种Sensor(YLC,DFR200,U.ARE.U,Authentec)采集到2000枚指纹Biokey做测试(每种Sensor采集500枚),每枚指纹和其它全部2000枚指纹做比对,共进行4,000,000次比对,得到下面的测试比对结果:
模板大小
310or1152Byte
旋转
0–360度
FAR
<
=0.001%
FRR
=2.0%
登记时间
0.5秒
平均比对速度
2500枚/秒
图像质量
>
=500DPI
2.BiokeySDK架构
BiokeySDK3.8(SoftwareDevelopmentKit)主要以ActiveX的方式存在,使用者可以使用各种开发语言(例如VC++,C++Builder,Delphi,VB,VisualFoxpro,PB,C#,VB.net等)来开发相对于指纹仪的应用程序。
FilesIncluded
OperatingSystem
Files
Description
Windows98
WinodwsME
Windows2000
WindowsXP
Windows2003
Setup.exe
指纹仪驱动安装程序
License.rtf
开发许可协议
\Sdk\Manual.doc
程序开发手册
\SDK\Demo
Sample
\Sdk\Biokey.ocx
BiokeyActiveXControl
SDKArchitecture
ActiveX控件
OCX
应用程序
ApplicationProgram
驱动程序
DeviceDriver
平面图像
FingerprintImage
指纹采集器
URU4000orZKSensor
其它指纹采集器
OtherfingerprintReader
3.软件安装
3.1光盘文件及目录
打开BiokeySDK光盘,目录和文件信息如下图所示:
BiokeySDK3.8:
指纹采集器开发包;
U.are.U4000B-driver:
指纹采集器驱动的安装程序;
打开BiokeySDK3.8目录,目录和文件信息如下图所示:
Samples:
多种开发语言的例程;
Biokey.ocx:
指纹识别算法核心控件库文件。
BiokeySDK_Manual.doc:
SDK说明手册;
3.2软件的安装
在安装BiokeySDK3.8之前,请确定您的操作系统和计算机的配置符合软件运行的要求。
在进行安装之前,如果您的计算机接上了指纹采集器,最好将它拔下来。
如果您的计算机已经安装过URU2.0x驱动程序,请首先卸载。
Windows98系统下详细的卸载步骤如下:
a:
运行控制面板中的‘添加/删除’程序,卸载指纹采集设备的驱动程序;
b:
在开始菜单中的‘运行’中运行注册表,将
HKEY_LOCAL_MACHINE\Software\DigitalPersona键值删除;
c:
将Windows\system目录下的DP*.dll全部删除;
d:
将Programfiles\DigitalPersona目录整个删除。
1、将安装光盘放入计算机的光驱之中,安装软件将自动运行。
弹出窗口如下图所示:
点击下一步按钮,可以进入如下操作步骤:
点下一步可以完成安装指纹仪驱动。
2、拷贝光盘SDK目录下面文件到用户指定目录,建议拷贝到c:
\windows\system32系统目录。
Biokey.ocx控件库文件
3、注册控件Biokey.ocx:
c:
\windows\system32\regsvr32.exec:
\windows\system32\biokey.ocx
注意:
1、装程序安装的只是指纹采集器的驱动程序,其它开发所需的文件需要用户手动拷贝至相应的目录下
4、ActiveX控件参考
BiokeySDK3.8同时具备1:
N两种功能,以下都采用VB语法说明,其中指纹模板Variant变量代表一维字节数组。
4.1属性
4.1.1ActiveasBoolean
Readonly
当前SensorIndex设定的指纹采集器是否准备就绪。
4.1.2EngineValidasBoolean
指纹识别系统是否正常工作。
调用过函数initEngine后会返回有效结果
4.1.3EnrollIndexAsLong
登记指纹时取样的序号,即表示当前手指登记已经取到的有效次数。
4.1.4EnrollCountAsLong
登记指纹时取样的次数,取值范围为1-4次
4.1.5FPEngineVersionASString
readonly
指纹识别系统版本号
4.1.6ImageHeightASinteger
指纹图像的高度
4.1.7ImageWidthASinteger
指纹图像的宽度
4.1.8IsRegisterAsBoolean
是否正登记指纹
4.1.9OneToOneThresholdAsBoolean
设定Biokey低速指纹1:
1比对的识别阀值分数(1-100),默认为10,值越大,误判率越低同时拒绝率变大
4.1.10RegTplFileNameAsString
设置当事件OnEnrollToFile发生时,保存指纹登记模版的文件名称。
4.1.11SensorCountAsLong
当前连接到计算记得指纹采集器的个数,当EngineValid无效时,返回0
4.1.12SensorIndexASLong
连接多个指纹采集器时,选择指纹头的序号,从0开始;
小于零时指纹采集器不工作。
4.1.13SensorSNAsString
指纹采集器的硬件序列号
4.1.14TemplateLenAsLong
指纹登记模版的字节长度。
该属性为兼容旧版本保留,该版本放弃使用,在程序设计时按照如下规定分配变量即可,当用Base64格式字符串方式操作指纹模版时不用考虑如下长度:
系统缺省模板最大长度为1152字节,当UsingXTFTemplate为True时,最大模版长度为2288字节。
4.1.15ThresholdAsLong
设定指纹识别系统比对识别阀值分数(1-100),默认为10,值越大,误判率越低同时拒绝率变大
4.1.16VerTplFileNameAsString
设置当事件OnCaptureToFile发生时,保存指纹验证模版的文件名称。
4.2方法
4.2.1SubBeginEnroll()
开始登记指纹,登记结束后发生OnEnroll事件。
4.2.2SubCancelEnroll()
取消当前的指纹登记状态,即由BeginEnroll开始的操作可由此函数中断。
4.2.3FunctionDongleIsExistAsBoolean
检查加密狗是否存在
*3.8版本中已取消此函数的功能,为了兼容,暂保留了此函数。
4.2.4FunctionDongleSeed(Byvallp2AsLong,Byvalp1,p2,p3,p4AsInteger)AsBoolean
得到种子码lp2的四个16位整数(p1,p2,p3,p4)返回值,加密狗可以通过内部算法计算一个种子码,得到四个返回码。
种子码算法是不公开的,可以通过检查返回码是否是期望的值来检查加密狗是否存在。
*3.8版本中已取消此函数的功能,为了兼容,暂保留了此函数
4.2.5FunctionDongleUserIDAsLong
读出加密狗中的用户ID,用户ID不会重复相同。
保存在加密狗内部特定位置。
4.2.6FunctionDongleMemRead(Byvalp1,p2AsInteger,buf)AsBoolean
读出加密狗内存区位置p1开始的p2个字节到Variant变量buf(一维字节数组)。
内存区共有24个字节,位置为0-23
4.2.7FunctionDongleMemWrite(Byvalp1,p2AsInteger,buf)AsBoolean
写入Variant变量buf(一维字节数组)到加密狗内存区位置p1开始的p2个字节内。
4.2.8FunctionGetTemplate()
得到最近一次获得的指纹模板。
4.2.9FunctionGetFingerImage(ByvalAFingerImage)AsBoolean
得到最近一次获得的指纹图像(BMP格式)。
4.2.10FunctionInitEngine()AsLong002
初始化指纹识别系统。
SensorCount、SensorSN、EngineValid、ImageHeight、ImageWidth等属性需在该函数被调用后才能返回正确结果。
返回值:
0初始化成功
1指纹识别驱动程序加载失败
2没有连接指纹识别仪
3属性SensorIndex指定的指纹仪不存在(注意:
在调用之前设置属性SensorIndex)
可以使用方法EndEngine释放指纹设备系统
4.2.11FunctionVerFinger(byvalregTemplate,verTemplate,AdoLearningAsBoolean,byvalAregFeatureChangedAsBoolean)AsBoolean
比对两枚指纹的特征模版是否匹配。
其中regTemplate表示指纹登记特征模版,verTemplate表示现场采集的指纹验证特征模版,AdoLearning表示是否进行指纹特征模版学习更新。
AregFeatureChanged表示登记模版regTemplate是否改变,两枚指纹匹配时返回True,不匹配时返回False
说明:
手指特征随时间可能会发生一定程度的变化,通常不会影响指纹的比对,但通过进行指纹特征模版学习更新,系统会综合得到新的模版,从而可以降低拒绝率。
4.2.12FunctionVerF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BiokeySDK 开发 文档