之前用Python调用过OpenCV,但是感觉还是在C++上OpenCV才会比较给力,但是OpenCV的windows版本只提供VS编译器的库,并不提供minGW提供的库,因此如果下载的是minGW版本的Qt则需要自己手动编译OpenCV才行。经过了一晚上的折腾,终于将minGW版本的OpenCV编译完成。
开始之前需要下载OpenCV和CMake:
注意:在QT 5.7下,OpenCV应该下载V 3.1版本,V 3.2版本会编译失败。
安装CMake时,设置将CMake添加到系统环境变量中:
之后选择路径时,路径中不能有空格和中文字符:
安装好之后,打开Qt Creator,选择“工具(T)”->“选项(O)”,找到“构建和运行”下的CMake,应该可以看到下面的内容:
表示Qt找到了CMake,下面将下载好的OpenCV Version 3.1解压,在我的电脑上直接拷贝到D盘根目录下:D:\opencv,并在Qt中打开项目中选择D:\opencv\sources\CMakeLists.txt,Qt会自动调用CMake解析CMakeLists.txt:
等待Configuring结束之后,进入“项目”中的CMake,找到CMAKE_INSTALL_PREFIX项目设置路径为:D:/opencv/install,同时拖动右侧滑块,取消BUILD_opencv_python2和BUILD_opencv_python3项,并选择WITH_OPENGL和WITH_QT项:
修改完成之后,点击“Apply Configuration Changes”。点开“构建步骤”的“详情”,勾选install:
之后按快捷键“Ctrl+B”开始构建,在“编译输出”窗口可以看到编译进度:
大约经过一段时间的编译,就可以看到进程正常退出的标记:
打开D:\opencv\install,可以看到已经生成的OpenCV的组件,在正式使用之前,还需要将D:\opencv\install\x86\mingw\bin该路径添加到系统环境变量中:
打开Qt,新建一个项目,在项目的pro文件中增加:
1 2 3 4 5 |
INCLUDEPATH += D:/opencv/install/include \ D:/opencv/install/include/opencv \ D:/opencv/install/include/opencv LIBS += D:/opencv/install/x86/mingw/lib/libopencv_* |
回到cpp文件中#include <cv.h>,则在main函数中输入cv::会出现自动补全对话框:
到此,OpenCV在Qt 5.7下minGW编译器中的配置全部完成。
看了标题就感觉他妈高端