页面载入完毕.

推荐标签

当前位置:首页 > VIP专区 > 管理VIP整站源码 > 管理VIP整站源码

FP-200指纹采集系统[Delphi]

指纹采集器初始化进入工作状态后,调用BeginEnroll处于登记指纹状态,调用BeginCapture处于指纹验证状态。控件的工作方式是基于事件驱动,触发事件的顺序参考上面示意图。

指纹登记一般需要按同一手指1-4次,然后由识别系统综合处理得到一个指纹登记模板,按压登记指纹次数由控件属性EnrollCount设置,达到设定次数后会触发OnEnrollOnEnrollToFile事件。

指纹验证时,按压手指后会触发OnCaptureOnCaptureToFile事件,此时可以调用VerFinger或者IdentificationInFPCacheDB进行1:1或者1:N比对。

需要注意每次按压手指都会触发OnFeatureInfo事件,如果按压手指的指纹模板质量不合格,则本次取像无效,需要重新按压手指。

 

4.1属性

4.1.1 Active as Boolean

Read only



当前SensorIndex设定的指纹采集器是否准备就绪。

4.1.2 EngineValid as Boolean

Read only



指纹识别系统是否正常工作。调用过函数initEngine后会返回有效结果

4.1.3 EnrollIndex As Long

Read only



       登记指纹时取样的序号,即表示当前手指登记已经取到的有效次数。

4.1.4 EnrollCount As Long

登记指纹时取样的次数,取值范围为1-4

4.1.5 FPEngineVersion AS String      

read only

指纹识别系统版本号

4.1.6 ImageHeight AS integer  

Read only

指纹图像的高度

4.1.7 ImageWidth AS integer  

Read only

指纹图像的宽度

4.1.8 IsRegister As Boolean

Read only



是否正登记指纹

4.1.9 OneToOneThreshold As Boolean

       设定Biokey低速指纹11比对的识别阀值分数(1-100),默认为10,值越大,误判率越低同时拒绝率变大

 



       注意:1:1控件没有这个属性

 



4.1.10 RegTplFileName As String

设置当事件OnEnrollToFile发生时,保存指纹登记模板的文件名称。

 



4.1.11 SensorCount As Long

Read only



当前连接到计算机的指纹采集器的个数,当EngineValid无效时,返回0

4.1.12 SensorIndex AS Long

连接多个指纹采集器时,选择指纹头的序号,从0开始;小于零时指纹采集器不工作。

4.1.13 SensorSN As String

指纹采集器的硬件序列号

4.1.14 TemplateLen As Long

Read only



指纹登记模板的字节长度。

 



 



4.1.15 Threshold As Long

       设定指纹识别系统比对识别阀值分数(1-100),默认为10,值越大,误判率越低同时拒绝率变大

 



4.1.16 VerTplFileName As String

设置当事件OnCaptureToFile发生时,保存指纹验证模板的文件名称。

 



4.2 方法

111N控件接口相同的方法:



4.2.1 Sub BeginEnroll()

开始登记指纹,登记结束后发生OnEnroll事件。

 



4.2.2 Sub CancelEnroll()

取消当前的指纹登记状态,即由 BeginEnroll开始的操作可由此函数中断。

 



4.2.3 Function DongleIsExist As Boolean

检查加密狗是否存在。

 



4.2.4 Function DongleSeed(Byval lp2 As Long, Byval p1, p2, p3, p4 As Integer) As Boolean

得到种子码lp2的四个16位整数(p1,p2,p3,p4)返回值,加密狗可以通过内部算法计算一个种子码,得到四个返回码。种子码算法是不公开的,可以通过检查返回码是否是期望的值来检查加密狗是否存在。

 



4.2.5 Function DongleUserID As Long

读出加密狗中的用户ID,用户ID不会重复相同。保存在加密狗内部特定位置。

 



4.2.6 Function DongleMemRead(Byval p1, p2 As Integer, buf) As Boolean

读出加密狗内存区位置p1开始的p2个字节到Variant变量buf(一维字节数组)。内存区共有24个字节,位置为0-23

4.2.7 Function DongleMemWrite(Byval p1, p2 As Integer, buf) As Boolean

写入Variant变量buf(一维字节数组)到加密狗内存区位置p1开始的p2个字节内。内存区共有24个字节,位置为0-23

 



4.2.8 Function GetTemplate()

得到最近一次获得的指纹模板。

 



4.2.9 Function GetFingerImage(Byval AFingerImage) As Boolean

得到最近一次获得的指纹图像(BMP 格式)

 



4.2.10 Function InitEngine() As Long

