CodeBlocks配置opencv(c++人脸识别)

CodeBlocks配置opencv其实非常简单
就是要CodeBlocks连接上opencv的库
就是添加.so文件
settings–>complier settings–>Linker setings
在这里插入图片描述
点击add,旁边有个文件浏览,进入usr/local/lib/
就会看到好多libopencv_xxxx.so的文件,建议把所有的.so文件都加进去
直接全选添加,然后ok

这样就完成了CodeBlocks配置opencv

下面我们试一个人脸是识别的例程
此处一定要加上#include <opencv2/objdetect/objdetect.hpp>
不然CascadeClassifier会报错

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/objdetect/objdetect.hpp>

using namespace cv;
using namespace std;


CascadeClassifier face_cascader;
String filename = "/home/pi/opencv-3.4.3/data/haarcascades_cuda/haarcascade_eye_tree_eyeglasses.xml";   //官方训练好的文件

int main()
{
    if (!face_cascader.load(filename))
	{
		printf("could not load face featuew data...\n");
	}
	VideoCapture capture(0);
	Mat frame;
	Mat gray;
	vector<Rect> faces;
	while (1)
	{
		capture >> frame;

		cvtColor(frame, gray,COLOR_BGR2GRAY);
		equalizeHist(gray, gray);
		face_cascader.detectMultiScale(gray, faces, 1.2, 3, 0, Size(50, 50));
		for (size_t t = 0; t < faces.size(); t++)
		{
			rectangle(frame, faces[static_cast<int>(t)], Scalar(0, 0, 255), 2, 8, 0);
		}
		imshow("人脸识别", frame);
		printf("1");
		char c = waitKey(100);
		if (c == 27)
		{
			break;
		}
	}

	capture.release();
	waitKey(0);
	return 0;
}

运行结果成功了
截图我就不放了。

猜你喜欢

转载自blog.csdn.net/qq_43765237/article/details/107162162