OpenCV人脸识别+模板匹配OpenCV+CMake+codebook+windows

基于模板匹配算法实现人脸识别附 MATLAB 代码 模板匹配算法是一种常见的人脸识别方法之一,它通过将输入图像与已知的人脸模板进行比较,从而确定目标人脸的身份。在本篇文章中,我们将介绍如何使用 MATLAB 实现基于模板匹配算法的人脸识别,并提供相应的源代码。综上所述,本文介绍了如何使用 MATLAB 实现基于模板匹配算法的人脸识别,并提供了相应的源代码。人脸识别是一个复杂的研究领域,还有许要注意的细节和改进空间,比如对数据预处理、特征选择、匹配算法等方面的优化。接下来是匹配阶段,它涉及将待识别的人脸图像与数据库中的模板进行比较,并找到最佳匹配。 阅读详情

OpenCV人脸识别+模板匹配OpenCV+CMake+codebook+windows

ABSTRACT

The basic aim of the experiment was achieving the purpose that PC could recognize the face of human by using OpenCV. In introduction this article introduced how to set up the environment of OpenCV on code::blocks as well as the basic functions of OpenCV. In second section method (template matching and face recognizer) and debug would be discussed specifically. The experiment results and performance discussion were demonstrated at the section of results, discussion and conclusion.

INTRODUCTION

ENVIRONMENT SET UP

OpenCV is a free open source library, which packaged up lot of codes to about computer graph. With OpenCV, face recognizing could be easily done by few codes.

First of all, user should download OpenCV from official website. The latest version had been updated as 4.3.0. However, latest version was not the best choice in some cases. There was possible to have bugs in new version that nobody knew. Once users had met these bugs, it was quite difficult to debug. Researcher chose 3.4.1 and downloaded it on Baidu Netdisk. Then added the path of bin into system variable (or user variable for this user only).

Why CMake?

After downloading, users had to compile OpenCV and add the header files into code::blocks. However, for a large-scale project, the files consist was too complicated. These files were written in different time and by different people, even the developers could not know all of these files. Fortunately, “makefile” was provided for users. “makefile” could clearly describe the relationships between these files so that users could only compile and generate few files instead of compiling all. In this case development efficiency was observably promoted.

CMake is a tool for makefile. It read all source files and automatically generated files.
Users could operate it in cmd, but it also had GUI version for users who were not familiar with cmd. After installing CMake-GUI, it showed as figure 1:

在这里插入图片描述

There were two options. The first one was “where is the source code” and it should be the path of “sources” in OpenCV file. The other one was where to deposit the files that CMake generated. Users could simply build a new file. Then click “configure” and it showed as Figure (2):
在这里插入图片描述

Selected “CodeBlocks – MinGW Makefiles” and “Specify native compliers”. In this case users could select compiler as below:
在这里插入图片描述

Users could choose either MinGW32 or TDM-GCC. It was very important to choose right version that matched computer system. Although 32-bit OpenCV (with x86 file) could also run on 64-bit system, but it was likely to run out of memory. Therefore, chose 64-bit complier if the system was 64-bit.In addition, users could also select “Use default native compiler”, which meant configure files with the compiler that code::blocks was using (set compiler in code::blocks first).
在这里插入图片描述

Clicked “finish” and CMake would start configuring. In this process computer would download some files. If the network speed was not quick enough, it was likely to failed. The dealing method would be discussed in next section. After first configure done, there would be some red selections on scream, ticked “build opencv world” in order to build all libs in one compressed file. So that it would be convenient to add these files
into code::blocks.
在这里插入图片描述

在这里插入图片描述
The compiling would last for some time, once it had done, there would be a file named “install” in generating file. Opened it and found three files: include, bin and lib (path: install\x86 or x64\mingw). Opened code::blocks and selected setting-compiler-compiler setting-compiler flags, ticked below option to support C++11 standard (only gcc compiler over version 4.8 supported C++11!!):
在这里插入图片描述

Then clicked “Search directories”. Added “include” and also two files in it (opencv and opencv2) into Compiler. Added lib into Linker and added opencv_world.dll.a into Link libraries.

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

