38-简单人脸识别案例(EmguCV学习)

实时多人人脸检测和识别 Emgu CV OpenCV 然后将探测图像与面部数据进行比较。所有图像处理算法都需要大量的计算能力,在这种情况下,使用此软件原型的 CPU 进行的内部处理对于速度较慢或单核 CPU 来说非常困难,提高此演示性能的简单方法是修改使用的参数该DetectHaarCascade方法可以减少网络摄像头捕获的实时图像的迭代次数、关键部分和比较次数,从而显着提高应用程序性能。面部识别是一种计算机应用程序,由使用数学和矩阵技术的复杂算法组成,这些算法以光栅模式(数字格式)获取图像,然后使用不同的方法逐像素处理和比较,以获得更快、更可靠的结果。 阅读详情

简单人脸识别案例

emmm

终于敲了一遍了,到这儿教学视频的实践就结束了~, 视频质量还行,值得一看~

Record

1、常用的人脸识别方法:基于PCA变换的人脸识别(EigenFaceRecognizer)、基于Fisher变换的人脸识别(FisherFaceRecognizer)、基于局部二值模式的人脸识别(LBPHFaceRecognizer);
2、基本步骤:①使用人脸检测类对训练图片进行提取,将训练图片归一化到相同大小;②创建PCA人脸分类器,对处理好的训练图片(必须是灰度图)进行训练;③调用predict()函数进行人脸识别;
3、训练图片的样本最好在100张以上;
在这里插入图片描述

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Emgu.Util;
using Emgu.CV.Util;
using System.Drawing;
using Emgu.CV.Face;

