• 大小: 12.42MB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2023-07-12
  • 语言: C#
  • 标签: 人脸识别  

资源简介

利用Emgu.CV实现人脸识别详解 (C#)--附源码,一、准备工作 1、 摄像头。 文章地址:http://blog.csdn.net/u011616825/article/details/51620061

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.Util;
using Emgu.CV.Cuda;
using System.Diagnostics;
using Emgu.CV.UI;
using System.IO;

namespace 门禁识别
{
    public partial class faceDetect : Form
    {
        Mat matImg;//摄像头图像
        Capture capture;//摄像头对象

        Util.KingFaceDetect kfd;
        public faceDetect()
        {
            InitializeComponent();
            CvInvoke.UseOpenCL = false;
            kfd = new Util.KingFaceDetect();
            try
            {
                capture = new Capture();
                capture.Start();//摄像头开始工作
                capture.ImageGrabbed += frameProcess;//实时获取图像
            }
            catch (NullReferenceException excpt)
            {
                MessageBox.Show(excpt.Message);
            }
        }
        
        private void Form2_Load(object sender EventArgs e)
        {
            
        }

        private void frameProcess(object sender EventArgs arg)
        {
            matImg = new Mat();
            capture.Retrieve(matImg 0);
            picShow.Image = matImg.Bitmap;
        }

        private void timer1_Tick(object sender EventArgs e)
        {
            markFaces();//100毫秒检测一次人脸
        }
        private void markFaces()
        {
            try
            {
                picShow.Image = kfd.faceRecognize(capture.Queryframe()).originalImg.Bitmap;
            }
            catch
            {
            }
        }

        private void 获取样本图片_Click(object sender EventArgs e)
        {
            if (fullname.Text == ““)
            {
                MessageBox.Show(“请输入样本姓名。“);
            }
            else
            {
                string filePath = Application.StartupPath + “/trainedFaces/“ + fullname.Text + “_“ + System.Guid.NewGuid().ToString() + “.jpg“;
                sampleBox.Image.Save(filePath);
                MessageBox.Show(“样本保存完毕。“);
            }
        }


        int currentFaceFlag = 0;
        Util.KingFaceDetect.faceDetectedObj currentfdo;//点击鼠标时的人脸检测对象
        private void sampleBox_Click(object sender EventArgs e)
        {
            currentfdo = kfd.GetFaceRectangle(capture.Queryframe());
            currentFaceFlag = 0;
            getCurrentFaceSample(0);
        }

        private void getCurrentFaceSample(int i)
        {
            try
            {
                fullname.Text = ““;
                Image result = currentfdo.originalImg.ToImage().Copy(currentfdo.facesRectangle[i]).Resize(100 100 Emgu.CV.CvEnum.Inter.Cubic);
                result._EqualizeHist();//灰度直方图均衡化
                sampleBox.Image = result.Bitmap;
            }
            

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-02-01 10:47  门禁识别\
     目录           0  2018-02-01 10:46  门禁识别\门禁识别\
     文件        1137  2016-06-09 10:51  门禁识别\门禁识别\App.config
     文件         529  2016-06-09 00:40  门禁识别\门禁识别\Program.cs
     目录           0  2016-06-09 10:54  门禁识别\门禁识别\Properties\
     文件        1402  2016-06-09 10:54  门禁识别\门禁识别\Properties\AssemblyInfo.cs
     文件        2876  2016-06-04 23:17  门禁识别\门禁识别\Properties\Resources.Designer.cs
     文件        5612  2016-06-04 23:17  门禁识别\门禁识别\Properties\Resources.resx
     文件        1099  2016-06-04 23:17  门禁识别\门禁识别\Properties\Settings.Designer.cs
     文件         249  2016-06-04 23:17  门禁识别\门禁识别\Properties\Settings.settings
     目录           0  2016-06-09 10:56  门禁识别\门禁识别\Util\
     文件        6851  2016-06-09 10:56  门禁识别\门禁识别\Util\KingFaceDetect.cs
     文件        1387  2016-06-06 20:39  门禁识别\门禁识别\Util\TTS.cs
     目录           0  2016-06-05 00:55  门禁识别\门禁识别\bin\
     目录           0  2018-02-01 10:43  门禁识别\门禁识别\bin\Debug\
     文件      117760  2016-02-05 02:19  门禁识别\门禁识别\bin\Debug\Emgu.CV.UI.dll
     文件       34738  2016-02-05 02:19  门禁识别\门禁识别\bin\Debug\Emgu.CV.UI.xml
     文件      508416  2016-02-05 02:19  门禁识别\门禁识别\bin\Debug\Emgu.CV.World.dll
     文件     1377392  2016-02-05 02:19  门禁识别\门禁识别\bin\Debug\Emgu.CV.World.xml
     文件      188416  2007-09-07 23:48  门禁识别\门禁识别\bin\Debug\ICSharpCode.SharpZipLib.dll
     文件       70656  2016-06-09 10:56  门禁识别\门禁识别\bin\Debug\King.dll
     文件      112128  2016-06-09 10:56  门禁识别\门禁识别\bin\Debug\King.pdb
     文件      391168  2015-04-13 09:51  门禁识别\门禁识别\bin\Debug\NAudio.dll
     文件     1443840  2012-05-03 22:24  门禁识别\门禁识别\bin\Debug\NPOI.dll
     文件      307200  2016-01-12 03:14  门禁识别\门禁识别\bin\Debug\ZedGraph.dll
     文件     1492968  2016-01-12 03:14  门禁识别\门禁识别\bin\Debug\ZedGraph.xml
     文件      341406  2016-01-12 03:16  门禁识别\门禁识别\bin\Debug\haarcascade_eye.xml
     文件      930127  2016-01-12 03:16  门禁识别\门禁识别\bin\Debug\haarcascade_frontalface_default.xml
     文件       82944  2016-06-09 10:56  门禁识别\门禁识别\bin\Debug\iFlyDotNet.dll
     文件       38400  2016-06-09 10:56  门禁识别\门禁识别\bin\Debug\iFlyDotNet.pdb
     目录           0  2016-06-07 22:57  门禁识别\门禁识别\bin\Debug\trainedFaces\
............此处省略53个文件信息

评论

共有 条评论