使用C++语言,基于opencv的人脸识别

  基于OpenCV的人脸识别,主要是用到了训练好的haarcascade_frontalface_default.xml文件,这是OpenCV自带的开源库文件,只需要加载进程序之中即可。 

#include 

#include 

 

using namespace std;

using namespace cv;

 

//训练文件路径

//Note:路径需要用双右下划线,即"\\"

string xmlPath = "F:\\OpenCV\\opencv\\build\\etc\\haarcascades\\haarcascade_frontalface_default.xml";

 

int main(int argc,char** atgv) {

	Mat img = imread("face.jpg");

	imshow("input image", img);

 

	CascadeClassifier detector;

	detector.load(xmlPath);

	if (!detector.load(xmlPath))   //加载训练文件  

	{

		cout << "不能加载指定的xml文件" << endl;

		return -1;

	}

	vector faces;

	detector.detectMultiScale(img, faces, 1.1, 3, 0, Size(30, 30));

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

		rectangle(img, faces[t], Scalar(0, 0, 255), 2, 8);

	}

	imshow("Result", img);

 

	waitKey(0);

	return 0;

}

 

 

 

你可能感兴趣的:(使用C++语言,基于opencv的人脸识别)