namespace Lesson38
{
    class Program
    {
        static void Main(string[] args)
        {
            //DataSet数据格式化
            //Console.WriteLine("Please enter face id: ");
            //string strID = Console.ReadLine();
            //Console.WriteLine("Your face id is : {0}", strID);
            //Console.WriteLine("Please enter sample num: ");
            //string strNum = Console.ReadLine();
            //Console.WriteLine("Sample num is : {0}", strNum);

            //CascadeClassifier face_cascade = new CascadeClassifier("haarcascade_frontalface_alt.xml"); //加载人脸分类器
            //Mat faceImg = CvInvoke.Imread("./刘亦菲/1 (2).jpg");
            //Mat gray = new Mat();
            //CvInvoke.CvtColor(faceImg, gray, ColorConversion.Bgr2Gray);
            ////CvInvoke.EqualizeHist(gray, gray); //直方图均衡化避免亮度偏暗或偏亮

            //Rectangle[] facesDetect = face_cascade.DetectMultiScale(gray, 1.1, 2, new Size(50, 50));
            //foreach (Rectangle face in facesDetect)
            //{
            //    CvInvoke.Rectangle(faceImg, face, new MCvScalar(0, 255, 0), 2); //矩形标注
            //    Mat faceROI = new Mat(gray, face);
            //    CvInvoke.Resize(faceROI, faceROI, new Size(75, 75));
            //    string savePath = string.Format("DataSet/{0}_{1}.jpg", strID, strNum);
            //    CvInvoke.Imwrite(savePath, faceROI);
            //}

            //CvInvoke.Imshow("FaceDetect", faceImg);
            //CvInvoke.WaitKey(0);

            //训练样本
            //批量读取无序图片
            //记得添加using System.IO;
            //var files = Directory.GetFiles("./DataSet", "*.jpg"); //文件夹下jpg类型文件 
            //foreach (var file in files)
            //    Console.WriteLine(file);

            //DirectoryInfo dir = new DirectoryInfo("./DataSet");
            //FileInfo[] afi = dir.GetFiles("*.*");
            //string fileName;
            //VectorOfMat images = new VectorOfMat(); //Mat图像集合
            //VectorOfInt labels = new VectorOfInt(); //int类型ID标签集合
            //for (int i = 0; i < afi.Length; i++)
            //{
            //    fileName = afi[i].Name.ToLower();
            //    if (fileName.EndsWith(".jpg"))
            //    {
            //        //Console.WriteLine(fileName); //1_1.jpg
            //        //Console.WriteLine("./DataSet/" + fileName);
            //        string[] strArray = fileName.Split('_');
            //        int index = Convert.ToInt32(strArray[0]);
            //        Mat img = CvInvoke.Imread("./DataSet/" + fileName, 0); //以灰度模式读取
            //        images.Push(img); //将图像加入到图像集合
            //        int[] a = (index).ToString().Select(s => int.Parse(s.ToString())).ToArray(); //格式化ID
            //        labels.Push(a); //将ID加入到ID集合
            //    }
            //}
            //FaceRecognizer model = new EigenFaceRecognizer(); //创建人脸识别类为EigenFaceRecognizer类
            //model.Train(images, labels); //人脸识别分类器训练(最少2个不同人脸ID)
            //model.Write("./xml/faceData.xml"); //将训练好的分类器保存为xml文件
            //Console.WriteLine("train finished!");

            //人脸识别
            //string xmlPath = "./xml/faceData.xml"; //训练好的xml文件路径
            //FaceRecognizer model = new EigenFaceRecognizer(); //创建人脸识别类为EigenFaceRecognizer类
            //model.Read(xmlPath);//加载人脸识别分类器

            //CascadeClassifier face_cascade = new CascadeClassifier("haarcascade_frontalface_alt.xml"); //加载人脸分类器
            //Mat faceImg = CvInvoke.Imread("./刘亦菲/1 (19).jpg");
            ////Mat faceImg = CvInvoke.Imread("./黄晓明/1 (15).jpg");
            //Mat gray = new Mat();
            //CvInvoke.CvtColor(faceImg, gray, ColorConversion.Bgr2Gray);
            ////CvInvoke.EqualizeHist(gray, gray); //直方图均衡化避免亮度偏暗或偏亮

            //Rectangle[] facesDetect = face_cascade.DetectMultiScale(gray, 1.1, 2, new Size(50, 50));
            //foreach (Rectangle face in facesDetect)
            //{
            //    CvInvoke.Rectangle(faceImg, face, new MCvScalar(0, 255, 0), 2); //矩形标注
            //    Mat faceROI = new Mat(gray, face);
            //    CvInvoke.Resize(faceROI, faceROI, new Size(75, 75));
            //    FaceRecognizer.PredictionResult predictionResult = new FaceRecognizer.PredictionResult(); //定义识别结果类其中包含ID和相似距离
            //    predictionResult = model.Predict(faceROI); //人脸预测识别,返回ID和相似距离
            //    int ID = predictionResult.Label; //获取识别到的人脸ID,ID和DB中的姓名对应起来
            //    string strName = "UnKnown";
            //    if (ID == 1)
            //        strName = "Huang Xiaoming";
            //    else if (ID == 2)
            //        strName = "Liu Yifei";
            //    CvInvoke.PutText(faceImg, strName, new Point(face.X, face.Y), FontFace.HersheySimplex, 0.8,
            //                        new MCvScalar(255, 0, 255), 2);
            //}

            //CvInvoke.Imshow("FaceDetect", faceImg);
            //CvInvoke.WaitKey(0);

            //中文标识姓名
            Mat nameImg1 = CvInvoke.Imread("Name1.png");
            Mat nameImg2 = CvInvoke.Imread("Name2.png");
            Mat nameImg3 = CvInvoke.Imread("Name3.png");
            string xmlPath = "./xml/faceData.xml"; //训练好的xml文件路径
            FaceRecognizer model = new EigenFaceRecognizer(); //创建人脸识别类为EigenFaceRecognizer类
            model.Read(xmlPath);//加载人脸识别分类器

            CascadeClassifier face_cascade = new CascadeClassifier("haarcascade_frontalface_alt.xml"); //加载人脸分类器
            //Mat faceImg = CvInvoke.Imread("./刘亦菲/1 (2).jpg");
            Mat faceImg = CvInvoke.Imread("./黄晓明/1 (1).jpg");
            //Mat faceImg = CvInvoke.Imread("1.jpg");
            Mat gray = new Mat();
            CvInvoke.CvtColor(faceImg, gray, ColorConversion.Bgr2Gray);
            //CvInvoke.EqualizeHist(gray, gray); //直方图均衡化避免亮度偏暗或偏亮

            Rectangle[] facesDetect = face_cascade.DetectMultiScale(gray, 1.1, 2, new Size(50, 50));
            foreach (Rectangle face in facesDetect)
            {
                CvInvoke.Rectangle(faceImg, face, new MCvScalar(0, 255, 0), 2); //矩形标注
                Mat faceROI = new Mat(gray, face);
                CvInvoke.Resize(faceROI, faceROI, new Size(75, 75));
                FaceRecognizer.PredictionResult predictionResult = new FaceRecognizer.PredictionResult(); //定义识别结果类其中包含ID和相似距离
                predictionResult = model.Predict(faceROI); //人脸预测识别,返回ID和相似距离
                int ID = predictionResult.Label; //获取识别到的人脸ID,ID和DB中的姓名对应起来
                Mat nameROI = new Mat(faceImg, new Rectangle(face.X, face.Y - nameImg1.Rows, nameImg1.Cols, nameImg1.Rows));
                if (ID == 1)
                    nameImg1.CopyTo(nameROI);
                else if (ID == 2)
                    nameImg2.CopyTo(nameROI);
                else
                    nameImg3.CopyTo(nameROI);
            }

            CvInvoke.Imshow("FaceDetect", faceImg);
            CvInvoke.WaitKey(0);

            //视频人脸识别
            //VideoCapture cap = new VideoCapture(0);
            //if (!cap.IsOpened)
            //{
            //    Console.WriteLine("Open video failed!");
            //    return;
            //}
            //Mat frame = new Mat();
            //Mat gray = new Mat();
            //while (true)
            //{
            //    cap.Read(frame);
            //    if (frame.IsEmpty)
            //    {
            //        Console.WriteLine("frame is empty ...");
            //        break;
            //    }
            //    Mat result = FaceRecFunc(frame);
            //    CvInvoke.Imshow("video", result);
            //    if (CvInvoke.WaitKey(30) == 27)
            //        break;
            //}
        }
        static Mat FaceRecFunc(Mat faceImg)
        {
            Mat result = faceImg.Clone();
            string xmlPath = "./xml/faceData.xml"; //训练好的xml文件路径
            FaceRecognizer model = new EigenFaceRecognizer(); //创建人脸识别类为EigenFaceRecognizer类
            model.Read(xmlPath);//加载人脸识别分类器

            CascadeClassifier face_cascade = new CascadeClassifier("haarcascade_frontalface_alt.xml"); //加载人脸分类器
            Mat gray = new Mat();
            CvInvoke.CvtColor(faceImg, gray, ColorConversion.Bgr2Gray);
            //CvInvoke.EqualizeHist(gray, gray); //直方图均衡化避免亮度偏暗或偏亮
            try
            {
                Rectangle[] facesDetect = face_cascade.DetectMultiScale(gray, 1.1, 2, new Size(50, 50));
                foreach (Rectangle face in facesDetect)
                {
                    CvInvoke.Rectangle(result, face, new MCvScalar(0, 255, 0), 2); //矩形标注
                    Mat faceROI = new Mat(gray, face);
                    CvInvoke.Resize(faceROI, faceROI, new Size(75, 75));
                    FaceRecognizer.PredictionResult predictionResult = new FaceRecognizer.PredictionResult(); //定义识别结果类其中包含ID和相似距离
                    predictionResult = model.Predict(faceROI); //人脸预测识别,返回ID和相似距离
                    int ID = predictionResult.Label; //获取识别到的人脸ID,ID和DB中的姓名对应起来
                    string strName = "UnKnown";
                    if (ID == 1)
                        strName = "Huang Xiaoming";
                    else if (ID == 2)
                        strName = "Liu Yifei";
                    CvInvoke.PutText(result, strName, new Point(face.X, face.Y), FontFace.HersheySimplex, 0.8,
                                        new MCvScalar(255, 0, 255), 2);
                }
            }
            catch { }
            return result;
        }
    }
}


