首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在此范围内未声明faceRecognizer。

在此范围内未声明faceRecognizer。
EN

Stack Overflow用户
提问于 2013-12-17 21:58:21
回答 1查看 2K关注 0票数 0

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

代码语言:javascript
复制
 /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文件如下:

代码语言:javascript
复制
       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 

编译结果没有错误。然而,当我运行我的应用程序时,我得到了

代码语言:javascript
复制
 ./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文件夹,我无法在那里找到我的库。

EDIT2:我又安装了opencv,现在一切都很好。我想安装opencv的最后一步不起作用,所以我的/usr/local文件夹是空的。现在一切都在控制之中。

EN

回答 1

Stack Overflow用户

发布于 2013-12-17 22:18:13

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

代码语言:javascript
复制
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,不要忘记包含适当的头文件:

代码语言:javascript
复制
#include <opencv2/contrib/contrib.hpp>

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20645565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档