点击上方蓝字关注我们

微信公众号:OpenCV学堂

关注获取更多计算机视觉与深度学习知识

QT在Windows上安装好之后,常规会两种编译器选择分别是:

-VS2015/2017/2019....-mingw

因为我安装了VS2015,所以一直是默认VS来编译,但是发现当从VS编译切换到mingw时候,OpenCV的windows版本就无法正确的使用了。这个时候要求首先通过mingw来编译OpenCV的源码,重新生成OpenCV库文件与dll文件。本文就详细记录了这个过程。而且最后通过编译好的OpenCV集成配置QT开发环境,实现了一个简单的测试程序。

软件版本与环境配置

版本信息

Windows10 64位QT5.13 64位OpenCV4.2CMake3.17.1

下载地址:

https://opencv.org/opencv-4-2-0/ https://cmake.org/

环境配置

在安装好QT,CMake与OpenCV下载解压缩之后,首先到QT的目录下,找到mingw编译工具的bin目录,添加到系统环境变量中去,本人安装好的QT中mingw工具的bin目录路径如下:

D:\Qt\Qt5.13.1\Tools\mingw730_64\bin

编译OpenCV源码

编译OpenCV源码主要分为如下几步:

01

cmake配置与生成

双击打开安装好的cmake

选择好souce路径与build路径,本人的分别为:

D:/opencv-4.2.0/opencv/sourcesD:/opencv-4.2.0/opencv/newbuild

然后点击 【configure】,就会弹出如下对话框,请选择mingw makefiles

然后分别设置

C编译器D:\Qt\Qt5.13.1\Tools\mingw730_64\bin\gcc.exe C++编译器D:\Qt\Qt5.13.1\Tools\mingw730_64\bin\g++.exe

运行完成之后,参见如下选项进行配置

- 勾选 WITH_OPENGL- 勾选 WITH_OPENMP- 勾选 BUILD_opencv_world- 不勾选 WITH_OPENCL_D3D11_NV

然后再点击【generate】按钮,执行完成即可。

注意

这个过程中你最有可能遇到的错误就是无法下载ffmpeg库的问题,解决方法也很容易,让可以下载的人给你下载,然后直接copy到你的opencv\sources\3rdparty\ffmpeg目录下即可。然后再次点击【generate】按钮即可。

02

生成安装文件

cmake完成之后,打开cmd,切换到build目录下,首先执行如下的命令行参数

mingw32-make -j 8

回车之后,就看到如下开始执行了,画面如下:

大概5~10min左右(取决电脑速度)如果没有报错,就会到达100%完成。然后执行下一个命令行参数

mingw32-make install

大概在几十秒即可很快执行完成,执行完成之后你就会在这个目录得到编译好的库与dll文件。

D:\opencv-4.2.0\opencv\newbuild\install

很直接的把生成的dll所在路径添加到环境变量中,这里为:

D:\opencv-4.2.0\opencv\newbuild\install\x64\mingw\bin

使用OpenCV+QT实现图像显示

通过一个简单的OpenCV读取图像,在QT中QLabe显示来验证上述编译好的库可以使用。直接通过QT Creator来新建一个QT Application程序,导入OpenCV库依赖(不知道怎么操作,请看结尾的链接,通过视频学习即可!),然后在mainwindow.cpp中实现如下代码:

#include "mainwindow.h"

记得创建项目的选择编译器为mingw啊,然后选择构建为release。直接运行,显示如下:

最后怕写的不太好,给大家录了个实操的视频,教大家如下一步一步基于QT搭建OpenCV开发环境。

B站视频版本

https://www.bilibili.com/video/BV1Za4y1v7ra

 推荐阅读 

OpenCV4系统化学习路线图-视频版本!

五分钟搞定OpenCV4 + QT5集成与代码测试

OpenCV4.2 + OpenVINO2020安装配置与应用演示

OpenVINO深度学习推理框架 开发技术系列文章汇总

单应性矩阵应用-基于特征的图像拼接

OpenCV图像拼接改进算法之完美拼接

干货 | 基于特征的图像配准用于缺陷检测

OpenCV | 二值图像分析的技巧都在这里

OpenCV二值图像分析之形态学应用技巧

图像色彩空间与应用转换

五分钟学会C++高效图表绘制神器调用

没想到图像直方图有这么多应用场景

基于灰度共生矩阵(GLCM)的图像纹理分析与提取

OpenCV中一个最容易搞错的形态学操作

OpenCV+OpenVINO实现人脸Landmarks实时检测

OpenCV4+OpenVINO实现图像的超分辨