效果

在这里插入图片描述
在这里插入图片描述

C#EmguCV人脸识别技术的实现 Emgu.CV 人脸识别技术的实践应用 阅读详情

相关推荐

使用EMgu检测人脸

null时,检测到人脸。在NuGet中,查找并安装EMgu。首先,声明几个重要的类。

liuyuehui的专栏 414

利用Emgu.CV实现人脸识别详解 (C#)--附源码

本文由:姚磊岳(leiyue_yao@163.com)于2016-6-9撰,转载请保留作者信息。          最近需要实现一个基于生理特征的门禁准入系统,其中一个环节就是要用到人脸识别。虽说人脸识别的算法已经非常成熟,网络上也有很多专业的介绍,但从零做起工作量还是太大,所以想找一些现成的控件。上网一搜,还真发现了不少:如果是基于移动端的android开发,科大讯飞的人脸识别插件应

技术+管理+经验+沟通+人品=>合格的项目管理者 5万+

C#人脸识别技术:从理论到实践

本文还有配套的精品资源,点击获取 简介:C#人脸识别技术是IT领域重要的计算机视觉应用,本篇将详细介绍C#实现人脸识别的技术路径,包括OpenCV库的使用、Haar级联分类器的面部检测、Eigenface与Fisherface的人脸识别方法、深度学习在面部检测中的应用、以及如何实现实时人脸识别。同时,会探讨安全性与隐私问题,并举例说明人脸识别的应用案例。本教程还涉及优化与性...

weixin_35294091的博客 1439

c#结合emgucv进行人脸检测_机器视觉入门(17)之emgucv实现人脸识别

第三节 又一个EmguCV程序:人脸识别对于用惯了halcon的玩家,对emguCV其实应该是各种不习惯的,特别是数据类型,我本来准备了一个例子,结果最后一个方法的地方因为数据类型的问题,搞了半天没成功,如果绕开那个方法,整个例子又少了一大亮点,所以我干脆不讲那个例子了。。。这一节我们可以学习下emguCV某些厉害的地方。比如人脸识别。用halcon做人脸识别貌似是比较麻烦的,用emguCV就方便...

weixin_39742065的博客 1141

EmguCV基于C#的人脸识别实验指南

计算机视觉是计算机科学的一个分支,它旨在让机器能够通过分析图像或视频来感知和理解周围的世界。EmguCV是一个开源的跨平台.Net封装库,它封装了OpenCV的C++库,允许开发者在.NET环境中实现复杂的计算机视觉应用。EmguCV库支持多种编程语言,如C#、VB.NET和F#,而且它与多种开发环境兼容,包括Visual Studio和Mono。

weixin_36444661的博客 1077

RK3588与银河麒麟V10 SP1 2403深度适配:国产化硬件与操作系统的完美融合

本文深入探讨了RK3588处理器与银河麒麟V10 SP1 2403操作系统的深度适配,展示了国产化硬件与操作系统的完美融合。通过性能验证和实际应用测试,证明了这套组合在多媒体处理、AI推理和日常办公中的卓越表现,实现了完全自主可控的计算平台。

weixin_29194255的博客 248

html5与EmguCV前后端实现——人脸识别篇(一)

  上个月因为出差的关系,断更了很久,为了补偿大家长久的等待,送上一个新的系列,之前几个系列也会抽空继续更新。   大概半年多前吧,因为工作需要,我开始研究图像识别技术。OpenCV在这方面已经有了很多技术积累,在html5领域也很早就有了这方面的Demo。但是一番学习下来,我发现基本上这方面的文章大都比较零散片面,而且很多关键的代码可能已经老化不能正常使用了。所以这个系列的文章中,我将对htm...

weixin_33721344的博客 189

KEGG数据库与KAAS工具:基因功能注释的实用指南

本文提供了使用KEGG数据库与KAAS工具进行基因功能注释的完整实用指南。详细阐述了如何从准备基因或蛋白序列开始,通过KAAS服务器获取KEGG Orthology(KO)编号,并解读注释结果。文章进一步介绍了如何利用KOBAS工具进行通路富集分析,将定性观察转化为定量洞察,并分享了提高注释准确率、处理大数据集及使用API等避坑技巧与高阶方法,为基因组学、转录组学研究者奠定坚实的数据分析基础。

weixin_29292535的博客 390

基于emgucv的人脸检测及识别

文章目录前言一、窗体设计二、代码部分三、结果四、总结 前言 这是该系列文章的第二篇。本篇文章主要实现的功能是对人脸进行检测及识别。人脸检测部分用的算法是级联分类器,人脸识别部分用的LBPH算法。识别精度可以媲美普通学校用的人脸识别系统,话不多说,上代码 一、窗体设计 二、代码部分 using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Face; using Emgu.CV.Structure; using Emgu.CV.Util; using Syst

bookshu6的博客 2323

cartographer基于3d地图的纯定位模式

关于纯定位模式呢,本人试过2d和3d,怎么说呢,有条件的话,建议直接上3d,因为博主当初在做定位时针对室内和室外都尝试过,2d只在室内环境下效果会很棒,但是在室外就呵呵啦!所以这里直接讲解3d室外定位(建图篇请自己查看我之前的博客:[3d建图](https://blog.youkuaiyun.com/qq_40216084/article/details/105531983) 看了我之前的博客大概知道配置文件和源文件路径了,我这里就不把路径写出来了,挺麻烦的。直接讲怎么做把,有不懂的留言,看到了我一定知无不言。 **首

qq_40216084的博客 5552

Ubuntu22.04系统安装及配置

下载Ubuntu22.04系统镜像(下载地址:链接:https://caiyun.139.com/m/i?提取码:fLRJ),结合rufus和系统镜像制作USB启动盘,在物理机服务器上通过USB启动盘进行安装;或通过Esxi虚拟化平台创建虚拟机,然后在虚拟机中使用系统镜像进行安装。

cheagoun的博客 8万+

Emgu CV4图像处理之打开Tensorflow训练模型17(C#)

4 添加项目引用Emgu.CV.dll、Emgu.CV.Platform.NetFramework.dll、System.Drawing.dll和System.Runtime.InteropServices.RuntimeInformation.dll。经过多方测试,发现flt[0, 0, x, 1]是识别结果信息,flt[0, 0, x, 2]为识别的分值;2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下。win10 64位。3 项目选择x64。

zxy13826134783的博客 1592

完整IC设计流程解析&Makefile学习

本文介绍了decorder38项目的文件结构、自动化综合流程和Makefile使用方法。项目包含RTL到GDSII全流程文件,重点关注syn目录中的综合脚本。通过make dc命令运行综合流程,生成网表、约束和时序文件。关键报告如qor.rpt、area.rpt和min_vio.rpt用于分析综合质量、面积和时序。Makefile部分解释了其基本语法、IC设计中的典型结构,包括目标定义、命令执行和特殊声明,强调了其在自动化构建和依赖管理中的重要性。

m0_63352623的博客 855

EmguCV学习笔记 VB.Net 第5章 图像变换

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。5.1.4 翻转Flip。5.1.2 Rotate旋转。教程配套文件及相关说明。获得pdf教程和代码。

学习微软 .net 技术开发 1442

计算机考研408复试题汇总

TCP连接是全双工的,两端都可以先挥手 其中一端完成数据发送任务后,发送一个FIN包来终止,另一端针对这个FIN包回复确认包, 直到另一端也发送请求终止数据包FIN,另一端作出确认应答,并且还要发送一个ACK=1表示确认号有效,如果没有收到这个就可以进行重传.

ca1m4n的博客 1万+

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 357

完整opencv(emgucv)人脸、检测、采集、识别、匹配、对比

//成对几何直方图匹配 public static string MatchHist() { string haarXmlPath = @"haarcascade_frontalface_alt_tree.xml"; HaarCascade haar = new HaarCascade(haarXmlPa...

weixin_30438813的博客 728

【2026年华为暑期实习(AI)-4月29日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要涵盖了机器学习和深度学习中的多个核心概念与技术,包括非负矩阵分解、条件数、MobileNet创新点、LDA降维、大模型评测指标、半精度训练、多任务学习、GPU存储层次、正则化、张量并行等。通过12道单选题和8道多选题的形式,系统性地考察了相关理论原理、应用场景及工程实践要点。题目设计注重概念准确性(如LDA目标函数)、技术细节(如Megatron-LM的并行策略)与实际应用(如FP16训练动机),并包含概率统计(二项分布)和数值计算(微分误差分析)等数学基础内容,全面检验读者对AI领域关键知识的掌握

m0_73659489的博客 142

Emgu.CV训练自己的hog特征,可实现任意物体的检测

emgu.cv自行训练HOG,目前最详细的一篇C#资料

技术+管理+经验+沟通+人品=>合格的项目管理者 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

c#结合emgucv进行人脸检测_从零开始构建:使用CNN和TensorFlow进行人脸特征检测

作者 | Shubham Panchal译者 | 孟翔杰来源 | DeepHub IMBA出品 | AI科技大本营(rgznai100)人脸检测系统在当今世界中具有巨大的用途,这个系统要求安全性,可访问性和趣味性!今天,我们将建立一个可以在脸上绘制15个关键点的模型。人脸特征检测模型形成了我们在社交媒体应用程序中看到的各种功能。您在Instagram上找到的面部过滤器是一个常见的用例。该算法将掩膜...

weixin_39847728的博客 510

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C#使用Emgu CV来进行图片人脸检测

源码下载地址:https://download.youkuaiyun.com/download/5653325/11938711 项目需求:某市级组织考试,在考试前需审核考生采集表中的考生照片是否合格,由于要审核的考生信息采集表有很多,原先进行的是手动人工审核,比较费时费力,审核的要求也很简单,并不判断考生是否是图片本人(身份验证有另外一套程序来进行),只是看考生采集表中考生头像是否是人脸(是否存在辨识不清...

5653325的专栏 1414

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

c#结合emgucv进行人脸检测_Java机器学习库(OpenCV)(级联分类器实现人脸识别)...

级联分类器这里简单的介绍一下级联分类器的概念。以人脸识别为例,为了提高人脸检测的速度和精度,最终的分类器是通过几个强分类器级联得到,这就是所说的级联分类器。在一个级联分类系统中,对于每一个输入图片,顺序通过每个强分类器,前面的强分类器相对简单,其包含的弱分类器也相对较少,后面的强分类器逐级复杂,只有通过前面的强分类检测后的图片才能送入后面的强分类器检测,比较靠前的几级分类器可以过滤掉大部分的不合格...

weixin_39829307的博客 332

opencv特征脸方法(Eigenface)

eigenvalue :特征值 特征值算法基本是将人脸识别算法推向真正可用的第一种方法, 其主要工作步骤如下: 1)将训练集的每一个人脸图像都拉长一列,将他们组合在一起形成一个大矩阵A。假设每个人脸图像是MxM大小,那么拉成一列后每个人脸样本的维度就是d=MxM大小了。假设有N个人脸图像,那么样本矩阵A的维度就是dxN了。 2)将所有的N个人脸在对应维度上加起来,然后求个平均,就得到了一个“平均脸...

qq_24884193的博客 1696

利用Emgu.CV实现人脸识别详解 (C)--附源码(可直接运行成功)

利用Emgu.CV实现人脸识别详解 (C#)--附源码(可直接运行成功) 去发现同类优质开源项目:https://gitcode.com/ 资源简介 本资源提供了一个利用Emgu.CV库实现人脸识别的详细教程,并附带了完整的源代码。该源码可以直接运行,帮助你快速上手人脸识别的开发。 内容概述 一、准备工作 摄像头:确保你有一个可用的摄像头设备,用于捕捉实时视频流。 二、实现步骤 环境配置:详...

gitblog_09717的博客 493

使用python3.7和opencv4.1来实现人脸识别和人脸特征比对以及模型训练

第二步,就是为模型训练收集训练数据,还是通过摄像头逐帧来收集,在脚本运行过程中,会提示输入用户id,请从0开始输入,即第一个人的脸的数据id为0,第二个人的脸的数据id为1,运行一次可收集一张人脸的数据。第三步,对收集下来的人脸数据进行模型训练,提取特征,训练后,会将特征数据保存在项目目录中的face_trainer文件夹下面。一开始,我们可以简单的在摄像头中识别人的脸部和眼镜,原来就是用opencv内置的分类器,对直播影像中的每一帧进行扫描。这样就可以用国内的源来下载安装包。首先安装一些依赖的库。

刘悦的技术博客 4404
上一篇: 37-简单人脸检测实例(EmguCV学习)
下一篇: QTCreator部分快捷键
hellohake
博客等级 码龄10年 4543粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值