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;
}
运行结果成功了
截图我就不放了。