Qt在windows下共有2个版本:mingw和msvc。其中mingw使用gcc编译器,msvc使用微软的VC编译器。针对不同版本Qt,使用Opencv的方式也不同。

区别

  • msvc, 可以使用opencv-for-window中对应的vc编译版本;
  • mingw,需要使用Qt的qmake和对应编译器,使用opencv源码进行编译;

mingw编译Opencv

环境

  • 操作系统: windows10
  • Qt版本: Qt5.8_mingw5.3.0 32bit
  • Opencv版本: Opencv 3.10 Or 3.20
  • cmake: cmake-gui 3.8.0

: mingw编译器和Opencv版本需要对应,版本不对,配置过程难以完成。

编译过程

1.下载Opencv源码

2. 安装cmake并在Qt中找到cmake

3.打开CMakeList文件

【Qt Creator】-【文件】-【打开文件或工程】- 找到源码中的makelist文件并打开

弹出的配置窗口,选择编译配置环境为mingw

4. 配置cmake

进入项目,并选择release

等待Qt完成CMakeList文件读取,在CMake选项中进行配置,设置编译结果导出位置,CMAKE_INSTALL_PERFIXBUILD_opencv_world。前者设置编译输出结果位置,后者设置opencv最终结果为一个库文件。

配置完成以后,按下下方的Aplly按钮。

5. 配置构建选项

6. 开始构建

搭建开发环境

1. 添加头文件路径和库

在工程的.pro文件中,设置头文件路径和头文件

INCLUDEPATH += D:/opencv/OpencvMingw/build/opencv-3.1/include
LIBS += D:/opencv/OpencvMingw/build/opencv-3.1/x86/mingw/lib/libopencv_*

2. 添加bin到环境变量

在系统环境变量中添加bin文件路径。

3. 简单图片显示

#include <QCoreApplication>
#include <QDebug> #include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std; int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv); qDebug() << "start"; cv::Mat im0 = imread("d://dlrb.png");
namedWindow("Qt OPENCV DEMO");
imshow("Qt OPENCV DEMO", im0); waitKey(-1); return a.exec();
}

问题

编译运行,报错并提示 exited with code -1073741510,该问题主要是由于环境变量未生效造成的,将bin目录下的dll复制到可执行文件目录下即可。

参考

Qt_mingw搭建opencv开发环境的更多相关文章

  1. 【OpenCV】 在CentOS下搭建OpenCV开发环境

    最近开始入模式识别的坑,自然被迫上OpenCV了. 在多次尝试给VS2015扩展Windows 10 SDK无果后(不要问我为啥..VS2015开发C++的标准库全给扔到这个SDK里了,打包在VS安装 ...

  2. OpenCV2学习笔记02:MSVC2013搭建OpenCV开发环境

    我这里编译的库是通过手动编译的.只是需要注意的是,手动编译一般会产生大量的文件,差不多7个多G的样子,实在是有点浪费硬盘存储呀,其实我们可以删除掉没有用的东西.因为我们在编译的时候指定了一个目录比如我 ...

  3. Win10+QT5.7.1搭建opencv开发环境

    一.准备工作: 1下载Qt5.7.1软件qt-opensource-windows-x86-mingw530-5.7.1.exe(http://download.qt.io/official_rele ...

  4. (12)QT中搭建opencv开发环境

    只需要在项目工程文件pro中添加上: INCLUDEPATH += G:/opencv/build/include \ G:/opencv/build/include/opencv \ G:/open ...

  5. Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境

    Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...

  6. win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建

    win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...

  7. IntelliJ OpenCV 开发环境搭建

    Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...

  8. Zynq7000开发系列-5(OpenCV开发环境搭建:Ubuntu、Zynq)

    操作系统:Ubuntu14.04.5 LTS 64bit OpenCV:OpenCV 3.1.0.opencv_contrib gcc:gcc version 4.8.4 (Ubuntu 4.8.4- ...

  9. arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)

    arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...

随机推荐

  1. 【HDU 5858】Hard problem(圆部分面积)

    边长是L的正方形,然后两个半径为L的圆弧和中间直径为L的圆相交.求阴影部分面积. 以中间圆心为原点,对角线为xy轴建立直角坐标系. 然后可以联立方程解出交点. 交点是$(\frac{\sqrt{7} ...

  2. 【题解】 bzoj1190: [HNOI2007]梦幻岛宝珠 (动态规划)

    bzoj1190,懒得复制,戳我戳我 Solution: 这道题其实是一个背包(分组背包),但是由于数字比较大,就要重新构造dp式子.啃了三天才懂. \(dp[i][j]\)表示背包容积为\(j*2^ ...

  3. HGOI 20181030晚 题解

    Problem:给出全班人的个数总分和小明的分数(满分100分),求小明最低排名和最高排名 sol:假设小明的排名为k,总分为sum,小明的分数是r, 贪心求解, 最坏情况下,小明前面的比小明高一分( ...

  4. 【洛谷P1462】通往奥格瑞玛的道路

    题目大意:给定一个 N 个点,M 条边的无向图,求从 1 号节点到 N 号节点的路径中,满足路径长度不大于 B 的情况下,经过顶点的点权的最大值最小是多少. 题解:最大值最小问题一般采用二分答案.这道 ...

  5. vue子组件的自定义事件

    父子组件的信息传递无碍就是父组件给子组件传值(props和$attrs)和父组件触发子组件的事件($emit) 之前已经谈过了父组件给子组件传值了,现在来说说父组件触发子组件的自定义事件吧-- 实际上 ...

  6. 函数和常用模块【day06】:shutil模块(四)

    本节内容 简书 模块详解 压缩解压 一.简述 我们在日常处理文件时,经常用到os模块,但是有的时候你会发现,像拷贝.删除.打包.压缩等文件操作,在os模块中没有对应的函数去操作,下面我们就来讲讲高级的 ...

  7. 在同一个表中将varchar2类型的数据转存到blob类型的字段中

    用一条修改语句即可:update t_content set f_body=rawtohex(f_check) where f_type in (0,4)此处须用rawtohex()函数将f_chec ...

  8. Java日期比较

    在进行业务处理时,遇到一个需要比较日期但是不包含时分秒的判断问题 SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); ...

  9. poj 2947 Widget Factory (高斯消元解同余方程组+判断无解、多解)

    http://poj.org/problem?id=2947 血泪史: CE:poj的string类型要加string库,swap不能直接交换数组 WA: x[m-1]也有可能<3啊O(≧口≦) ...

  10. 微软官网给出CSS选择器支持列表

    CSS Compatibility and Internet Explorer 这是在 @司徒正美 博客里看到的,所以搬到自己博客,收藏下..正如司徒兄所说,微软太狡滑了,如果把不支持的属性用红色标示 ...