In this case, environment for OpenCV had set up. Researcher would introduce some basic functions of OpenCV, and these functions would help to completed face recognizing.

BASIC FUNCTION OF OPENCV

  1. Imread (“name + format”); //this function meat read a picture and give it to a Mat object.

  2. Imwrite (“name+format”,Mat object); //saved a picture as “name+format”.

  3. resize
    (intput_image,output_image,Size(x,y));
    //resized an image to width = x and height = y.

  4. rectangle
    (image, point, Scalar(color), 1, 8, 0); //draw a rectangle at point.

  5. putText
    (image, text, point, FONT_HERSHEY_COMPLEX, 1, Scalar(color)); //wrote text at point.

  6. matchTemplate(image, template_image, output_image, method);
    //compared image and template image.

  7. minMaxLoc (output_image, &minVal, &maxVal, &minPoint, &maxPoint); //minVal and maxVal were double format data. minPoint and maxPoint were point. With different method in match function, the double format data showed similarity of two images.

  8. model.detectMultiScale(image,faces,1.1,2,0 CV_HAAR_SCALE_IMAGE,Size()); //model was the face data model. Image was the image to recognize and recommended to be transferred to gray first. Faces was the vector data that stored face data. Size() was an area to detect when face was found and unnecessary to be large.

  9. Rect rect(point,x, y); new_image = image (rect) //take the part (from point, area = x * y) of image and stored it as new_image.

METHOD

Although the method of environment set up was clear, researcher had met many errors. The errors and dealing methods were recorded in this section. In the second part the face recognize method and codes were introduced.

ERROR AND DEBUG

It needed to download some files when configured with CMake. However, it was quite difficult without VPN. Researcher did not notice at the beginning and IDE report an error “could not found xxx.lib”. researcher found the lib files and they were all zero kb. Then researcher configured again and noticed that CMake reported that downloaded these files failed. For more information, researcher found “CMakeDownloadLog.txt” and all the download information was in it.

Found the lib or dll files that failed to download in txt, and it showed as below format:

do_coppy “name.dll” “ba9v90asdgb09870a” //first one was the file and second one was MD5.

“path” “website” //path was where to put the files and website was where to download.

在这里插入图片描述

Downloaded the files and renamed it as “MD5 + name”. If users had error in compiling or error like “could not find xxx.dll”, please checked these files and made sure they had been downloaded correctly.

In addition, code::blocks reported “thread and mutex is not defined”. There were two reasons that were possible to cause this problem. The first one was the compiler did not support C++11 standard, please upgraded it. The second reason was the code had defined thread and mutex after including them, just deleted that line.

After setting up environment, there were some error with researcher’s code. The first one was that “could not find face.hpp”. It was because face recognizing module was added into contrib file, which was not in OpenCV3 and needed to be downloaded by hand. Therefore, users downloaded it on official website and used CMake to configure again. This time users need to add the path of contrib file into CMake as below:

在这里插入图片描述

Then repeated the process and added the lib file of extra modules into code::blocks.

The second error was about importing the face data of OpenCV. There were many detectors in OpenCV and users only need to use an object of CascadeClassifier to load it as:

CascadeClassifier g_face_cascades;

g_face_cascades.load("haarcascade_frontalface_alt.xml")

however, the path of detectors must be relative path instead of absolute path. Researcher copy the xml file to the program file so that no path was needed.

The last error was about building face database and would be cussed in next section.

CODE

The purpose of researcher was to recognize human face and matched with template to recognize identity. In this case, researcher used the face detector in OpenCV to detect face and matched faces with the template image.

To decrease the calculate quantity, researcher used resize() to reduce pixel. Additionally, used react() to cut out faces and matched it with template image. In this case, computer only needed to match the faces in video with template image instead of matching the entire image.

As mentioned in introduction section, the double format data in minMaxLoc() showed the similarity of two images. Therefore, researcher set a threshold value of similarities. It meant it was not template person if the similarities were smaller than threshold value.

Code were shown in the end of report.

DISCUSSION

In this experiment, researcher used template matching method to identify. However, it was not accurate enough. If the threshold value was too small, computer would not be able to differentiate two people with similar appearance. In additional, computer could not recognize profile when the template image was directly opposite.

