可学习的多人人脸识别程序(基于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 # ...
随机推荐
- Google Code Style
Google开源项目的代码遵循的规范,见这,C++, OC. PS: vim的配色编辑用户主目录下的.vimrc即可.
- 统计 p-value 含义
p-value是一种概率:在原假设为真的前提下,出现该样本或比该样本更极端的结果的概率之和. 例子: 我们假设 H0:出现正面的概率是1/2 扔硬币20次出现了14次正面.该样本的单边p-value计 ...
- R语言学习笔记:因子(Factors)
因子提供了一个简单并且紧凑的形式来处理分类(名义上的)数据.因子用”水平level”来表示所有可能的取值.如果数据集有取值个数固定的名字变量,因子就特别有用. > g<-c("f ...
- HDU4614【线段树。】
果然看了理解了一下大牛的代码然后自己敲结果果然有不少错误 回复说,线段树做为一种数据结构,最好以一种风格过一题裸的然后作为自己的模板.. 二分写的也很恶心哪 还有题目稍复杂一点的注定得推敲各种公式,不 ...
- atoi函数的实现(考虑不同进制、溢出)
2013-07-08 16:21:15 atio就是将ASCII码表示的字符为int型数据,看似简单的问题,实际上需要考虑的很多.对于简单的问题,考虑是否全面就显得特别重要. 小结: 对于该函数的实现 ...
- messagePack编解码
首先引入javassist-3.20.0-GA.jar与msgpack-0.6.12.jar两个包,然后就可以使用. package com.ming.netty.code; import java. ...
- 在Tomcat上配置CAS 自己的体验
演示环境 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows732位 JDK 1.6.0_18 Tomcat 6.0.29 CAS-server-3.4 ...
- left (outer) join , right (outer) join, full (outer) join, (inner) join, cross join 区别
z -- -- select a.*,b.* from a left join b on a.k = b.k select a ...
- poj 3259 Wormholes(最短路 Bellman)
题目:http://poj.org/problem?id=3259 题意:一个famer有一些农场,这些农场里面有一些田地,田地里面有一些虫洞,田地和田地之间有路,虫洞有这样的性质: 时间倒流.问你这 ...
- SGU185 - Two Shortest
原题地址:http://acm.sgu.ru/problem.php?contest=0&problem=185 题目大意:给出一个无向图,求出从 1 到 n 的两条没有相同边的最短路径(允许 ...