利用单应性矩阵实现文档对齐显示

c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示相关推荐

  1. 编译32位_玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译

    一. 开发前期准备 本文中使用的是linageOs源码中下载的oneplus3 安卓10内核源码进行研究测试.交叉编译链使用的是linageOs源码中的交叉编译链. lineageOs源码中onepl ...

  2. android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试

    一,学习android系统源码下载,编译的作用 1,可以自己 DIY 自己的rom系统,从系统层面,宏观的加深理解 android系统 2,编译自己的 userdebug(原生root权限) rom, ...

  3. 基于Qt5.14.2和mingw的Qt源码学习(三) — 元对象系统简介及moc工具是如何保存类属性和方法的

    基于Qt5.14.2和mingw的Qt源码学习(三) - 元对象系统简介及moc工具是如何保存类属性和方法的 一.什么是元对象系统 1.元对象系统目的 2.实现元对象系统的关键 3.元对象系统的其他一 ...

  4. c++ 编译添加dll_Windows下osg编译

    一.准备工作 1.1 资料准备 1.2 环境说明 二.编译准备 2.1 目录树 2.2 ffmpeg插件编译问题处理 三.cmake配置 四.编译 五.环境变量配置 六.OSG项目 6.1 创建并配置 ...

  5. linux源码编译安装lamp环境搭建,linux下源码包编译安装LAMP环境

    1.下载所需的源码包 Httpd-2.4.10  apr-1.5.1  apr-util-1.5.3  pcre-8.33(这些均可在Apache官网进行下载) Mysql-5.5.39    php ...

  6. vs2008编译QT开源项目--太阳神三国杀源码分析(一) 项目编译及整体分析

    请参看 http://tieba.baidu.com/f?kz=1508964881 按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装 ...

  7. 微信小程序 wxapkg 反编译 获得微信小游戏跳一跳源码

    前言 昨天 V2EX 上的一篇通过抓包来获取微信跳一跳源码的文章走红,文章连接点击这里 我也在通过文章中的方式进行了抓包,但是并未探测到小游戏的下载连接,可能微信对此已经进行了修复.而且上文中提供的下 ...

  8. 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令

    源码开发编译中,熟练掌握常用命令,可以提高开发工作效率.Android源码中,将相关的命令分为如下几类: 1.初始化源码编译环境 初始化编译环境,为后续提供如lunch.make.xxgrep.god ...

  9. android源码编译 简书,android学习笔记之源码编译

    编译环境 1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit 2.安装openJDK7 $ sudo apt-get update $ sudo apt-get install ...

最新文章

  1. 基于HTML5 Canvas实现工控2D叶轮旋转
  2. ios wkwebview弹框_iOS WKWebView的javascript alert 不弹的解决方案
  3. 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
  4. python读取html文件中的表格数据_Python 读取各类文件格式的文本信息 | doc,excel,html,mht...
  5. 【机器学习算法专题(蓄力计划)】三、机器学习中的概率论基础精讲
  6. Tomcat(三):日志
  7. linux 字符设备驱动cdev
  8. Android开发工具Android Studio、Android SDK和Genymotion完全配置
  9. ssh远程登陆 Ubuntu虚拟机出错,配置ssh服务-转
  10. 时间序列分析导论书摘:时间预处理-时序变换
  11. java毕向东helloworld_毕向东java基础课学习笔记2——Hello world
  12. python 裁判文书网_中国裁判文书网 爬虫求助
  13. 互联网周刊eNet研究院:2018中国数字化转型最佳解决方案TOP100
  14. ADO与ADO.NET的区别
  15. 危机2.0时代,企业任重而道远
  16. java小时钟实验报告_JAVA实验报告(运用JavaFx实现时钟动画).doc
  17. 关于中医把脉的一点想法
  18. wifi一到晚上服务器无响应,wifi到晚上网速很慢(为啥一到晚上网速就慢)
  19. 线性空间(向量空间)
  20. Spark Shell 的使用

热门文章

  1. PHPstorm如何导入字体主题
  2. (二)Flask 学习 —— 模板
  3. 关联与依赖区别理解(原)
  4. 使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传
  5. UNetbootin | 轻松制作Linux/BSD安装引导U盘
  6. java异常机制throwable
  7. LeetCode简单题目(#203 #204 # #205 #206 #217 #219)-6道(序列、数字)
  8. java for循环效率优化_java 优雅代码for循环 之性能调优
  9. navicat for mysql 数据传输_如何利用Navicat for MySQL数据库进行数据传输
  10. 前端flv.js设置缓冲时间和大小_好程序员web前端细解cookie那些事