ZKTFinger指纹验证过程

这篇博客介绍了如何使用ZKTFinger进行指纹验证,包括1:1和1:N比对。通过比对现场采集的指纹特征模版与数据库中的信息,利用比对算法确定验证结果。在1:1比对中,如果数据库中有对应的ID号样本并匹配成功,将进入主程序;否则显示匹配失败。1:N比对则遍历所有数据库记录,找到匹配的指纹信息。
摘要由CSDN通过智能技术生成

              

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

通过采集到的指纹信息与数据库中的信息对比验证,经过一个比对算法来进行验证识别,确定验证结果:

以下是验证实例一部分,供大家参考学习:

 public void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
       {
  
           //int Score = new int();
           //int ProcessNum = new int();
           string temp = ZKFPEngX1.GetTemplateAsString();
           if (FMatchType == 1)//1:1比对
           {
               //数据库中查找,需要IdNo
               DataSet

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB 一对一 Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Dim FTempLen As Integer Dim FRegTemplate As Variant Dim FingerCount As Long Dim FMatchType As Integer Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long Private Sub cmdEnroll_Click() If Trim(TextFingerName.Text) = "" Then MessageBox 0, "请输入指纹名称标识!", "错误", 0 Exit Sub End If ZKFPEngX1.BeginEnroll StatusBar.Caption = "开始登记" End Sub Private Sub cmdIdentify_Click() If ZKFPEngX1.IsRegister Then ZKFPEngX1.CancelEnroll End If StatusBar.Caption = "开始比对(1:N)" FMatchType = 2 End Sub Private Sub cmdInit_Click() If ZKFPEngX1.InitEngine = 0 Then MessageBox 0, "初始化成功!", "提示信息", 0 StatusBar.Caption = "指纹仪连接" TextSensorCount.Text = ZKFPEngX1.SensorCount & "" TextSensorIndex.Text = ZKFPEngX1.SensorIndex & "" TextSensorSN.Text = ZKFPEngX1.SensorSN cmdInit.Enabled = False FMatchType = 0 End If End Sub Private Sub cmdReadMemory_Click() Dim i, p1 As Long, p2 As Long Dim p As Variant Dim s As String p1 = 0 p2 = 23 ZKFPEngX1.DongleMemRead p1, p2, p s = "" For i = LBound(p) To UBound(p) s = s & Chr(p(i)) Next TextRead.Text = s End Sub Private Sub cmdSaveMemory_Click() Dim p1 As Long, p2 As Long Dim p() As Byte Dim i As Integer Dim s As String p1 = 0 p2 = Len(TextWrite.Text) s = TextWrite.Text ReDim p(Len(s)) For i = 0 To Len(s) - 1 p(i) = Asc(Mid(s, i + 1)) Next ZKFPEngX1.DongleMemWrite p1, p2, p End Sub Private Sub cmdSaveImage_Click() Dim sFileName As String sFileName = "C:\Fingerprint" If OptionBmp.Value Then ZKFPEngX1.SaveBitmap sFileName & ".bmp" Else ZKFPEngX1.SaveJPG sFileName + ".jpg" End If MessageBox 0, "文件保存成功(" + sFileName + ")!", "", 0 End Sub Private Sub cmdVerify_Click() If ZKFPEngX1.IsRegister Then ZKFPEngX1.CancelEnroll End If ZKFPEngX1.BeginCapture StatusBar.Caption = "开始比对(1:1)" FMatchType = 1 End Sub Private Sub Form_Load() FingerCount = 0 End Sub Private Sub ZKFPEngX1_OnCapture(ByVal ActionResult As Boolean, ByVal ATemplate As Variant) Dim fi As Long, i As Long Dim Score As Long, ProcessNum As Long Dim RegChanged As Boolean Dim sTemp As String sTemp = ZKFPEngX1.EncodeTemplate1(ATemplate) ATemplate = ZKFPEngX1.DecodeTemplate1(sTemp) StatusBar.Caption = "取得指纹特征" If FMatchType = 1 Then '1:1 If ZKFPEngX1.VerFinger(FRegTemplate, ATemplate, False, RegChanged) Then MessageBox 0, "指纹比对成功!", "信息提示", 0 Else MessageBox 0, "指纹比对失败!", "信息提示", 0 End If 'If ZKFPEngX1.VerRegFingerFile("c:\fingerprint.tpl", ATemplate) Then ' MessageBox 0, "文件指纹比对成功!", "信息提示", 0 'Else ' MessageBox 0, "文件指纹比对失败!", "信息提示", 0 'End If End If End Sub Private Sub ZKFPEngX1_OnEnroll(ByVal ActionResult As Boolean, ByVal ATemplate As Variant) Dim i As Long If Not ActionResult Then MessageBox 0, "指纹登记失败!", "警告", 0 Else MessageBox 0, "指纹登记成功!", "信息", 0 FRegTemplate = ATemplate ZKFPEngX1.SaveTemplate "c:\fingerprint.tpl", ATemplate FingerCount = FingerCount + 1 End If End Sub Private Sub ZKFPEngX1_OnFeatureInfo(ByVal AQuality As Long) Dim sTemp As String sTemp = "" If ZKFPEngX1.IsRegister Then sTemp = "登记状态: 还需要按压" & ZKFPEngX1.EnrollIndex & "次手指!" End If sTemp = sTemp & " 指纹质量" If AQuality <> 0 Then sTemp = sTemp & "不合格: " & AQuality Else sTemp = sTemp & "合格" End If StatusBar.Caption = sTemp End Sub Private Sub ZKFPEngX1_OnImageReceived(AImageValid As Boolean) ZKFPEngX1.PrintImageAt hDC, FrameCommands.Width + 6, FrameCommands.Top, ZKFPEngX1.ImageWidth, ZKFPEngX1.ImageHeight End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值