利用openCV提供的库,在Qt上实现简单人脸识别的功能
本文结合了网上许多文章,稍有改动:
基本库的介绍
openCV中提供的人脸识别的内容主要是基于Haar特征和LBP特征训练的xml格式的分类器,利用这个分类器可以实现简单的人脸识别的功能
开始新建一个Widget项目
为了节省大家的时间,直接贴代码,代码中有丰富的注释,有任何问题欢迎评论
这是main.cpp文件
/*
* opencv提供的根据Haar特征和LBP特征训练的xml格式的分类器
* 在OpenCV的安装目录下的sources文件夹里的data文件夹里可以看到下图所示的内容(opencv\sources\data\haarcascades )
* 使用的库为libopencv_objdetect.so,这个是我遇到undefined的错误添加的,除了这个库还有一些基本的库要添加
*/
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <QDebug>
using namespace std;
using namespace cv;
int main()
{
Mat image, image_gray; //定义两个Mat变量,用于存储每一帧的图像
VideoCapture capture(0); //从摄像头读入视频
while (1) //循环显示每一帧
{
capture >> image; //读取当