Win10+QT5.7.1搭建opencv开发环境
一、准备工作:
1下载Qt5.7.1软件qt-opensource-windows-x86-mingw530-5.7.1.exe(http://download.qt.io/official_releases/qt/5.7/5.7.1/)
2.下载opencv3.1 OpenCV for Windows(http://opencv.org/downloads.html)
3.下载Cmake3.7.2 cmake-3.7.2-win64-x64.msi(https://cmake.org/download/)
二、软件安装
1.qt软件安装与配置
默认安装即可,然后设置环境变量,在系统环境变量path中添加:
C:\Qt\Qt5.7.1\5.7\mingw53_32\bin;C:\Qt\Qt5.7.1\5.7\mingw53_32\bin
2.CMake安装和配置
默认安装,注意在安装过程中勾选“为所有用户添加环境变量”:Add CMake to the system PATH for all users 。
3.opencv安装
opencv的安装实际上是解压,解压到用户指定位置,在这里我的目录是D:\Program Files\opencv
三、opencv库的编译
1.配置CMake编译条件
打开CMake(cmake-gui)。
在下图中1处,选择源码目录,如:D:/Program Files/opencv/sources 。
在下图中2处,选择编译输出目录,如 D:/Program Files/opencv/mingw530 。
然后点击3处Configure,进行配置
在下图中1处,选择MinGW Makefiles;在图中2处选择,Special native compilers;然后点击Next
配置编译器,在下图1处,C编译器选择C:\Qt\Qt5.7.1\Tools\mingw530_32\bin\gcc.exe;
在下图2处,C++编译器选择C:\Qt\Qt5.7.1\Tools\mingw530_32\bin\g++.exe
Fortran不用填写,然后点击finish。注意:此过程保证网络畅通,因为需要下载几个文件。
等待一会儿后,会有一堆红色出现,勾选WITH_QT和WITH_OPENGL,不能勾选WITH_IPP(默认不勾选),再次点击configure。
若仍有红色出现,再次点击configure直至红色消失。最后,点击Generate按钮,完成后即可关闭CMake。
2.编译
在编译之前,在目录D:\Program Files\opencv-3.1.0\cmake\下找到OpenCVCompilerOptions.cmake文件。
打开文件,找到add_extra_compiler_option(-Werror=non-virtual-dtor)
将它注释掉,变成:
#add_extra_compiler_option(-Werror=non-virtual-dtor)
然后按住快捷键win+R,运行cmd
进入编译输出目录 D:\Program Files\opencv\mingw530(也可以,按住shift同时右键,点击“在此处打开命令窗口”。)
然后输入:mingw32-make命令,编译opencv,此过程时间较长,电脑编译了一个多小时。
直到编译结束。然后输入命令:mingw32-make install ,大约一到两分钟就安装完成了。
四、精简编译后的opencv库文件
编译完成后会发现目标文件夹有一个多G大小,无需担心,我们只需要其中的一部分。
网上很多教程都说要:[保留“bin”、“lib”文件夹,再将原始OpenCV库中的“include”拷贝过来]。这里与其他教程不同的是,我建议只保留 install 文件夹,其他都可以删除。
详细解释如下;观察install目录结构:
小技巧:想生成目录结构到txt文件,可在cmd中转到某目录,输入tree /f > list.txt。
其中,etc中包含两类已经训练好的分类器,分为Haar特征和LBP特征,可以用在人脸识别等程序中;include中是需要的头文件;x86/mingw中则包含bin和lib两个文件夹,其中分别是动态链接库和静态链接库。因此install中已经包含了所有需要的文件。
而install/x86/mingw中的bin和lib与上层目录中的bin和lib有什么区别呢?观察可以发现,install中的bin和lib中少了很多文件名中有“pref”和“test”的文件,这些文件实际上是不需要的。因此只保留install文件夹是最不浪费空间的做法。
删除其他无用的文件夹后,我们所需的库文件只有62.3 MB,压缩一下只有14 MB,这已经很小了。我将制作好的库文件上传到了云盘中,需要的话可以在最下方下载。
五.Qt Creator 中工程文件的配置
首先将编译好的库添加进环境变量,如 D:\opencv_mingw530\install\x86\mingw\bin ,如不添加则会出现程序编译通过但运行时提示“程序异常结束”的问题。
小提示:每次添加或删除环境变量后,都要重启Qt Creator才能生效。
打开Qt Creator,新建工程或者在已有工程文件中打开.pro文件,添加包含头文件的语句:
INCLUDEPATH += D:\opencv_mingw530\install\include
接下来,如果你想使用动态链接库,则再添加:
LIBS += -L D:\opencv_mingw530\install\x86\mingw\bin\libopencv_*.dll
而如果你想使用静态连接库,则要添加:
LIBS += -L D:\opencv_mingw\install\x86\mingw\lib\libopencv_*.a
这里都是使用了“*”包含了所有的链接库,如果想只用一部分则可以这样输入:
LIBS += -L D:\opencv_mingw530\install\x86\mingw\bin\libopencv_calib3d320.dll \
libopencv_core320.dll \
...
小提示:带空格的库路径是不能直接使用的,需要按如下格式输入:
INCLUDEPATH += \$\$quote(D:\opencv_mingw530\install\include)
LIBS += -L \$\$quote(D:\opencv_mingw530\install\x86\mingw\bin\libopencv_*.dll)
在工程上右键点击执行QMake 。
之后进行正常的编译运行即可。
6. 示例程序
网络上的教程到最后示例程序这一步时,很多都是将Qt的原有结构删除,直接给一个opencv的简单程序就完事儿,一般都是显示一张图片。
我这里高级一点,给一个调用摄像头并显示图像的简单示例。这个程序摘自毛星云(浅墨)的《OpenCV3编程入门》。
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
//【1】从摄像头读入视频
VideoCapture capture(0);
//【2】循环显示每一帧
while(1){
Mat frame; //定义一个Mat变量,用于存储每一帧的图像
capture>>frame; //读取当前帧
imshow("video",frame); //显示当前帧
waitKey(30); //延时30ms
}
return 0;
}
主要参考博客:http://www.cnblogs.com/howlclat/p/6433097.html
http://blog.sina.com.cn/s/blog_92bfe91b0102vvvn.html
Win10+QT5.7.1搭建opencv开发环境的更多相关文章
- Qt_mingw搭建opencv开发环境
Qt在windows下共有2个版本:mingw和msvc.其中mingw使用gcc编译器,msvc使用微软的VC编译器.针对不同版本Qt,使用Opencv的方式也不同. 区别 msvc, 可以使用op ...
- 【OpenCV】 在CentOS下搭建OpenCV开发环境
最近开始入模式识别的坑,自然被迫上OpenCV了. 在多次尝试给VS2015扩展Windows 10 SDK无果后(不要问我为啥..VS2015开发C++的标准库全给扔到这个SDK里了,打包在VS安装 ...
- OpenCV2学习笔记02:MSVC2013搭建OpenCV开发环境
我这里编译的库是通过手动编译的.只是需要注意的是,手动编译一般会产生大量的文件,差不多7个多G的样子,实在是有点浪费硬盘存储呀,其实我们可以删除掉没有用的东西.因为我们在编译的时候指定了一个目录比如我 ...
- (12)QT中搭建opencv开发环境
只需要在项目工程文件pro中添加上: INCLUDEPATH += G:/opencv/build/include \ G:/opencv/build/include/opencv \ G:/open ...
- Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境
Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- Windows系统 为 QT5软件 搭建 OpenCV2 开发环境
Windows系统 为 QT5软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Qt5 软件:Qt 5. 7. 0 OpenCV2 版本:OpenCV2.4.10 1 ...
- 在win10环境下搭建 solr 开发环境
在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050 在win10环境下搭建 solr 开发环境 安装环境 Windo ...
- IntelliJ OpenCV 开发环境搭建
Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...
随机推荐
- spring 代码中获取ApplicationContext(@AutoWired,ApplicationListener)
2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVote/234 学习spring框架时间不长,一点一滴都得亲力亲为.今天忽然觉得老是通过@Autowir ...
- Docker 入门之创建service(一)
在一个分布式应用中,我们把应用的不同层叫做"Services".比如,一个视频共享应用,它包含存储数据到数据库的服务,用户上载后后台进行的视频解码服务,前端服务等等. 然而,一个服 ...
- uva1395 枚举不同区间的最小生成树
枚举起点,求最小生成树.如果当前不能实现n个点连通,直接不再枚举. AC代码: #include<cstdio> #include<algorithm> using names ...
- AGC010 - A: Addition
原题链接 题意简述 给出一个个数的数列,每次选出两个奇偶性相同的数合成一个数,问最终能否只剩下一个数. 分析 非常简单的一道题. 两个偶数可以合成一个偶数,两个奇数也能合成一个偶数.所以合并偶数时偶数 ...
- 天气类API调用的代码示例合集:全国天气预报、实时空气质量数据查询、PM2.5空气质量指数等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 全国天气预报:数据来自国家气象局,可根据地名.经纬度GPS.IP查 ...
- elasticsearch分词器Jcseg安装手册
Jcseg是什么? Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言 ...
- (转载)windows下mysql忘记密码
Mysql版本:5.1 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 打开第一个cmd窗口,切换到mysql的bin目录 ...
- 【前端】Vue2全家桶案例《看漫画》之五、引入axios
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_5.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之三、引入vuex
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_3.html 项目github地址:https://github.com/shamoyuu/ ...
- 深度学习菜鸟的信仰地︱Supervessel超能云服务器、深度学习环境全配置
并非广告~实在是太良心了,所以费时间给他们点赞一下~ SuperVessel云平台是IBM中国研究院和中国系统与技术中心基于POWER架构和OpenStack技术共同构建的, 支持开发者远程开发的免费 ...