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;
}
運行結果成功了
截圖我就不放了。