2019独角兽企业重金招聘Python工程师标准>>>

原作者 panmingzhi

最近有个小区用到了虹软的人脸识别,效果还不错。又有一个项目要用人证访客对比,分享一下项目,希望可以帮到有需要的。

码字前先上项目地址:https://gitee.com/panmingzhi/IdCardFaceIdentifier

首先是读证的问题,我们使用的是华视CVR100U,公司已经用这个型号6年了,以前一卡通的资料都用它录,除了不好看,质量杠杠的。大部人的身份证都是很多年前办理的,所有比对的相似度不要太高。

视频采集还是使用的Aforge,使用 NewFrame 一方面要显示到实时画面,另一方面要异步的与当前读到的证件进行比对。这里请不尝试在NewFrame回调事件中直接显示到pictureBox,请使用如下方式,百试不爽:

private void VideoCaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)

    {Bitmap newFrame = (Bitmap)eventArgs.Frame.Clone();//如果使用视频文件请注释下面的这行代码,表示不对图像进行水平翻转newFrame.RotateFlip(RotateFlipType.Rotate180FlipY);lock (sync){if (currentFrame != null){currentFrame.Dispose();currentFrame = null;}currentFrame = newFrame;skinPictureBox2.Invalidate();}}

/**

    * 绘制当前帧到控制,必须与获取当前帧互斥*/private void skinPictureBox2_Paint(object sender, PaintEventArgs e){lock (synCurrentMat){Bitmap bitmap = GetCurrentFrame();if (bitmap != null){e.Graphics.DrawImage(bitmap, new Rectangle(0, 0, skinPictureBox2.Width, skinPictureBox2.Height), new Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel);}}}

//异步的人证对比时,使用此方法再获取实时截图

    public Bitmap GetCurrentFrame(){if (captureToken.Token.IsCancellationRequested) return null;lock (sync){return (currentFrame == null || currentFrame.Width == 0 || currentFrame.Height == 0) ? null : AForge.Imaging.Image.Clone(currentFrame);}}

份证的读取频率是每1秒读一次,读到证件后,10秒内为人证比对时间,这10秒将不再读证。10秒内比对成功,显示成功提示2-3秒后,重新再开始读证。

在读证时,如果证件被正确读取到后,要重新拿开再放置证件,这个在华视的产品说明书与SDK都有说明,其它厂家如鼎识也是一样的。

华视阅读器读到的身份证图片与证件信息默认保存在SDK目录下的wz.txt与wz.bmp,使用wz.bmp做比对时,经常报内存出错,后面我将bmp先转成jpg保存一次后再做人证比对,似乎就没问题。

证件比对时还是延续了之前方式,先将证件图片解析成FaceModel,然后将当前视频截图连续与些FaceModel比对,每次读到证件时都更新一次FaceModel。

/**

    * 转换人脸图片为人脸模板**/private FaceModel ToFaceModel(Bitmap bitmap){LocateResult locate;var code = _detection.Detect(bitmap, out locate);if (code == ErrorCode.Ok && locate.HasFace && locate.FaceCount == 1){using (var feature = _recognize.ExtractFeature(locate.OffInput, locate.Faces[0], locate.FacesOrient[0])){return feature.FeatureData;}}locate.Dispose();return null;}/*** 添加新的比对模型*/public void AddToCompare(Bitmap bitmap){log.Debug("添加新的比对模型");faceModel = ToFaceModel(bitmap);}/*** 截图比对证件*/public bool Match(Bitmap snapshot){var result1 = _processor.LocateExtract(snapshot);if(result1 == null || result1.Length <= 0){return false;}var sim = _processor.Match(result1[0].FeatureData, faceModel.Data, true);return sim > 0.7;}

这时截图:(本人不上像,鬼画桃胡将就一下)

1、提示放证 2、读到证件后立即比对 3、比对显示结果后将重新回到第一步

转载于:https://my.oschina.net/bangbangda/blog/3019600

基于人脸识别开发人证比对访客系统相关推荐

  1. 基于人脸识别技术实战开发人证比对访客系统

    2019独角兽企业重金招聘Python工程师标准>>> 最近有个小区用到了虹软的人脸识别,效果还不错.又有一个项目要用人证访客对比,分享一下项目,希望可以帮到有需要的. 码字前先上项 ...

  2. 人脸识别技术开发人证比对访客系统

    原作者 panmingzhi 最近有个小区用到了虹软的人脸识别,效果还不错.又有一个项目要用人证访客对比,分享一下项目,希望可以帮到有需要的. 码字前先上项目地址:https://gitee.com/ ...

  3. 基于人脸识别技术的人证比对访客系统

    最近有个小区用到了虹软的人脸识别,效果还不错.又有一个项目要用人证访客对比,分享一下项目,希望可以帮到有需要的. 码字前先上项目地址:https://gitee.com/panmingzhi/IdCa ...

  4. 智慧园区建设新方案:人脸识别智能门禁+手机梯控+访客管理系统

    传统的园区门卫管理存在安全漏洞多,服务水平低,频频发生的园区安全事件,使得园区提高自身治安手段和防范能力已经迫在眉睫. 办公园区等公共场所访客管理人员登记方式缺点: 1.人为管理因素大,可疑及闲杂人员 ...

  5. 使用Python实现基于人脸识别的上课考勤系统(一):数据录入端

    一.简介 这个人脸识别考勤签到系统是基于大佬的人脸识别陌生人报警系统二次开发的. 此处放一个大佬原项目GitHub链接:基于OpenCV的视频人脸识别[陌生人报警]系统 项目使用Python实现,基于 ...

  6. 人物关系 人脸识别_一种基于人脸识别系统的人物关系挖掘系统及方法与流程...

    本发明涉及人脸识别技术领域,具体涉及一种基于人脸识别技术进行人物关系挖掘的系统及其方法. 背景技术: 人脸识别作为生物身份识别的典型技术,由于不需要被检测个体的主动配合,近年来在人机交互,安防,身份认 ...

  7. 曾经做过的2个项目:图书销售管理系统和访客系统

    第三波书店 项目简介: 第三波书店项目为网上图书销售管理系统,包括前台图书的展示.图书购买下单.订单审核.付款等一套完善的电子商务管理系统.使用第三波书店项目,可以实现对注册用户,图书上架,图书分类的 ...

  8. 基于人脸识别的考勤系统开发

    在科学技术和经济快速发展的今天,企业规模不断扩大,考勤管理对企业的发展也变得相当重要.要更好地管理企业,一个简单.快速和有效的考勤系统必不可少的.基于实时图像处理的人脸识别是物联网技术应用的重要领域之 ...

  9. 基于人脸识别的门禁系统报告

    视频演示:基于人脸识别的门禁系统设计_哔哩哔哩_bilibili PPT汇报:基于人脸识别的门禁系统设计PPT汇报_猫猫爱吃小鱼的博客-CSDN博客 参考代码来源:Python 3 利用 Dlib 实 ...

最新文章

  1. B 站神曲damedane:精髓在于换脸,五分钟就能学会
  2. html如何调整背景图片大小_如何快速调整证件照背景色和大小!(简单快速)...
  3. j2ee之原生AJAX
  4. python输出总字符个数_python每次处理固定个数的字符的方法总结
  5. UIToolBar使用示例
  6. 去掉GaussView启动警告窗口的办法
  7. 易居(个人中心资料修改+实名认证)
  8. 快狗打车,打车新平台,这个猛!
  9. Mac OS 下的Vim使用系统剪切板
  10. Bing 无法访问临时解决方案
  11. 饿了么红包、美团优惠券开发
  12. python爬取武汉二手房房价
  13. 什么是域名解析?如何设置域名解析?
  14. 年度Java技术盘点,懂这些技术的程序员2019年薪资翻倍!
  15. 【20220623】【信号处理】深入理解Pearson相关系数和Matlab corr()、corrcoef()仿真
  16. Flash独立游戏人必备开源库大全
  17. 新时代下如何构建TDSQL-C数据库产品
  18. Go 简介、应用场景
  19. Ardunio编程时务必注意定义引脚的输出方式
  20. B19 - 999、大数据组件学习⑯ - ElasticSearch

热门文章

  1. 翁凯c语言字符串函数,C语言基础及指针⑥字符操作
  2. 57岁大妈别样的套路,开超市竟然去卖袋子?这点子让人佩服!
  3. 超市3D无人收银机来了,别人刷脸买单,你还在傻傻排队吗?
  4. 48小时突破110亿美元销售额,这些爆款是最大功臣!
  5. SSD算法原理介绍,包含算法结构、Loss计算、默认框计算几个方面
  6. 上交所技术——2020春招应用开发工程师(Java)笔试
  7. Python自动化--3.Python数据类型
  8. 基于java的校园网站论坛设计与实现(含源文件)
  9. 金牛座--最懂感情的星座
  10. iOS底层系列之<45>--内存管理<1>NSProxy的使用