在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成。
虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译后的源文件都会和库文件去进行链接。
这就导致不同的编译器可能需要不同的库。所以,下载得到源文件之后,要用指定的编译器重新编译。
0. 需要的工具- Qt Creator
- OpenCV
- CMake
- cmd
这里Qt Creator的安装不在赘述,由于Qt提供的在线下载器太慢,可以直接去qt的离线下载界面下载,使用迅雷会比较快。详细操作可以参考这里。笔者使用的是5.9.0版本。
2. OpenCV的下载安装注意,这里需要在环境变量中的Path变量下添加Qt\Qt5.9.0\Tools\mingwxx_xx\bin路径。例如我在这里添加了F:\Qt\Qt5.9.0\Tools\mingw530_32\bin,否则后面的CMake可能在Configure过后没有对应的选项!
OpenCV也可以直接在官网下载,这里选择对应的Windows版本,下载后安装。我这里一开始使用4.5.5在cmd界面编译时候报错,后面使用的是3.2.0。
安装完成后,在环境变量中添加Path变量,我添加的地址为F:\environment\opencv\build\bin。
3. CMake的下载使用CMake可以直接在官网下载,注意安装的是带有界面的cmake-3.6.1-win64-x64.msi。
安装后打开cmake-gui.exe,Browse Source下选择安装的opencv下的sources文件夹,Browse Build可在opencv下新建一个release目录并选择,完整后点击左下角的Configure,选择MinGW Makefiles。
点击后CMake开始运行,过一段时间,中间会出现许多红色的选项,勾选WITH_OPENGL和WITH_QT,再次点击Configure。
运行完毕后可能还会出现部分红色选项,分别以下表选择对应项目。(有可能只有部分)
注意:如果你在安装Qt5后,没有给Qt5添加环境变量的话,那么在这一步,CMake软件是不会找到这些和Qt5相关的项的。
配置完成后再次Configure,没有红色选项,CMAKE_BUILD_TYPE选择Release类型,再次点击Configure后没有报错,点击Generate。
在Generate结束后需要使用cmd来最后编译生成我们需要的动态dll库。
4. 在cmd中使用mingw32-make命令构建dll库打开cmd,使用cd命令进入我们刚才在CMake里Browse Build选项中选择的目录,笔者的为F:\environment\opencv\release。(这里可能cd不进去,Windows下切换磁盘直接输入磁盘符+冒号就可以切换到其他盘了)。
f:
cd F:\environment\opencv\release
mingw32-make
等待构建成功后,该目录下的include目录和lib目录下就生成了我们需要的库了。
5. 在Qt Creator的.pro文件中添加配置在你需要使用OpenCV的项目的.pro文件中添加配置
INCLUDEPATH += E:\opencv-4.0.1-Sources\opencv-build\install\include
LIBS += E:\opencv-4.0.1-Sources\opencv-build\lib\libopencv_*.a