初始化指纹识别系统。SensorCountSensorSNEngineValidImageHeightImageWidth等属性需在该函数被调用后才能返回正确结果。返回值:

初始化成功

指纹识别驱动程序加载失败

没有连接指纹识别仪

属性SensorIndex指定的指纹采集器不存在(注意:在调用之前设置属性SensorIndex

 



可以使用方法EndEngine释放指纹设备系统

 



4.2. 11 Function VerFinger(byval regTemplate, verTemplate, AdoLearning As Boolean, byval AregFeatureChanged As Boolean) As Boolean

比对两枚指纹的特征模板是否匹配。其中regTemplate表示指纹登记特征模板,verTemplate表示现场采集的指纹验证特征模板,AdoLearning表示是否进行指纹特征模板学习更新。AregFeatureChanged表示登记模板regTemplate是否改变,两枚指纹匹配时返回 True,不匹配时返回 False

说明:

   手指特征随时间可能会发生一定程度的变化,通常不会影响指纹的比对,但通过进行指纹特征模板学习更新,系统会综合得到新的模板,从而可以降低拒绝率。

4.2.12 Function VerFingerFromFile(regTemplateFile As String, verTemplateFile As StringAdoLearning As Boolean, byval AregFeatureChanged As Boolean) As Boolean

比对两枚指纹的特征模板文件是否匹配。其中regTemplateFile表示指纹登记特征模板文件,verTemplateFile表示现场采集的指纹验证特征模板文件,AdoLearning表示是否进行指纹特征模板学习更新。AregFeatureChanged表示登记模板文件regTemplateFile是否改变。两枚指纹匹配时返回 True,不匹配时返回 False

 



4.2.13 Function VerRegFingerFile(RegTemplateFile As String, verTemplateAdoLearning As Boolean, byval AregFeatureChanged As Boolean) As Boolean

比对两枚指纹的特征模板是否匹配。其中regTemplate表示由 FileName 指定文件中的以前登记指纹特征模板,verTemplate表示现场采集的指纹的特征模板,AdoLearning表示是否进行指纹特征模板学习更新。AregFeatureChanged表示登记模板文件regTemplateFile是否改变。两枚指纹匹配时返回 True,不匹配时返回 False

 



4.2.14 Sub PrintImageAt(HDC As OLE_HANDLE, X As Long, Y As Long, aWidth As Long, aHeight As Long)

在由(x,y)指定的位置上按照(aWidth, aHeight)指定的大小显示指纹图像,HDC表示要显示指纹的窗口的设备描述表句柄

4.2.15 Sub PrintImageEllipseAt(HDC As OLE_HANDLE, X As Long, Y As Long, aWidth As Long, aHeight As Long, bkColor As OLE_COLOR)


在由(x,y)指定的位置上按照(aWidth, aHeight)指定的大小显示指纹图像,HDC表示要显示指纹的窗口的设备描述表句柄。这里的指纹图像被一椭圆形包围。

 



4.2.16 Sub SaveBitmap(FileName As String)

保存最后一次采集到的指纹的图像到 FileName 指定的位图文件中。

 



4.2.17 Sub SaveJPG(FileName As String)

保存最后一次采集到的指纹的图像到 FileName 指定的Jpeg文件中。

 



4.2.18 Function SaveTemplate(FileName As String, Template) As Boolean

保存Template指纹的特征模板到 FileName 指定的文件中。

 



4.2.19 function  EncodeTemplate(ASour, var ADest As String) As Boolean

将控件使用的Variant模板ASour转换为BASE64格式的模板字符串ADest

 



4.2.20 function  DecodeTemplate(const ASour As String, ADest) As Boolean

BASE64格式的模板字符串ASour转换为控件使用的Variant类型ADset模板。

 



    以上两个方法主要用于模板的数据库保存,Variant类型模板是以二进制格式数组方式存放,在PB, VB等语言中操作比较困难,方法EncodeTemplate可以将Variant类型编码转换为字符串类型,方法DecodeTemplate可以将字符串类型编码转换为Variant类型,需要注意的是,模板变量BASE64编码为字符串后,模板长度将变长。

 



4.2.21 Sub BeginCapture()

设置当前指纹设备开始取像,可以使用方法CanncelCapture禁止当前指纹设备取像。

 



4.2.22 Sub EndEngine()

释放由方法InitEngine初始化的指纹设备,可以使用方法InitEngine重新初始化指纹设备。


免责申明:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
来源:众乐源码网(QQ:43171398,点我畅聊,转载请保留出处!) pbootcms模板交流QQ群:183945698  点我加群 
 

网友评论

发表评论

表情