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

时间:2022-06-23 08:40:54

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

源代码下载(需要安装Emgu CV,安装方法请百度)

很多朋友使用Emgu CV遇到CvInvoke()的报错,我找到一种解决方法。

把EmguCV目录下bin里面的所有dll复制到C:\WINDOWS\SYSTEM32文件夹下,这样就OK了。

如果还不OK,试试把dll复制到程序目录(\Debug)下。

我这是玩玩而已,欢迎高手指教,但别说我这没意思。hello world也没意思,每天无数人照写。

刚刚学着老外的作品做了一个。嗯,没错,自从有了Emgu CV,模式识别的做法和模式简直成了标准。

当然,这给我这样图像处理还给老师很多年的差生来说,是个福音。

人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。

人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

我预期的设计目标是

  1. 检测人脸
  2. 学习检测到的人脸
  3. 利用学习库认人
  4. 支持摄像头和图片文件输入

做了1个多小时,目前只支持摄像头。已经完成了1、2、3功能,有些使用上的细节还没有调整。

效果如下(用了火箭队的图,其实我真心不是篮球迷)

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

已知bug

  1. 误识,如果学习库容量太少,那么会出现把好几个人认成同一个人,随着容量增大问题消失
  2. 重复识别,对认人来说不影响(认出2次和认出1次有太大区别吗)
  3. 功能不全(我只能说请看本贴标题)

使用方法

  1. 确定你要有摄像头
  2. 选择webcam模式
  3. 建议选择「auto stop」在识别出内容后会自动停止
  4. 「start/stop」开始/暂停
  5. 「Learn」可以吧识别到的(如果你觉得效果好)脸存起来
  6. 给脸改名字(Emgu CV的Draw方法绘制的文字是不支持中文的,使用下面的代码完成中文人名绘制)
  7. 在摄像头面前跑跑,看能不能认出你来。
绘制中文人名
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)

(全文完)

 
 
 
标签: C#图形机器视觉

可学习的多人人脸识别程序(基于Emgu CV)的更多相关文章

  1. 关于运行&OpenCurlyDoubleQuote;基于极限学习机ELM的人脸识别程序”代码犯下的一些错误

    代码来源 基于极限学习机ELM的人脸识别程序 感谢文章主的分享 我的环境是 win10 anaconda Command line client (version 1.6.5)(conda 4.3.3 ...

  2. 基于Dlib、OpenCV开发人脸识别程序的开发建议

    前言 在去年十月的时候参加了一个小比赛,做了一个人脸识别程序并很意外地获得省里面的一等奖,视频演示链接在这里,有同学想要做这方面的毕业设计or课程设计,发一篇博客来分享一下当时的开发过程. 视频演示链 ...

  3. Dome 多人人脸识别 face&lowbar;recognition

    Dome 多人人脸识别 face_recognition 注意 face_recognition 依赖 face_recognition_models 中文字体文件需要自己下载 1.多人人脸识别 # ...

  4. 人脸识别系统 —— 基于python的人工智能识别核心

    起因 自打用python+django写了一个点菜系统,就一直沉迷python编程.正好前几天公司boss要我研究一下人脸识别,于是我先用python编写了一个人脸识别系统的核心,用于之后的整个系统. ...

  5. 【从零学习openCV】IOS7人脸识别实战

    前言 接着上篇<IOS7下的人脸检測>,我们顺藤摸瓜的学习怎样在IOS7下用openCV的进行人脸识别,实际上非常easy,因为人脸检測部分已经完毕,剩下的无非调用openCV的方法对採集 ...

  6. ng-深度学习-课程笔记-14&colon; 人脸识别和风格迁移&lpar;Week4&rpar;

    1 什么是人脸识别( what is face recognition ) 在相关文献中经常会提到人脸验证(verification)和人脸识别(recognition). verification就 ...

  7. 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯:毕业于东南大学,曾就职于华为,熟悉云行业解决方案 ...

  8. ubuntu16&period;04环境下安装配置openface人脸识别程序

    参考http://blog.csdn.net/weixinhum/article/details/77046873 最近项目需要用到人脸训练和检测的东西,选用了OpenFace进行,因而有此文. 本人 ...

  9. 基于opencv的人脸识别程序

    1. 解析opencv自带人脸识别源码(……/opencv-3.1.0/samples/cpp/facedetect.cpp) @ 操作系统:Ubuntu 15.04 OpenCV版本:3.1.0 # ...

随机推荐

  1. hdu 2232 矩阵 &ast;&ast;&ast;

    一天四个不同的机器人a.b.c和d在一张跳舞毯上跳舞,这是一张特殊的跳舞毯,他由4个正方形毯子组成一个大的正方形毯子,一开始四个机器人分别站在4 块毯子上,舞蹈的每一步机器人可以往临近(两个毯子拥有同 ...

  2. Dynamics AX Read OLEDB

    static System.Data.DataTable getOLEDB_Record(str _dbPath,str _query) { System.Data.OleDb.OleDbConnec ...

  3. C&plus;&plus;类静态成员变量和const常量的初始化方法

    C++类静态成员变量和const常量在定义类的时候就必须初始化,否则都会编译出错. 而具初始化方法为: C++类静态成员变量初始化方法 #include <iostream> #inclu ...

  4. docker 镜像管理

    docker:/root# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official bui ...

  5. hdu4861(游戏)

    数论问题:试题 题目没有看懂,但是解题方法感觉的确是非常巧妙的,应该是属于数论一方面的试题. 试题分析: 首先是DouBiNan先取,所以肯定优先选取剩余中值最大的,于是不存在说DouBiNan值小的 ...

  6. 用TTL线在CFE环境下拯救半砖wrt54g路由器

    缘起:路由器被刷成半砖 Linksys wrt54gs v4路由器,已刷入 tomato-dualwlan 1.23.使用数年,未出现任何故障. 在日用的wifi网络上,通过web界面刷入了错误的to ...

  7. linux udev、mdev 介绍

    Udev介绍 Udev的下载网址:http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/ Udev分为三个子计划:namedev,libs ...

  8. Canvas绘制五角星

    from tkinter import * import math as m root = Tk() w = Canvas(root, width=200, height=100, backgroun ...

  9. Docker防主机意外断电导致容器实例无法驱动解决方案:UPS &vert;&vert; write barrier &vert;&vert; 上btrfs定期snapshot

    Write barrier - Wikipediahttps://en.wikipedia.org/wiki/Write_barrier R大在在介绍CMS时提到了write barrier写屏蔽的概 ...

  10. vue项目初始化时npm run dev报错webpack-dev-server解决方法

    vue项目初始化时npm run dev报错webpack-dev-server解决方法 原因:这是新版webpack存在的BUG,卸载现有的新版本webpack,装老版本就好webpack-dev- ...