@月夜牧狼

  1. 原材料:
    系统:win7
    Qt版本为5.9.5
    Opencv为3.4.0
    Opencv_contrib3.4.0
    Cmake 3.13.0-rc3
    注:opencv3.4.0和Opencv_contrib3.4.0都是直接解压之后的文件。
    2.安装
    2.1qt直接安装就行,路径不要有中文和空格等奇怪路径,同时要添加进入系统环境变量。
    D:\QT\5.9.5\mingw53_32\bin添加进入5下面的方框。

    2.2使用cmake编译opencv,第一个路径是opencv的源码,第二个路径是你要保存编译库的路径。

点击界面下方的configure,会弹出编辑界面,如下。

cmake运行OpenCV没有窗口_QT


在弹窗里设置编译器目录,然后点击Finish:

D:\Qt\Qt5.9.5\Tools\mingw530_32\bin\gcc.exe

D:\Qt\Qt5.9.5\Tools\mingw530_32\bin\g++.exe

两个路径要根据你自己安装的QT路径来确定。

cmake运行OpenCV没有窗口_QT_02


2.3点击configure配置,出现如下错误

cmake运行OpenCV没有窗口_Qt_03


解决方案:找到名为CMAKE_MAKE_PROGRAM的一项如下。

cmake运行OpenCV没有窗口_环境变量_04


修改它的路径D:/QT/Tools/mingw530_32/bin/mingw32-make.exe,再次configure。得到如下的界面。

cmake运行OpenCV没有窗口_环境变量_05


2.4点击右上角的Add Entry,然后在弹窗中输入:

QT_MAKE_EXECUTABLE

FILEPATH

D:\Qt\5.9.4\mingw53_32\bin\qmake.exe

cmake运行OpenCV没有窗口_环境变量_06


点击点击OK之后,继续配置,找到OPENCV_EXTRA_MODULES_PATH选项,添加opencv_contrib包的modules目录。

cmake运行OpenCV没有窗口_QT_07

然后勾选 WITH_QT和 WITH_OPENGL,不勾选WITH_IPP。

再次点击configure,直到进度条读完,出现configure done;便是点击Generate,进度条读完,会出现Generate done,如下。

cmake运行OpenCV没有窗口_环境变量_08


2.5配置Mingw的系统环境变量。

类似于QT添加系统环境变量那样,添加的路径D:\QT\Tools\mingw530_32\bin;2.6打开终端,键入mingw32-make,开始编译。

先打开你要构建项目所在的文件夹,就是一开始你要保存编译库的文件。

然后按住shift键+鼠标右键,进入终端。(一定要做好2.5步骤,要不然终端无法识别命令)

cmake运行OpenCV没有窗口_QT、 opencv_contrib_09


出现了一个错误

解决:在cmake-gui中,不勾选ENABLE_PRECOMPILED_HEADERS,重新后重新Configure-Generate-mingw32-make。

cmake运行OpenCV没有窗口_cmake运行OpenCV没有窗口_10


到了32%左右出现错误,

解决:

1.打开 cmake-gui,勾选 ENABLE_CXX11;

2.将F:\opencv340\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在#include “DShow.h”的上面加多一行#define NO_DSHOW_STRSAFE效果如下:

#define NO_DSHOW_STRSAFE

#include “cap_dshow.hpp”

3.同时将BUILD_opencv_python3的勾去掉。

编译成功之后(下图已经是编译成功之后再次编译,没有保留之前编译的图片)

cmake运行OpenCV没有窗口_QT_11

在终端键入mingw32-make install,编译成功的界面。

cmake运行OpenCV没有窗口_QT、 opencv_contrib_12

编译好的文件在F:\opencv340\build\install路径下

cmake运行OpenCV没有窗口_环境变量_13


3.在qt上配置opencv_contrib的环境。

3.1为了简洁,新建一个buildcontrib文件,将install文件复制到该文件下。

在qt的pro文件下添加如下代码。

INCLUDEPATH+=F:\buildcontrib\install\include

F:\buildcontrib\install\include\opencv

F:\buildcontrib\install\include\opencv2

LIBS += F:\buildcontrib\install\x86\mingw\lib\libopencv_*.a

3.2还要添加opencv_contrib 的系统环境变量。