OpenCV-3.4.2基于Qt-5.10.1的编译

由于本人在使用CMake和MinGW编译OpenCV是遇到了很多问题,在这里记录下来。至于所需软件的安装和相应环境变量的设置,网上有很多详细的教程,这里不再重复。

软件环境:
⦁ Windows-10-64bit
⦁ Qt-5.10.1
⦁ OpenCV-3.4.2
⦁ CMake-3.11.1

添加 MinGW 到环境变量
为系统变量 Path 添加 D:\Qt\Qt5.10.1\Tools\mingw530_32\bin

使用 CMake 生成 OpenCV 的 Makefile:
打开 cmake-gui,设置源码和生成路径:
⦁ Where is the source code: D:\OpenCV\opencv-3.4.2
⦁ Where to build the binaries: F:\Others\OpenCV

点击 Configure,设置编译器:
⦁ Specify the generator for this project: MinGW Makefiles
⦁ Specify native compilers
然后:
⦁ Compilers C: D:\Qt\Qt5.10.1\Tools\mingw530_32\bin\gcc.exe
⦁ Compilers C++: D:\Qt\Qt5.10.1\Tools\mingw530_32\bin\g++.exe
最后点:Finish

预处理:
修改D:\OpenCV\opencv-3.4.2\modules\videoio\src\cap_dshow.cpp文件,在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE,如:
#define NO_DSHOW_STRSAFE
#include "DShow.h"

编译配置:
⦁ 勾选 WITH_OPENGL
⦁ 勾选 WITH_QT
⦁ 勾选 WITH_OPENMP(用于并行计算)
⦁ 勾选 ENABLE_CXX11
⦁ 不勾选 ENABLE_PRECOMPILED_HEADERS
⦁ 不勾选 WITH_IPP
⦁ 不勾选 WITH_TBB(OpenCV-3.4.2版本出现的问题,之前的版本需要看情况)
⦁ 不勾选 WITH_MSMF(同上)
点击 Configure,Generate 生成 Makefile

编译 OpenCV:
在build目录空白处按住快捷键win+R,运行cmd
打开终端进行编译:mingw32-make (之前需要设置环境变量)
该过程一般需要很长时间,接近一个小时

装载Opencv:
mingw32-make install
该命令会将编译后生成的头文件及动态库文件复制到目录:“F:\Others\OpenCV\install”。该目录包括运行OpenCV程序所需要的全部资源。

参考链接:
https://blog.huihut.com/2017/12/03/CompiledOpenCVRunInQt/
https://blog.csdn.net/quxing10086/article/details/79576085
https://blog.csdn.net/davidhopper/article/details/78757572
http://answers.opencv.org/question/192758/compile-error-when-compiling-for-windows-341-dev/

OpenCV-3.4.2基于Qt-5.10.1的编译的更多相关文章

  1. 基于Qt 5.9.8,编译Qtxlsx

    1.源码下载地址:https://github.com/dbzhang800/QtXlsxWriter 2.下载并安装编译时需要的工具 Perl:https://www.perl.org/get.ht ...

  2. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  3. 基于QT的一个简易的安防

    工程描述 opencv2.4.8 QT5 背景建模后,当有异物入侵时,把入侵的帧写到视频文件 使用BackgroundSubtractorMOG2背景建模 程序基于QT对话框 .pro #------ ...

  4. 基于QT开发的第三方库

    基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库   目录(?)[+]   文章来源:http://blog.csdn.net ...

  5. 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统

      一:源起       1.何为CB/S的应用程序       C/S结构的应用程序,是客户端/服务端形式的应用程序,这种应用程序要在客户电脑上安装一个程序,客户使用这个程序与服务端通信,完成一定的 ...

  6. 【Qt编程】基于Qt的词典开发系列<一>--词典框架设计及成品展示

    去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东 ...

  7. 【Qt编程】基于Qt的词典开发系列<四>--无边框窗口的缩放与拖动

    在现在,绝大多数软件都向着简洁,时尚发展.就拿有道的单词本和我做的单词本来说,绝大多数用户肯定喜欢我所做的单词本(就单单界面,关于颜色搭配和布局问题,大家就不要在意了). 有道的单词本: 我所做的单词 ...

  8. 基于Qt的wifi智能小车的制作(一)

     基于Qt的wifi智能小车的制作(一) 好久不写博客了,真的是有点惭愧了.翻开上一次的博客,到现在已经2个多月了,只能说是自己太懒惰了!忙是另一回事!趁今天晚上有点时间回顾下这一段时间的收获以及做的 ...

  9. 采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)

    QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形. QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustom ...

随机推荐

  1. 阿里云服务器部署Tornado应用指南

    本篇详细介绍tornado应用部署到阿里云服务器上的全过程. Tornado程序地址:github https://github.com/ddong8/ihasy.git 准备工作:阿里云服务器Cen ...

  2. cs231n学习笔记(二)图像分类

    图像分类可说是计算机视觉中的基础任务同时也是核心任务,做好分类可为检测,分割等高阶任务打好基础. 本节课主要讲了两个内容,K近邻和线性分类器,都是以猫的分类为例. 一. K近邻 以猫的分类为例,一张含 ...

  3. Java换行符

    public static final String NewLineSeparator=System.getProperty("line.separator","\n&q ...

  4. LINUX下用PHPIZE安装PHP GD扩展

    环境:LNMP in centOS 6.4. linux下PHP的扩展可以用phpize的方法,比较简单地进行启用. 以下以PHP-GD2 库安装为例子. sudo yum install php-g ...

  5. Zabbix sql注入漏洞脚本执行反弹shell

    exp检测是否存在SQL注入漏洞root@ubuntu:~# python zabbix.py http://ip:9090/+------------------------------------ ...

  6. inode与block知识总结

    inode概述:硬盘要分区,然后格式化,创建文件系统在每个Linux存储设备的分区被格式化为ext3文件系统后一般有两个部分:    第一部分Inode:存储这些数据的属性信息(大小,属主,归属的用户 ...

  7. vue.js请求数据(axios)

    使用npm安装axios npm install axios --save 在main.js中引入axios import axios from "axios"; 注册axios到 ...

  8. hxq的库

    在页面中使用 可以调取html模板 /** * Created by DY040 on 2017/10/31. */ var hxq = { init: function () { var self ...

  9. 5-----Scrapy框架中Spiders用法

    Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 1.以初始的URL初始化Request, ...

  10. django django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

    https://www.jb51.net/article/136738.htm django中的HTML控件及参数传递方法 下面小编就为大家分享一篇django中的HTML控件及参数传递方法,具有很好 ...