Qt5.9_MSVC14_32bit配置OpenCV

0.序言

之前安装了Qt5.9.1使用MinGW编译器,使用Cmake进行了编译得到可调用库,之后想Qt与VS都可以调用opencv库,然后有了接下来的事情。简言之,折腾几天,安装VS2015、Qt5.9.1_MSVC14 32bit、opencv3.3.0,实现Qt和VS皆可调用opencv。

1.环境

  • OS: win10
  • vs2015
  • OpenCV3.30
  • Cmake(最新版即可)

2.Qt安装

我先安装的Qt5.12,测试时发现在写connect函数时,信号函数没有自动提示,让我很不爽,了解原因的朋友望告知我一下,其他Qt5.12都挺不错,添加了的实时的代码提示。

下载Qt,得到类似在这里插入图片描述
直接安装,在 选择组件那一步,选择 msvc2015 32-bit
其余默认,不要选 MinGW 5.3.0 32 bit ,除非你想使用这个编译器。
下一步直至安装完成。

2.1安装调试器

下载WDK,
安装WDK十分简单,只需按照默认的安装步骤即可。当然在第二步中,有很多“features”可以选择,如果你只需要CDB的话,只需要勾选 Debugging Tools for Windows 选项即可。
安装完成后Qt creator会自动识别
Qt5.9_MSVC14_32bit配置OpenCV_第1张图片
添加系统变量:D:\Qt\Qt5.9.1\5.9.1\msvc2015\bin,根据自己的安装路径自行修改。
之后你可以简单新建工程进行测试

3.OpenCV安装

3.1 下载OpenCV

Qt5.9_MSVC14_32bit配置OpenCV_第2张图片
你可以选择下载1或者2。1只包括源文件;2里面包括一些编译好的文件,在 build文件夹。如果你的VS版本合适,里面的是可以直接调用的,我安装的是OpenCV3.3.0,里面只有x64版本的VC14可用,如果你安装的正好是Qt_MSVC14 64bit,Qt creator理论上是可以直接调用的。

3.2下载OpenCV_contrib

里面包含里OpenCV的一些收费库,如SIFT。
解压后放在opencv目录

4.cmake编译

当下载的OpenCV包里面不包括跟你版本对应的静态编译文件时,你就需要用cmake进行编译,比如使用MinGW或者其他VS版本的编译器。

4.1 第一步

1选择源文件路径
2选择你编译文件的保存路径(可自行创建一个,如果你下载的是Win pack版,就不要存到 build 里面了)
点击configure
Qt5.9_MSVC14_32bit配置OpenCV_第3张图片
跳出下面的对话框,选择Visual studio 14 2015 和使用默认本地编译器
Qt5.9_MSVC14_32bit配置OpenCV_第4张图片

4.2 第二步

下面这两个如图所示,第一个是生成一个包含所有的lib文件,第二个是配置opencv_contrib路径
在这里插入图片描述
在这里插入图片描述

注意:WITH_QT和WITH_OPENGL不要选,我就是因为选了这个,后面的编译一直出错,如果有知道原因的请告知。不包括这两个造成的已知影响是显示窗口没有了放大、缩小、保存等功能

3.3第三步

点击 configure ,如还有红色接着点击,直至红色消失,
点击 generate,完成,点击 Open Project,打开vs2015

3.4第四步

在VS2015里面操作,点击批生成(Batch Build)
Qt5.9_MSVC14_32bit配置OpenCV_第5张图片
Qt5.9_MSVC14_32bit配置OpenCV_第6张图片
按上图这样选择,点击 生成(Build)
等待即可,时间稍有点长,最后显示全部成功,无失败,表示编译成功。
配置系统变量:E:\opencv\build\install\x86\vc14\bin,根据自己的路径自行修改。
我们所用的都在install文件夹里,其余可删掉

5.Qt creator调用OpenCV

新建一个 .pri文件,名字可以随便取,不要有中文,位置也可任意;如下所示:
Qt5.9_MSVC14_32bit配置OpenCV_第7张图片
内容如下:

INCLUDEPATH += E:/opencv/build/install/include 
Debug: { LIBS += -lE:/opencv/build/install/x86/vc14/lib/opencv_world330d }
Release: { LIBS += -lE:/opencv/build/install/x86/vc14/lib/opencv_world330 }

然后新建一个工程在*.pro文件(如下图)中末尾添加(路径改成自己的):

include(E:/opencv/opencv.pri)

Qt5.9_MSVC14_32bit配置OpenCV_第8张图片
右键工程名,点击 qmake,工程目录就会多一个opencv.pri文件 。配置完成。
测试:

#include 
#include "opencv2/opencv.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Mat image = imread("E:/opencvimg/1-1.bmp");
    namedWindow("view",WINDOW_KEEPRATIO);
    imshow("view",image);

    return a.exec();
}

6.VS调用OpenCV

此时VS也可调用编译好的OpenCV,配置过程网上教程很多,可参考vs2015配置OpenCV

你可能感兴趣的:(qt,OpenCV)