这个问题必须重复很多次,但它只是不起作用,有时仍然没有答案。信息来源主要是这些
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
http://www.youtube.com/watch?v=dgcXYQijV6c
这是我认为应该/可以做的事情的总结。 (现在它对我有用。)希望我从一开始就提到了一切,目的是写一个非常清晰的教程。
为 QtCreator 安装 OpenCV
- 我已经安装了 MS Visual Studio 2010 Professional。 (我作为学生有免费许可证) - 我认为这没有必要,只是提一下
- 下载: Qt 5.0.1 for Windows 32 位(MinGW 4.7,823 MB)
2.1 安装: 警告,Qt 使用的所有内容(例如 OpenCV)必须位于名称中不包含空格的目录中。 - 即“程序文件”是错误的。 (但我不希望不同的程序文件直接堆积在 C 上,所以我只创建了一个文件夹“Programs”,其中安装了所有重要的东西) - 下载: cmake-2.8.10.2-win32-x86.exe - 为所有用户安装(可以在程序文件中)
- 下载: OpenCV-2.4.0.exe,解压到:C:\Programs\opencv24 - 它将创建一个目录“opencv”;添加另一个文件夹“opencv_bin”。现在看起来像这样:
C:\Programs\opencv24\opencv*
C:\Programs\opencv24\opencv_bin - 设置PATH环境变量,这样就有了MinGW编译器的链接。例如C:\Programs\Qt\Qt5.0.1\Tools\MinGW\bin;
- 启动 cmake-gui.exe
6.1 源码:设置OpenCV的默认目录; C:\Programs\opencv24\opencv
6.2 binaries:设置opencv_bin目录; C:\Programs\copencv24\opencv_bin
6.3 点击配置:- 选择MinGW Makefiles和Specify native compilers,点击下一步
- 字段 C 用于 gcc.exe; C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/gcc.exe
- 字段 C++ 用于 g++.exe; C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/g++.exe 字段fortran可以为空,点击finish
- WITH_QT - 必须选择。
- WITH_TBB、WITH_IPP、WITH_CUDA - 必须取消选择
- CMAKE_BUILD_TYPE - 点击并输入文本“调试”(不带引号)。 清除搜索字段中的文本。
- 进入终端(~命令提示符),cd到构建目录(opencv_bin)并输入 mingw32-make
- 当进程在很长一段时间后结束时,键入 mingw32-make install
- 将 QtCreator/bin 的路径添加到 Path 变量中 C:\Programs\Qt\Qt5.0.1\Tools\QtCreator\bin
现在我在 QtCreator 中创建了一个新的控制台应用程序。
//cvHello.pro
QT += core
QT -= gui
TARGET = cvHello
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += C:/Programs/opencv24/opencv_bin2/install/include
LIBS += "C:/Programs/opencv24/opencv_bin2/bin/*.dll"
SOURCES += main.cpp
OTHER_FILES += \
img.JPG
还有主文件:
//main.cpp
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cv::Mat mat;
mat = cv::imread("img.JPG");
cvNamedWindow("hello");
cv::imshow("hello",mat);
cvWaitKey(0);
return 0;
}
最佳答案
我终于开始快乐了。在调整这个问题时,我不得不尝试所有如何定义 LIBS 的方法。手动列出它们有帮助,起初我写错了。
这就是它最终的工作方式:
LIBS += -LC:\\Programs\\opencv24\\opencv_bin2\\bin \
libopencv_core240d \
libopencv_highgui240d \
libopencv_imgproc240d \
libopencv_features2d240d \
libopencv_calib3d240d \
关于c++ - 如何在 QtCreator 中链接 opencv 并使用 Qt 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15881913/