智能识别,一键采集(【小课堂】指纹识别中控指纹采集器Win10及以上源码)

优采云 发布时间: 2021-11-13 16:16

  智能识别,一键采集(【小课堂】指纹识别中控指纹采集器Win10及以上源码)

  这两天正好是有点琐碎的时间,翻出了两年前没有开发的指纹识别项目,继续写。

  操作环境:

   中控指纹采集器

   Win10操作系统

   .网络框架4.0

   Sqlserver2008及以上

  源码已上传至微信公众号【熊熊小课堂】,回复“获取指纹识别源码”即可下载。

  一、指纹识别项目操作流程:

   用户注册:输入用户名、密码和采集完成3个指纹。

   用户登录:注册时输入用户名,注册时使用指纹登录成功

   对于采集指纹,3次需要相同。如果不一样,会提示采集失败

   登录时要求用户名和指纹对应,不对应提示登录失败,采集器红灯闪烁并有提示音

  二、 指纹识别项目部分截图:

  注册页面:

  

  2.登录页面

  

  3.如果没有指纹识别采集器,提示:

  

  4.指纹采集3次成功:

  

  5.登录成功:

  

  6.登录失败:

  

  三、 部分代码:

  采集 指纹代码

  ///

/// 采集指纹

///

public void Caiji()

{

if (this.axZKFPEngX1.InitEngine() == 0)

{

try

{

this.IsGoodQuality = false;

this.richTextBox1.Clear();

this.axZKFPEngX1.CancelEnroll();

this.axZKFPEngX1.EnrollCount = 10; // 取样次数 ,3次

this.axZKFPEngX1.BeginEnroll();

ShowMsgInfo("开始登记指纹,推荐将您的食指放\n\n在采集器上进行登记\n\n(如果有困难,您也可以使用其它手指)……");

// MessageBox.Show("开始登记指纹");

}

catch

{

MessageBox.Show("出现异常");

}

}

else

{

MessageBox.Show("请买个指纹采集仪", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);

}

}

  将指纹注册特征模板保存到指纹识别高速缓存空间,并显示指纹注册结果

  ///

/// 将指纹登记特征模版保存到指纹识别高速缓冲空间,并显示指纹登记结果

///

///

///

private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)

{

if (e.actionResult)

{

this.textBox1.Text = this.axZKFPEngX1.GetTemplateAsString();

int name = this.axZKFPEngX1.AddRegTemplateStrToFPCacheDB(fpcHandle, 4, this.axZKFPEngX1.GetTemplateAsString());

MessageBox.Show("指纹登记成功! ", "提示! ", MessageBoxButtons.OK, MessageBoxIcon.Information);

//ShowMsgInfo("指纹登记成功!");

//保存所登记的指纹

}

else

{

MessageBox.Show("指纹登记失败! ", "提示! ", MessageBoxButtons.OK, MessageBoxIcon.Stop);

}

}

  3. 获取初始指纹特征,0:指纹特征良好 1:特征点不足

  ///

/// 取得指纹初始特征,0:好的指纹特征 1:特征点不够

///

///

///

private void axZKFPEngX1_OnFeatureInfo(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnFeatureInfoEvent e)

{

String strTemp = "指纹质量";

if (e.aQuality != 0)

{

strTemp = strTemp + "不符合标准!";

this.labelResults.Text = "当前指纹特征点不够,请继续……";

//MessageBox.Show("当前指纹特征点不够,请继续……! ", "提示! ", MessageBoxButtons.OK);

}

else

{

strTemp = strTemp + " 符合指标要求。";

this.IsGoodQuality = true;

this.labelResults.Text = "指纹特征点良好,请保存";

//MessageBox.Show("指纹特征点良好,请保存 ", "提示! ", MessageBoxButtons.OK);

}

if (this.axZKFPEngX1.EnrollIndex != 1)

{

if (this.axZKFPEngX1.IsRegister)

{

if (this.axZKFPEngX1.EnrollIndex - 1 > 0)

{

strTemp = strTemp + '\n' + "采集状态:还需要按手指 " + Convert.ToString(this.axZKFPEngX1.EnrollIndex - 1) + " 次!";

}

}

}

ShowMsgInfo(strTemp);

}

  4.获取指纹图像并实时显示在窗口中

   ///

/// 获取指纹图像并在窗口中实时显示

///

///

///

private void axZKFPEngX1_OnImageReceived(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnImageReceivedEvent e)

{

this.labelResults.Text = "";

Graphics g = pictureBox1.CreateGraphics();

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);

g = Graphics.FromImage(bmp);

int dc = g.GetHdc().ToInt32();

this.axZKFPEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height);

g.Dispose();

this.pictureBox1.Image = bmp;

}

  5.指纹对比和声光控制键码

  this.axZKFPEngX1.CancelEnroll();

// string saveTemplates = this.textBox1.Text;

string curTempldates = this.axZKFPEngX1.GetTemplateAsString();

bool regChange = true;

//调用根据姓名查询指纹的方法

string old_zhiwen = ud.Login(txtname.Text);

if (this.axZKFPEngX1.VerFingerFromStr(ref old_zhiwen, curTempldates, false, ref regChange))

{

MessageBox.Show("登录成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

KongZhi(11, 0); //关闭绿灯

KongZhi(13, 1); //打开声音

KongZhi(12, 1); //打开红灯

KongZhi(13, 0); //关闭声音

KongZhi(12, 0); //打开红灯

KongZhi(11, 0); //关闭绿灯

KongZhi(13, 1); //打开声音

KongZhi(12, 1); //打开红灯

KongZhi(13, 0); //关闭声音

KongZhi(12, 0); //打开红灯

MessageBox.Show("登录失败!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);

}

  四、 整个操作过程视频:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线