The accuracy problem was because the defect of template matching method and was difficult to solve. The second problem could be solved by using multi-images as templates. the identity was confirmed as long as threshold value was satisfied with even one image.

Another method to increase accuracy was to build face database. Using many pictures of a person to train a detector so that computer could recognize different people with different expression. To train a face model, users should prepare many pictures first (same size and gray). Put all pictures in one file and enter “dir /b/s *.jpg >at.txt” into cmd in this path. Change .jpg to the format of pictures. Then a txt named “at” was generate.

“at.txt” had recorded the path of each picture, users needed to add labels in each line (for different people: 0, 1, 2…). Researcher wrote a simple python program to finish this:

num = 1

count = 1

ff = open('D:\\facedata\\MIT-CBCL-facerec-database\\training-synthetic\\a.txt','w')

with open('D:\\facedata\\MIT-CBCL-facerec-database\\training-synthetic\\at.txt','r') as f:

    line = f.readlines()

    for line_list in line:

        line_new =line_list.replace('\n','')     //delete “/n”

        line_new=line_new+r';'+str(num)+'\n'   //add labels and “/n”

        print(line_new)

        ff.write(line_new)

        count=count + 1

        if count == 325:               //count: the number of people

            num=num+1             //num: the number of pictures (for each person)

            count = 1             

After this program done, a “a.txt” was generated. Then train these pictures by using “a.txt”:

int main()

{

    string fn_csv = "D:\\facedata\\MIT-CBCL-facerec-database\\training-synthetic\\a.txt";

    vector<Mat> images;   \\The path should be written with “\\” instead of “\”!

    vector<int> labels;

    read_csv(fn_csv, images, labels); //read data from a.txt

    Ptr<FaceRecognizer> model = createEigenFaceRecognizer();   

    model->train(images, labels);
  
    model->save("face_detect.xml");     
    }

The last error that researcher met was at this step. IDE reported “there was no createEigenFaceRecognizer in Ptr”. Researcher checked the Ptr codes and found the function should be EigenFaceRecognizer:: create(). The name was changing with different version. Therefore, codes could not run on different OpenCV version.

After training, there would be xml file generated. Used a model to read the file and use predict() to show the label. Specific code would not be discussed in this report.

CONCLUSION

In this experiment, researcher had reached the main purpose. Researcher learned how to install OpenCV(or other libraries) on code::blocks and also the basic function of OpenCV and successfully finished project of face recognizing.

Actually, coding was not as difficult as environment set up. However, this process had improved the abilities of consulting log and debugging.

APPENDICE

#include<iostream>

#include
<opencv2\opencv.hpp>

#include
<fstream>

#include
<sstream>

#include
<opencv2\face.hpp>

 

using
namespace cv;

using
namespace std;

using
namespace face;

 

 

 

int main()

 

