OpenCV-3.4.2基于Qt-5.10.1的编译
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的编译的更多相关文章
- 基于Qt 5.9.8,编译Qtxlsx
1.源码下载地址:https://github.com/dbzhang800/QtXlsxWriter 2.下载并安装编译时需要的工具 Perl:https://www.perl.org/get.ht ...
- windows平台下基于QT和OpenCV搭建图像处理平台
在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...
- 基于QT的一个简易的安防
工程描述 opencv2.4.8 QT5 背景建模后,当有异物入侵时,把入侵的帧写到视频文件 使用BackgroundSubtractorMOG2背景建模 程序基于QT对话框 .pro #------ ...
- 基于QT开发的第三方库
基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库 目录(?)[+] 文章来源:http://blog.csdn.net ...
- 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
一:源起 1.何为CB/S的应用程序 C/S结构的应用程序,是客户端/服务端形式的应用程序,这种应用程序要在客户电脑上安装一个程序,客户使用这个程序与服务端通信,完成一定的 ...
- 【Qt编程】基于Qt的词典开发系列<一>--词典框架设计及成品展示
去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东 ...
- 【Qt编程】基于Qt的词典开发系列<四>--无边框窗口的缩放与拖动
在现在,绝大多数软件都向着简洁,时尚发展.就拿有道的单词本和我做的单词本来说,绝大多数用户肯定喜欢我所做的单词本(就单单界面,关于颜色搭配和布局问题,大家就不要在意了). 有道的单词本: 我所做的单词 ...
- 基于Qt的wifi智能小车的制作(一)
基于Qt的wifi智能小车的制作(一) 好久不写博客了,真的是有点惭愧了.翻开上一次的博客,到现在已经2个多月了,只能说是自己太懒惰了!忙是另一回事!趁今天晚上有点时间回顾下这一段时间的收获以及做的 ...
- 采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)
QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形. QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustom ...
随机推荐
- 合并queryset
今天在实现搜索时遇到一个问题,如何同时搜索model里面的title以及content和category字典 contents = Blog.objects.filter(content__conta ...
- 利用SharePoint项目改造的Web项目问题——Windows身份验证
最近领导交给一个项目:改造现有的SharePoint项目.UI层是做好的,只需要把实现的所有接口方法重新实现一遍,改造成Web版的实现方式. 现在要做基于Windows身份认证的登陆: 配置IIS—— ...
- CodeForces - 359C-Prime Number
Simon has a prime number x and an array of non-negative integers a1, a2, ..., an. Simon loves fracti ...
- 网络流之最大流与最小费用流入门&&模板
理解处 刷题处 模板处 最大流模板 处理重边的+(优化) #include<bits/stdc++.h> using namespace std; ; const int INF = 0x ...
- PHP、thinkPHP5.0开发网站文件管理功能(三)编辑文件
public function edit(){ $file = iconv('UTF-8','GB2312',urldecode(input('file'))); if(empty($file)|| ...
- java——数组队列 ArrayQueue
队列: Array: package Date_pacage; public class Array<E> { //叫它静态数组 //private int[] data; private ...
- OS---外存分配方式
1.概述 1.1 在为文件分配外存空间时,所考虑的主要问题:如何有效利用外存空间?如何提高对文件的访问速度? 1.2 常用的外存分配方法:连续分配.链接分配.索引分配(在一个系统中,仅采用一种分配方式 ...
- 安装 Office project 2013 时提示找不到 Office.zh-cn\OfficeLR.cab
昨天在安装project 时总是弹出下图中的提示框,在网上搜索了很多办法但是没有解决这个问题. 后来进入到office.zh-cn的文件夹中,在officemui.msi文件中右键卸载,然后在重新安装 ...
- Mybatis学习笔记10 - 动态sql之if判断
示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import java.util.List; public ...
- Appium自动化中截图的问题
在用Appium做UI自动化过程中,大家会发现测试报告很重要,而在测试报告中截图很重要. 因为很多公司都是用Jenkins作为持续集成工具,所以要让执行自动化测试的人看明白自动化在跑什么,哪里失败了, ...