首页 > 解决方案 > CascadeClassifier 未定义

问题描述

我现在在 QT (linux) 上使用 opencv 有一段时间了,从来没有遇到过这样的问题......我现在尝试使用 CascadeClassifier 实现人脸检测,但无法构建程序......

QMAKE_DEFAULT_INCDIRS=\\
INCLUDEPATH += /usr/include
LIBS += -L/usr/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_videoio -lopencv_imgproc


SOURCES += face.cpp
#include <opencv2/opencv.hpp>
#include "opencv2/objdetect.hpp"
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>
using namespace std;
using namespace cv;
void detectAndDisplay( Mat frame );
CascadeClassifier face_cascade;
CascadeClassifier eyes_cascade;

int main( int argc, const char** argv )
{
    CommandLineParser parser(argc, argv,
                             "{help h||"
                             "{face_cascade|/home/student/Projects Sem2/Projekt_Facedetection/haarcascade_frontalface_alt.xml|Path to face cascade.}"
                             "{eyes_cascade|/home/student/Projects Sem2/Projekt_Facedetection/haarcascade_eye_tree_eyeglasses.xml|Path to eyes cascade.}"
                             "{camera|0|Camera device number.}");
    /*parser.about( "\nThis program demonstrates using the cv::CascadeClassifier class to detect objects (Face + eyes) in a video stream.\n"
                  "You can use Haar or LBP features.\n\n" );*/
    parser.printMessage();
    String face_cascade_name = ("/home/student/Projects Sem2/Projekt_Facedetection/haarcascade_frontalface_alt.xml");
    String eyes_cascade_name = ("/home/student/Projects Sem2/Projekt_Facedetection/haarcascade_eye_tree_eyeglasses.xml");
    //-- 1. Load the cascades
    if( !face_cascade.load( face_cascade_name ) )
    {
        cout << "--(!)Error loading face cascade\n";
        return -1;
    };
    if( !eyes_cascade.load( eyes_cascade_name ) )
    {
        cout << "--(!)Error loading eyes cascade\n";
        return -1;
    };

我希望 CascadeClassifier 在 opencv 库中定义......

标签: c++opencvqt-creator

解决方案


推荐阅读