• 大小: 16.77MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-06-30
  • 语言: C#
  • 标签: emgu  人脸识别  

资源简介

此文章试用于移动的人脸识别,能够选中人脸,眼睛。用的是emgu3.0,如果运行错误的情况下,里面有两点需要修改,Emgu里面X86X64,需要复制到DeBug目录下,Xml文件属性,复制到输出目录更改为-》如果较新则复制。就可以运行了。如有其他问题,请留言,一起探讨。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using Emgu.CV;
using Emgu.CV.Structure;
#if !(IOS || NETFX_CORE)
using Emgu.CV.Cuda;
#endif

namespace FaceRecognition
{
    public static class DetectFace
    {
        public static void Detect(
          Mat image String faceFileName String eyeFileName
          List faces List eyes
          bool tryUseCuda bool tryUseOpenCL
          out long detectionTime)
        {
            Stopwatch watch;//记录代码运行时间

#if !(IOS || NETFX_CORE)
            if (tryUseCuda && CudaInvoke.HasCuda)
            {
                using (CudaCascadeClassifier face = new CudaCascadeClassifier(faceFileName))

                using (CudaCascadeClassifier eye = new CudaCascadeClassifier(eyeFileName))

                {
                    face.ScaleFactor = 1.1;//图像缩放比例,可以理解为同一个物体与相机距离不同,其大小亦不同,必须将其缩放到一定大小才方便识别,该参数指定每次缩放的比例
                    face.MinNeighbors = 10;//对特征检测点周边多少有效点同时检测,这样可避免因选取的特征检测点太小而导致遗漏
                    face.MinobjectSize = Size.Empty;
                    eye.ScaleFactor = 1.1;
                    eye.MinNeighbors = 10;
                    eye.MinobjectSize = Size.Empty;
                    watch = Stopwatch.StartNew();
                    using (CudaImage gpuImage = new CudaImage(image))
                    using (CudaImage gpuGray = gpuImage.Convert())
                    using (GpuMat region = new GpuMat())
                    {
                        face.DetectMultiScale(gpuGray region);
                        Rectangle[] faceRegion = face.Convert(region);
                        faces.AddRange(faceRegion);
                        foreach (Rectangle f in faceRegion)
                        {
                            using (CudaImage faceImg = gpuGray.GetSubRect(f))
                            {
                                //For some reason a clone is required.
                                //Might be a bug of CudaCascadeClassifier in opencv
                                using (CudaImage clone = faceImg.Clone(null))
                                using (GpuMat eyeRegionMat = new GpuMat())
                                {
                                    eye.DetectMultiScale(clone eyeRegionMat);
                                    Rectangle[] eyeRegion = eye.Convert(eyeRegionMat);
                                    foreach (Rectangle e in eyeRegion)
                                    {
                                        Rectangle eyeRect = e;
                                        eyeRect.Offset(f.X f.Y);
                                        eyes.Add(eyeRect);
                                    }
                                }
                            }
                        }
                    }
                    watch.Stop();
            

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     20992  2017-11-22 16:57  FaceRecognition\.vs\FaceRecognition\v14\.suo

     文件        189  2017-11-22 16:40  FaceRecognition\FaceRecognition\App.config

     文件      66048  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.Cuda.dll

     文件     194048  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.Cuda.pdb

     文件     144172  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.Cuda.xml

     文件       8192  2015-06-24 03:20  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.DebuggerVisualizers.VS2010.dll

     文件       8192  2015-06-24 03:20  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.DebuggerVisualizers.VS2012.dll

     文件     363008  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.dll

     文件    1064448  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.pdb

     文件     114688  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.UI.dll

     文件     136704  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.UI.pdb

     文件      34738  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.UI.xml

     文件    1061179  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.CV.xml

     文件      18432  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.Util.dll

     文件      34304  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.Util.pdb

     文件      17339  2017-11-21 15:51  FaceRecognition\FaceRecognition\bin\Debug\Emgu.Util.xml

     文件      12288  2017-11-22 16:57  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.exe

     文件       1542  2017-11-22 16:57  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.exe.config

     文件      26112  2017-11-22 16:57  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.pdb

     文件      22696  2017-11-22 16:58  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.vshost.exe

     文件       1542  2017-11-22 16:57  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.vshost.exe.config

     文件        490  2017-03-19 05:00  FaceRecognition\FaceRecognition\bin\Debug\FaceRecognition.vshost.exe.manifest

     文件     341406  2017-11-22 16:49  FaceRecognition\FaceRecognition\bin\Debug\haarcascade_eye.xml

     文件     930127  2017-11-22 16:49  FaceRecognition\FaceRecognition\bin\Debug\haarcascade_frontalface_default.xml

     文件   13839360  2015-06-29 23:40  FaceRecognition\FaceRecognition\bin\Debug\x64\cvextern.dll

     文件    1498624  2015-06-29 23:40  FaceRecognition\FaceRecognition\bin\Debug\x64\cvextern_test.exe

     文件     660128  2013-10-05 12:58  FaceRecognition\FaceRecognition\bin\Debug\x64\msvcp120.dll

     文件     963232  2013-10-05 12:58  FaceRecognition\FaceRecognition\bin\Debug\x64\msvcr120.dll

     文件    9720042  2014-07-24 21:56  FaceRecognition\FaceRecognition\bin\Debug\x64\opencv_ffmpeg300_64.dll

     文件   10999808  2015-06-24 02:51  FaceRecognition\FaceRecognition\bin\Debug\x86\cvextern.dll

............此处省略51个文件信息

评论

共有 条评论