人脸识别器未在此范围内声明

faceRecognizer was not declared in this scope

本文关键字:范围内 声明 人脸识别      更新时间:2023-10-16

我使用的是支持人脸识别的 opencv 的 2.4.7 版本。但是,我收到以下错误:

 /home/fereres/recognition-build-desktop- Qt_4_8_1_in_PATH__System__Release/../recognition/program.cpp:58: error: 'FaceRecognizer' was  not declared in this scope  

编辑:该程序正在工作,因为我刚刚更换了计算机。我按照相同的说明安装了OpenCV。什么可能导致该错误?我的QT pro文件如下:

       QT       += core
       QT       -= gui
      TARGET = identification
      CONFIG   += console/home/fereres/projectCV-build-desktop-        Qt_4_8_1_in_PATH__System__Release
      CONFIG   -= app_bundle
      TEMPLATE = app
      INCLUDEPATH += /home/fereres/Desktop/OpenCV/opencv-2.4.7/include/opencv 
      INCLUDEPATH += /home/fereres/Desktop/OpenCV/opencv-2.4.7/include/opencv2 
      INCLUDEPATH +=  /home/fereres/Desktop/OpenCV/opencv-2.4.7/modules/core/include/opencv2/core
      LIBS += -L/home/fereres/Desktop/OpenCV/opencv-2.4.7/build/lib 
       -lopencv_core 
       -lopencv_imgproc 
       -lopencv_highgui 
       -lopencv_ml 
       -lopencv_video 
       -lopencv_features2d 
       -lopencv_calib3d 
       -lopencv_objdetect 
       -lopencv_contrib 
       -lopencv_legacy 
       -lopencv_flann
       SOURCES += 
          program.cpp 
          prediction.cpp 
          Detection.cpp
      HEADERS += 
          prediction.h 
          Detection.h 

编译出来没有错误。但是当我运行我的应用程序时,我得到了

 ./identification: error while loading shared libraries: libopencv_core.so.2.4: cannot  open shared object file: No such file or directory
  fereres@ubuntu:~/identification-build-desktop-Qt_4_8_1_in_PATH__System__Release$ 
/

usr/local/lib forlder 只包含一个 python 文件夹,我无法在那里找到我的库。

编辑2:我再次安装了opencv,现在一切正常。我猜安装 opencv 的最后一步不起作用,所以我的/usr/local 文件夹是空的。现在一切都在掌控之中。

最好将

INCLUDEPATH初始化调整为以下内容,否则路径开头引用 opencv2 的每个#include语句都会导致编译错误:

INCLUDEPATH += "/home/fereres/Desktop/OpenCV/opencv-2.4.7/include" 
               "/home/fereres/Desktop/OpenCV/opencv-2.4.7/include/opencv" 
               "/home/fereres/Desktop/OpenCV/opencv-2.4.7/include/opencv2" 
               "/home/fereres/Desktop/OpenCV/opencv-2.4.7/modules/core/include/opencv2/core"

然后,在recognition/program.cpp不要忘记包含适当的头文件:

#include <opencv2/contrib/contrib.hpp>

注意:由于您使用 pkg-config 添加所有 OpenCV 库,因此您不需要这样做,但对于那些单独指定库的人,您需要将opencv_contrib添加到LIBS