可学习的多人人脸识别程序(基于Emgu CV)

源代码下载(需要安装Emgu CV,安装方法请百度)
很多朋友使用Emgu CV遇到CvInvoke()的报错,我找到一种解决方法。
把EmguCV目录下bin里面的所有dll复制到C:\WINDOWS\SYSTEM32文件夹下,这样就OK了。
如果还不OK,试试把dll复制到程序目录(\Debug)下。
我这是玩玩而已,欢迎高手指教,但别说我这没意思。hello world也没意思,每天无数人照写。
刚刚学着老外的作品做了一个。嗯,没错,自从有了Emgu CV,模式识别的做法和模式简直成了标准。
当然,这给我这样图像处理还给老师很多年的差生来说,是个福音。
人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。
人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。
我预期的设计目标是
- 检测人脸
- 学习检测到的人脸
- 利用学习库认人
- 支持摄像头和图片文件输入
做了1个多小时,目前只支持摄像头。已经完成了1、2、3功能,有些使用上的细节还没有调整。
效果如下(用了火箭队的图,其实我真心不是篮球迷)

已知bug
- 误识,如果学习库容量太少,那么会出现把好几个人认成同一个人,随着容量增大问题消失
- 重复识别,对认人来说不影响(认出2次和认出1次有太大区别吗)
- 功能不全(我只能说请看本贴标题)
使用方法
- 确定你要有摄像头
- 选择webcam模式
- 建议选择「auto stop」在识别出内容后会自动停止
- 「start/stop」开始/暂停
- 「Learn」可以吧识别到的(如果你觉得效果好)脸存起来
- 给脸改名字(Emgu CV的Draw方法绘制的文字是不支持中文的,使用下面的代码完成中文人名绘制)
- 在摄像头面前跑跑,看能不能认出你来。
绘制中文人名
Dictionary<string, Rectangle> foundPeople = new Dictionary<string, Rectangle>(); float xfactor;
float yfactor; private void imageBox_Paint(object sender, PaintEventArgs e)
{
if (foundPeople.Count > )
{
// 缩放
xfactor = (float)imageBox.Width / (float)current.Bitmap.Width;
yfactor = (float)imageBox.Height / (float)current.Bitmap.Height; foreach (string name in foundPeople.Keys)
{
e.Graphics.DrawString(
name,
this.Font,
Brushes.Red,
foundPeople[name].X * xfactor,
foundPeople[name].Y * yfactor);
}
}
}
效果如下

(全文完)
可学习的多人人脸识别程序(基于Emgu CV)的更多相关文章
- 关于运行“基于极限学习机ELM的人脸识别程序”代码犯下的一些错误
代码来源 基于极限学习机ELM的人脸识别程序 感谢文章主的分享 我的环境是 win10 anaconda Command line client (version 1.6.5)(conda 4.3.3 ...
- 基于Dlib、OpenCV开发人脸识别程序的开发建议
前言 在去年十月的时候参加了一个小比赛,做了一个人脸识别程序并很意外地获得省里面的一等奖,视频演示链接在这里,有同学想要做这方面的毕业设计or课程设计,发一篇博客来分享一下当时的开发过程. 视频演示链 ...
- Dome 多人人脸识别 face_recognition
Dome 多人人脸识别 face_recognition 注意 face_recognition 依赖 face_recognition_models 中文字体文件需要自己下载 1.多人人脸识别 # ...
- 人脸识别系统 —— 基于python的人工智能识别核心
起因 自打用python+django写了一个点菜系统,就一直沉迷python编程.正好前几天公司boss要我研究一下人脸识别,于是我先用python编写了一个人脸识别系统的核心,用于之后的整个系统. ...
- 【从零学习openCV】IOS7人脸识别实战
前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集 ...
- ng-深度学习-课程笔记-14: 人脸识别和风格迁移(Week4)
1 什么是人脸识别( what is face recognition ) 在相关文献中经常会提到人脸验证(verification)和人脸识别(recognition). verification就 ...
- 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯:毕业于东南大学,曾就职于华为,熟悉云行业解决方案 ...
- ubuntu16.04环境下安装配置openface人脸识别程序
参考http://blog.csdn.net/weixinhum/article/details/77046873 最近项目需要用到人脸训练和检测的东西,选用了OpenFace进行,因而有此文. 本人 ...
- 基于opencv的人脸识别程序
1. 解析opencv自带人脸识别源码(……/opencv-3.1.0/samples/cpp/facedetect.cpp) @ 操作系统:Ubuntu 15.04 OpenCV版本:3.1.0 # ...
随机推荐
- Oracl 动态执行表不可访问,本会话的自动统计被禁止
oracle ---建立SQL窗体 写入 select * from tableA; 弹出错误窗口 : 动态执行表不可访问,本会话的自动统计被禁止.在执行菜单里你可以禁止统计,或在v$session, ...
- SRM588
250: 有n首歌每首歌有duration和tone,连续唱m首歌会消耗每首歌的duration以及相邻两首歌的tone的差的绝对值的和,给个T,问说在T时间内最对能唱多少歌. 将歌按tone排序后发 ...
- CentOS5.5上安装git
1.尝试用yum安装git失败 [root@localhost usr]# yum install gitLoaded plugins: fastestmirrorLoading mirror spe ...
- Android开发之自定义组合控件
自定义组合控件的步骤1.自定义一个View,继承ViewGroup,比如RelativeLayout2.编写组合控件的布局文件,在自定义的view中加载(使用View.inflate())3.自定义属 ...
- gitHub for windows设置网络代理
在公司网络环境下使用gitHub,一直出错,因为公司使用的代理.但是gitHub for windows无法设置代理. 可以通过C:\Users\admin\.gitconfig中,添加代理. 添加: ...
- Codeforces 380A - Sereja and Prefixes
原题地址:http://codeforces.com/problemset/problem/380/A 让期末考试整的好久没有写题, 放假之后由于生病也没怎么做,新年的第一场CF也不是那么在状态,只过 ...
- 先前设定的sa密码忘记了,如何修改sa密码?
在window身份验证登陆后,新建查询,输入以下代码就可以修改sa密码了: use master go exec sp_password null,'123456','sa' go
- Ext入门学习系列(五)表格控件(2)
上节学习了Ext中表格控件,从创建,到定义数据源.绑定显示,大体明白了一个基本的表格控件是怎么实现的.而我们用表格控件多用于从各种数据源接收数据并显示出来,并不是写死的.本章我们就不同数据源的不同实现 ...
- Javascript 知识点简介
如何在HTML中引入JS? 所有重定向的HTML标签内都可以嵌入javascript代码. 浮点数不要用 == 来进行判断 var num=0; for(var i=0;i<10;i++) ...
- SpringSide 3 中的多数据源配置的问题
在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难.最直接的例子就是关于在项目中使用多个数据源的问题,似乎很难搞.在上一篇中,我探讨了 ...