{

    int facenum = 0;

 

    VideoCapture cap;

 

    Mat frame;

 

    Mat edges;

 

    Mat gray;

 

    Mat temframe;

 

    Mat dstImg;

 

    temframe = imread("template1.jpg");  //template image

 

    dstImg.create(temframe.dims,temframe.size,temframe.type());

 

    CascadeClassifier modelPCA;

 

    cout<<"read model"<<endl;

 

    modelPCA.load("haarcascade_frontalface_alt.xml");       //get model loaded

    

    cout<<"read done"<<endl;

 

    cap.open("me.mp4");

 

    while (1){

 

        cap>>frame;

              

        if (frame.empty())

       

              {break;}

 

        resize(frame,frame,Size(384,218));      //shrink the image by 50% to increase speed.

 

              vector<Rect> faces(0);      // face vector

 

              cvtColor(frame, gray, CV_BGR2GRAY);   //make the image gray

 

              equalizeHist(gray, gray);

 

              modelPCA.detectMultiScale(gray,faces,1.1,2,0 CV_HAAR_SCALE_IMAGE,Size(30,30));

 

              Mat face;

 

              Mat myface;

 

              Point text_lb;

 

 

              for (size_t i = 0; i <faces.size(); i++)

 

              {

 

                     if (faces[i].height > 0 && faces[i].width > 0)

 

                     {


                          face = gray(faces[i]);

                          text_lb = Point(faces[i].x, faces[i].y);

                          rectangle(frame, faces[i], Scalar(255, 0, 0), 1, 8, 0);

                          ect rect(faces[i].x,faces[i].y,faces[i].height,faces[i].width);       // take the area of face and match it with template image, in order to decrease calculated quantity

                        

       	myface = frame(rect);

                        

	resize(myface,myface,Size(57,57));

                

	cv::matchTemplate(myface, temframe, dstImg, 1);

                

	cv::Point minPoint;

                

	cv::Point maxPoint;

                

	double minVal = 0;

                

	double maxVal = 0;

                

	cv::minMaxLoc(dstImg, &minVal, &maxVal, &minPoint,&maxPoint);

                

	cout<<minVal<<endl;

                

	if(minVal<0.1)     // if matched, wrote "pepe". otherwise wrote "somebody"

                    {

                    putText(frame, "pepe", Point(faces[i].x, faces[i].y), FONT_HERSHEY_COMPLEX, 1, Scalar(0, 0, 255));

                    }

                else

                    {

                        putText(frame, "somebody", Point(faces[i].x, faces[i].y), FONT_HERSHEY_COMPLEX, 1, Scalar(0, 0, 255));

                    }

 

                     }

          }

              imshow("face.detector", frame);

              waitKey(10);

    }

   return 0;
   }
(cmake最全的书)cmake.pdf cmake大全,详细介绍了cmake的安装、配置、使用;可谓是不可多得好书,网上很多只介绍了一部分,这本书从基础到高级,都有介绍 立即下载

相关推荐

codebook主题

在codebook中使用sublime等等各种主题,如果默认主题不满意

人脸检测-基于模板匹配的实现

在人脸检测-基于肤色检测的实现一文中,我们以人脸具有肤色的特征作为实现的起点,通过在YCrCb色彩空间下肤色具有聚类性的特点,采用简单高斯模型对肤色进行数学建模,实现了肤色分割,最后用较为简单的方法对肤色区域进行判断,从而实现人脸的检测。但是这种方法检测率、误检率都不是很高,因此采用模板匹配的方法,对肤色分割后的肤色区域进行人脸匹配,匹配率较高的,认为是人脸。模板匹配的关键点在于得到标准的模板。

我只是一个单纯的2的博客 2万+

基于opencv模板匹配的人脸识别

基于opencv模板匹配的人脸识别

人脸识别主要算法原理

人脸识别主要算法原理 主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。 1. 基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果; 2. 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。 3. 基于模型的方法则有基于隐马尔柯夫模型,主动形状

liulina603的专栏 19万+

CMOS图像传感器系列--(四)HDR之LOFIC技术

CMOS图像传感器HDR技术之LOFIC解析 LOFIC(横向溢出积分电容器)技术是当前高动态范围成像的重要方案,通过在像素光电二极管旁设置高密度电容器收集溢出电荷,有效保留高光细节。该技术采用特殊像素结构,通过skim level触发电荷转移,实现单帧HDR成像。然而LOFIC存在显著局限性:高光区域噪声明显且难以消除,动态范围拓展不均衡(主要优化亮部),需复杂MIM工艺导致成本升高。为应对挑战,行业提出混合方案(如结合DCG技术)和工艺改进方向。OmniVision最新车载传感器OX08D10就采用了L

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 5788

知识图谱本体建模之RDF、RDFS、OWL详解

(一)知识图谱本体建模之RDF、RDFS、OWL详解 1.语义网体系 知识图谱于2012年由Google提出,并不是新概念,而是由语义网络(Semantic Network)衍生而来。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系。RDF,RDFS与OWL都是基于语义网的知识表示框架,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。RDF,RDFS/OWL 属于语义网技术栈,它们的提出,使得语义网克服了语义网络的缺点。其语义网技术栈如下所示。 2.RD

周周的专栏 1万+

人脸识别之人脸识别技术综述

