ZKTFinger指纹验证过程

来源:互联网 发布:两张表数据同步sql 编辑:程序博客网 时间:2024/04/30 05:27

              

       比对两枚指纹的特征模版文件是否匹配。其中 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 Ds = SqlZKTIdentify(IdNo);
               if (Ds != null)
               {
                   string TemFingerData = "";
                   bool result = false;
                   bool tem = false;
                   string a = ZKFPEngX1.GetTemplateAsString();
                   foreach (DataRow col in Ds.Tables[0].Rows) 
                   {
                       TemFingerData = col[0].ToString();
                       result = ZKFPEngX1.VerFingerFromStr(ref TemFingerData, temp, false, ref tem);
                       if (result)
                       {
                           //进入主程序
                         //  System.Windows.Forms.MessageBox.Show("1:1比对匹配正确");
                           ShowHintImage(1);
                           RetResult = 1;
                           this.Dispose();
                           return;
              
                       }
                   }
                   if (!result)
                   {
                      // System.Windows.Forms.MessageBox.Show("数据库中无对应ID号样本!");
                       ShowHintImage(2);
                       RetResult = 0;
                       return ;
                   }

               }
               else
               {
                
                   return ;

               }
           }
           if (FMatchType == 2)//1:N比对
           {
               DataSet Ds = SqlZKTIdentify();
               if (Ds != null)
               {
                   string TemFingerData = "";
                   bool result = false;
                   bool tem = false;
                   string a = ZKFPEngX1.GetTemplateAsString();
                   foreach (DataRow col in Ds.Tables[0].Rows) 
                   {
                       TemFingerData = col[0].ToString();
                       result = ZKFPEngX1.VerFingerFromStr(ref TemFingerData, temp, false, ref tem);
                       if (result)
                       {          
                           //进入主程序
                          // System.Windows.Forms.MessageBox.Show("1:N比对匹配");
                           ShowHintImage(1);
                           RetResult = 1;
                           this.Dispose();
                           return ;
                       }
                   }
                   if (!result)
                   {
                       //System.Windows.Forms.MessageBox.Show("1:N比对匹配失败");
                       ShowHintImage(2);
                       RetResult = 0;                 
                       return ;
                   }
               }
           }
        
           return ;
       }
  
     

    }
}

0 0
原创粉丝点击