日期:2014-05-17  浏览次数:20951 次

「玩一玩」用 C# 做简单的人脸识别
纠结了半天,要不要发到图像论坛

鉴于这个东西没有任何理论分析之类,只是利用现成的库和训练库,主要是如何用 C# 实现,所以就发这里吧


老货存档

------------看起来像分割线的东西---------


老规矩,先上 DEMO 和源码 (需要安装 EmguCV 库)


点我下载

准备工作


下载 EmguCV

傻瓜安装后,把 bin 目录添加到环境变量里去

比如安装在 X:\EmguCV\ 目录下,就在命令行输入这句话


PATH X:\EmguCV\bin;%PATH%



EmguCV 和 OpenCV

(这段话来自百度)



引用
OpenCV 的全称是:Open Source Computer Vision Library



OpenCV于1999年由 Intel 建立,现在由 Willow Garage 提供支持。

OpenCV 是一个基于 BSD 许可证授权(开源)发行的跨平台计算机视觉库,

可以运行在 Linux、Windows 和 Mac OS 操作系统上。

它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,

同时提供了 Python、Ruby、MATLAB 等语言的接口,

实现了图像处理和计算机视觉方面的很多通用算法。


EmguCV 简单来说就是 C# 版本的 OpenCV


人脸识别

理论的东西,我还真不太了解,总之就是利用 EmguCV 的层叠识别加人脸训练库,然后对图像进行分析

现成的训练库我放到源码里了,haarcascade_eye.xml 和 haarcascade_frontalface_alt_tree.xml

下面是做出来的玩意




多来点人试试




来点搞笑的,在纸上画一个小人,也识别出来了,看来以后冒充别人拿张照片在摄像头前晃晃就行




抛砖引玉,希望大家多找点乐子,不要一天到晚总是 3 层、CS、DataGrid、存储过程。。

公司的事情留在公司就行,别太执着。。

------解决方案--------------------
漂亮,支持一个
------解决方案--------------------
感谢分享,推荐下。
------解决方案--------------------
EmguCV 很强大.....感谢楼主分享..
------解决方案--------------------
收藏。
------解决方案--------------------
纸上画一个小人
------解决方案--------------------
恩恩  楼主很强大
------解决方案--------------------
感谢楼主
------解决方案--------------------
真的不错。 支持LZ。
我觉得LZ的马赛克亮了~  很亮~
------解决方案--------------------
good。 不错。 学习了。
------解决方案--------------------
 楼主很强大
------解决方案--------------------
公司的事情留在公司就行,别太执着。。
------解决方案--------------------
great job!
------解决方案--------------------
非常感谢
------解决方案--------------------