参考:http://www.xuehuile.com/thesis/9a81f680054441ad907934b07b465c8e.html,本文做了相关修改。 1 人脸识别技术概述     近年来,随着计算机技术的迅速发展,人脸自动识别技术得到广泛研究与开发,人脸识别成为近30年里模式识别和图像处理中最热门的研究主题之一。人脸识别的目的是从人脸图像中抽取人的个性化特征,并以此来识别人的身...

工作笔记 2万+

微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码

微信小程序wx.getUserProfile接口废了用什么代替,微信小程序wx.getUserProfile不能用了怎么办,wx.getUserProfile失效有什么替代方案吗,微信新规定头像昵称填写最新教程,目前微信小程序最新获取用户头像昵称教程,微信小程序用户头像昵称获取规则调整公告,2022改版后的微信小程序如何获取用户头像和昵称信息,微信小程序官方废弃getUserProfile后如何实现获取用户信息,微信小程序wx.getUserProfile接口返回了默认头像昵称,微信小程序获取用户信息不

🏆 前端领域优质创作者 2万+

基于模板匹配的人脸识别系统(Python)

此外,国外的研究人员还关注人脸识别系统的隐私和安全问题,提出了一些新的技术和方法,如基于加密和匿名技术的人脸识别系统和基于多模态融合的人脸识别系统等。因此,国内研究人员可以借鉴国外研究的经验和成果,进一步关注深度学习和云计算等方面的研究,同时也需要加强对人脸识别系统的隐私和安全问题的研究,以推动模板匹配算法在人脸识别领域的应用和发展。系统设计与实现:基于Python语言,设计和实现人脸识别系统的核心算法和功能模块,实现图像的读取、处理、显示和保存等功能。2.4 Django介绍 5。

毕业作品网站 970

量化交易零基础入门教程

特点 从零开始教编程。靠谱的量化交易学习资源稀少,且具有不讲编程、代码较难、过多等不适合新手等问题,本教程中则会从零开始教编程,解决量化入门过难过编程门槛这一问题。 量化与编程相结合。本教程不仅会教编程,而且会尽量结合量化情景,减少“我要做量化交易为什么要看这些用来培训程序员的东西”的愤懑。 简易精炼,快速入门。尽量只讲最核心最常用的知识,助你快速摆脱想学习量化却处处陌生不知所措的茫然的新手阶段。 读前说明 文后会有自测与自学,包括一些额外的延伸自学内容以及稍有难度的自测题目。 最最最基础的股票.

JanLEE 2885

NR PUCCH(二)PUCCH format 2/3/4

继续看PUCCH2/3/4:PUCCH format 0和1所携带的信息bits少,UCI bits2bits,信息bit需要经过编码等过程下面分别来看。

ModemProtocol的博客 537

cmake创建codeblocks项目

cmake导入codeblocks项目

youlinhuanyan的博客 2028

滑模观测器与锁相环结合应用:让电机“无感”也能精准旋转的奥秘

本文介绍了永磁同步电机无传感器控制中的滑模观测器(SMO)结合锁相环(PLL)技术。SMO通过创建虚拟电机模型,利用电流误差产生控制信号来估计反电动势;PLL则从反电动势中解码转子位置和速度信息。该组合方案兼具SMO的鲁棒性和PLL的高精度,计算量小且硬件要求低。文章详细阐述了原理、数学模型、参数整定方法及实际实现技巧,包括离散化处理、符号函数替代等优化手段,并分析了低速性能限制、抖振问题等常见挑战及解决方案。最后指出该技术未来将与人工智能、多观测器融合等方向结合发展。

汽车软件开发 193

cmake 生成 CodeBlocks 配置

CMake -G"CodeBlocks - MinGW Makefiles" 命令不会生成一个工作空间 多个工程的环境。 单个工程可以包括多个项目 这里要说明的是单个工程如何配置常用属性 前提工程去掉选项   项目->Properties 中 this is a custom Makefiles, 如果不去掉的 话默认是 make 编译 去掉的话是g++编译,可以在Build Op

五彩铅笔 4223

大数据领域数据产品的交通运输行业应用

