C#实现指纹识别功能编程

指纹识别器属于常用的硬件设备,主用用于考勤,门禁,各种考试场合等。指纹识别器如果要通过USB连接计算机,必须需要驱动程序才可以识别。
C#可以通过调用指纹识别器驱动文件,实现指纹识别的功能。主要使用的DLL驱动为Biokey.ocx文件。因为该文件进行了封装,需要在Windows系统中进行regsvr32注册该COM组件。
///
/// 初始化指纹识别器
///
private void InitZKeFinger()
{
AxZKFPEngXControl.AxZKFPEngX axZKFPEngX1 = new AxZKFPEngXControl.AxZKFPEngX();
long eng = axZKFPEngX1.InitEngine();
//axZKFPEngX1.Visible
axZKFPEngX1.ImageWidth = 150;
axZKFPEngX1.ImageHeight = 200;
switch (eng)
{
case 0:
//MessageBox.Show(\"初始化成功\");
break;
case 1:
MessageBox.Show(\"指纹识别驱动加载失败\");
break;
case 2:
MessageBox.Show(\"没有连接指纹识别\");
break;
case 3:
MessageBox.Show(\"属性SensorIndex指定的指纹不存在\");
break;
default:
MessageBox.Show(\"初始化失败\");
break;
}
axZKFPEngX1.BeginCapture();
}
///
/// 按下手指,进行识别时进行逻辑处理操作。
///
///
///
private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
{
string temStr = axZKFPEngX1.GetTemplateAsString();
this.pictureBox2.Image = null;
this.tbxyzw.Text = temStr;
object finger = null;
axZKFPEngX1.GetFingerImage(ref finger);
byte[] tmp = (byte[])finger;
Image fingeImg = null;
MemoryStream myMStream = new MemoryStream(tmp, 0, tmp.Length);
fingeImg = Image.FromStream(myMStream);
Image tmpImg = new Bitmap(fingeImg, new Size(140, 200));
this.pictureBox2.Image = tmpImg;
}



  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#实现指纹识别需要使用指纹识别设备的SDK或API,并按照其提供的接口进行编程。以下是一个简单的示例代码,演示如何使用DigitalPersona指纹识别设备的SDK进行指纹识别: ```csharp using DPFP; using DPFP.Capture; using DPFP.Processing; using DPFP.Verification; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FingerprintRecognition { class Program { static void Main(string[] args) { try { //初始化指纹设备 using (var fingerprintDevice = new DPFP.Capture.Capture()) { //创建指纹处理器 var fingerprintProcessor = new DPFP.Processing.Enrollment(); //订阅指纹采集事件 fingerprintDevice.EventHandler = new DPFP.Capture.EventHandler(delegate (object sender, DPFP.Capture.CaptureEventArgs e) { if (e.Result != null && e.Result.Image != null) { Console.WriteLine("指纹采集成功!"); //将采集到的指纹图像添加到指纹处理器中 fingerprintProcessor.AddFeatures(e.Result); } }); //启动指纹采集设备 fingerprintDevice.StartCapture(); Console.WriteLine("请将手指放到指纹识别设备上..."); //等待指纹采集完成 while (fingerprintProcessor.FeaturesNeeded > 0) { System.Threading.Thread.Sleep(100); } //停止指纹采集设备 fingerprintDevice.StopCapture(); //获取指纹模板 var fingerprintTemplate = fingerprintProcessor.Template; Console.WriteLine("指纹模板采集完成!"); //创建指纹识别器 var fingerprintVerifier = new DPFP.Verification.Verification(); //将指纹模板添加到指纹识别器中 fingerprintVerifier.Verify(fingerprintTemplate, new DPFP.Verification.Verification.Result()); Console.WriteLine("请将手指放到指纹识别设备上..."); //等待指纹采集完成 while (true) { var captureResult = fingerprintDevice.Capture(); if (captureResult.ResultCode == DPFP.Capture.CaptureResultCode.Success) { //将采集到的指纹图像与指纹模板进行比对 var verificationResult = new DPFP.Verification.Verification.Result(); fingerprintVerifier.Verify(captureResult.Sample, fingerprintTemplate, ref verificationResult); //输出识别结果 if (verificationResult.Verified) { Console.WriteLine("指纹识别成功!"); } else { Console.WriteLine("指纹识别失败!"); } } } } } catch (Exception ex) { Console.WriteLine("发生异常:" + ex.Message); } } } } ``` 上述示例代码使用DigitalPersona指纹识别设备的SDK进行指纹识别,其中包括指纹采集、指纹模板采集和指纹识别三个步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值