OpenCV 2.4:Windows 中 Qt 中包含的问题

Posted

技术标签:

【中文标题】OpenCV 2.4:Windows 中 Qt 中包含的问题【英文标题】:OpenCV 2.4 : problems with includes in Qt in windows 【发布时间】:2012-05-30 14:03:21 【问题描述】:

我不是 C++ 大师(实际上远非如此),我尝试设置一个 OpenCV + Qt 项目。我已经下载了 OpenCV 的最新版本。我没有做更多的事情(如果我理解得很好,一切都是预先构建的,所以我只需在我的 .pro 文件中添加库的路径)。

我添加了包含文件夹 /opencv/include 的路径

应该这样工作,因为例如 cv.h 中的包含就是这样的:

包括“opencv2/core/core_c.h”

但是,当我浏览我的opencv文件夹时,opencv2是空的,里面没有core文件夹,也没有其他任何东西,实际上只有一个头文件,opencv.h。

我注意到我所有的包含都分布在模块文件夹下的几个文件夹中......我该怎么办??

非常感谢!

【问题讨论】:

【参考方案1】:

您必须将这些库添加到.pro 文件module 明智,这意味着您必须将项目中使用的所有模块添加到.pro 文件中的LIBS 变量中。假设您正在使用模块 libopencv1、libopencv2、libopencv3

LIBS += -L/usr/lib -lopencv1 -lopencv2 -lopencv3

这样。

如果将opencv库添加到/usr/local/lib,则使用-L/usr/local/lib instead of -L/usr/lib

【讨论】:

嗨,感谢您的回复,库似乎不是问题,而是包含,我使用的是 Windows 而不是 unix。谢谢!【参考方案2】:

这是我的 .pro 文件:

QT       += core gui

TARGET = test_MTI880
TEMPLATE = app

SOURCES += ... ... ...

INCLUDEPATH += D:/PointGreyResearch/FlyCapture2/include \
        += D:/opencv/include

LIBS += D:/opencv/build/x86/vc10/lib/opencv_core240.lib \
        D:/opencv/build/x86/vc10/lib/opencv_highgui240.lib \
        D:/opencv/build/x86/vc10/lib/opencv_imgproc240.lib \
        D:/opencv/build/x86/vc10/lib/opencv_objdetect240.lib \
        D:/PointGreyResearch/FlyCapture2/lib/FlyCapture2.lib \
        D:/PointGreyResearch/FlyCapture2/lib/C/FlyCapture2_C.lib \
        D:/PointGreyResearch/FlyCapture2/lib/FlyCapture2d.lib \
        D:/PointGreyResearch/FlyCapture2/lib/FC1/PGRFlyCapture.lib

【讨论】:

这意味着修改opencv源代码!如cv.h,其中include为: #include "opencv2/core/core_c.h" #include "opencv2/core/core.hpp" #include "opencv2/imgproc/imgproc_c.h" #include "opencv2/imgproc /imgproc.hpp" #include "opencv2/video/tracking.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/flann/flann.hpp" #include "opencv2/calib3d/calib3d.hpp" 。 .. 我想我必须手动将文件夹移动到正确的目录中?没有任何意义... :(【参考方案3】:

好的,我找到了答案……

正确的包含文件夹是构建文件夹中的那个... -_-'

【讨论】:

您是否执行了构建安装步骤?然后,您可以根据需要将 bin/inc/lib 从安装文件夹复制到 opencv 源 据我了解,如果您打算在项目中使用 Visual C++ 编译器,则无需构建任何东西。您需要的一切都预先构建在 opencv/build 文件夹中。仅当您希望更改某些内容或使用其他编译器(例如 migw)时,您才必须执行构建安装步骤。

以上是关于OpenCV 2.4:Windows 中 Qt 中包含的问题的主要内容,如果未能解决你的问题,请参考以下文章

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录

在 Windows 中的 Qt 中配置 OpenCv

Qt opencv编译详细教程(windows版)

Windows下 QT 配置OpenCv