您是否经历过早高峰被堵在桥上,看着导航显示“前方5公里缓行”却无能为力?是否见过货车司机绕远路导致成本飙升?这些“交通痛点”的背后,是传统交通管理依赖经验决策的局限。本文将聚焦“大数据数据产品”这一核心工具,从技术原理到实际应用,全面解析它如何为交通运输行业“开天眼”,解决从城市拥堵到物流效率的一系列难题。本文将按照“问题引入→概念拆解→技术原理→实战案例→应用场景→未来趋势”的逻辑展开,用生活化比喻降低理解门槛,用代码和数学模型提升专业性,最终帮您建立“大数据+交通”的完整认知框架。交通数据。

操作系统内核探秘的博客 236

C# 开发实战:深度解析 13.56MHz 射频卡读写应用

本文详细介绍了如何在 C# 环境下开发 13.56MHz 射频卡的读写应用。通过 ACR122U 作为硬件设备,结合 C# 提供的 COM 组件或 SDK,我们能够实现对射频卡的读取与写入功能。在实际开发中,开发者还需要根据具体应用场景选择合适的卡片类型与设备,并注意性能优化和异常处理。随着技术的发展,RFID 技术的应用场景会越来越广泛,开发者可以根据不同需求,灵活扩展读写功能,实现更加智能化和自动化的系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1600

[人工智能] 使用百度 API 读取身份证照片的文字

一、前言百度的文字识别每天只有几百次识别是免费的,超出就要收费了,就当作玩玩吧 这是之前写的,就当作给百度做一次推销吧 二、代码与效果①需求: 现在要识别奥巴马这张假的身份证照片 ②代码实现package test;import java.util.HashMap;import org.json.JSONObject;import com.baidu.aip.ocr.AipOcr;publi

IT小村 6460

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

百度ocr文字识别编码时遇到的错误

最近在做项目是遇到百度ocr文字识别编码时的错误,搜索好久,不见有效解决方案,故在解决后记了下来。。。。 首先一定是去看文档了http://apistore.baidu.com/apiworks/servicedetail/969.html。 可是当你去设置imageType这个参数时,你发现文档是这么写的  图片资源类型, 1.表示经过BASE64编码后的字串,然后需要经过urlencode

WXwxxC的博客 9370

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

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

CMake Cookbook笔记(12/23未完待续,游戏服务器观点阅读,编译器及指令集不涉及)

一、配置环境(略) 二、从可执行文件到库 1)将单个源码文件编译为可执行文件 2)切换生成器(-G) 三、检测环境 四、检测外部库和程序 五、创建和运行测试 六、配置时和构建时的操作 七、生成源码 八、构建项目 九、超级构建模式 十、语言混合项目 十一、编写安装程序 十二、打包项目 十三、构建文档 十四、选择生成器和交叉编译 十五、测试面板 十六、使用CMake构建已有项目 十七、备注

谢白羽 1347

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【OpenCV学习笔记01】- 初步使用OpenCV实现人脸识别

初步使用OpenCV实现人脸识别,基础实战

移动的130 3399

超详细!Opencv人脸识别!附源码!

人脸识别

qq_1033275663的博客 3431

Opencv实战:人脸识别

保姆级教程,利用opencv库,快速实现人脸识别。

weixin_44686138的博客 1万+

手把手教你opencv做人脸识别(附源码+文档)_opencv人脸识别代码(1)

由于篇幅限制,小编在此截出几张知识讲解的图解本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取最新讲解视频+实战项目源码】](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)收录**需要这份系统化的资料的朋友,可以点击这里获取。

2401_84584609的博客 1269

OpenCV人脸识别项目(训练+测试)

OpenCV人脸识别项目(训练+测试)

呵呵哒!的博客 4864

使用OpenCV工具包成功实现人脸检测与人脸识别,包括传统视觉和深度学习方法(附完整代码,模型下载......)

使用OpenCV自带的人脸检测和人脸识别方法成功实现传统视觉和深度学习两种方式的效果,并进行了对比,应该是全网最全的整理了

分享技术笔记,记录学习研发历程 1万+
下一篇: 树莓派循迹+图片识别(模板匹配)小车 C++
求你早点睡吧
博客等级 码龄7年 131粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值