一、准备工作:

  1下载Qt5.10.0 和 Qt Creator 4.5.0软件(http://download.qt.io/official_releases/qt/)

  2.下载opencv3.40 (https://opencv.org/releases.html)

  3.下载Cmake3.10.1 (https://cmake.org/download/)

二、软件安装

  1.qt软件安装与配置

  ①安装Qt5.10.0,我的安装路径:D:\Qt

  注意点:在弹出的“选择组件窗口”中,选择相关组件(支持QtCreator开发方式如下图所以,支持VisualStudio开发方式则增加相应的MSVC对应的版本),选择组件中关于“Strawberry Perl 5.22.1.3”的不勾选(这个组件在非首次安装时容易报错且当下学习使用不到),勾选下方工具的MinGw5.3.0设置完毕后,点击“下一步按钮”进入下一步安装即可。

  ②安装Qt Creator 4.5.0软件,安装D:\Qt目录下,选项默认即可。

  ③设置环境变量,在系统环境变量path中添加:

  D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin;

  D:\Qt\Qt5.10.0\Tools\mingw530_32\bin

  2. CMake安装和配置

  默认安装,不一定非要安装在C盘,可以放入与QT安装的目录下。

  注意点:在安装过程中勾选“为所有用户添加环境变量”:Add CMake to the system PATH for all users 。

  3.opencv安装

  opencv的安装实际上是解压,解压到用户指定位置,在这里我的目录是D:\Qt,这样安装路径统一在同一个文件夹下。

三、Opencv库的编译

  1.配置CMake编译条件

  ①打开CMake(cmake-gui)。

  ②选择OpenCV安装目录下的源码文件:D:\Qt\opencv3.40\opencv\sources

  ③选择想要编译输出目录文件路径,如统一存在统一目录下,在D:\Qt文件下新建一个opencvbuild3.40 文件夹,选择该路径: D:\Qt\opencvbuild3.40

  ④点击Configure进行配置。

⑤选择MinGW Makefiles,勾选Special native compilers然后点击Next

⑥配置编译器

    在下图1处,C编译器选择D:\Qt\Qt5.10.0\Tools\mingw530_32\bin\gcc.exe;

    在下图2处,C++编译器选择D:\Qt\Qt5.10.0\Tools\mingw530_32\bin\g++.exe

    Fortran不用填写,然后点击finish。注意:此过程保证网络畅通,因为需要下载几个文件。

⑦等待一会儿后,会有一堆红色出现,勾选WITH_QT和WITH_OPENGL,不能勾选WITH_IPP(默认不勾选),再次点击configure。

    注意:若仍有红色出现,再次点击configure直至红色消失(有时需要多次,一般情况下两次即可)。最后,点击Generate按钮,完成后即可关闭CMake。

  2. 编译

  ①在编译之前,在源目录D:\Qt\opencv3.4.0\opencv\source\cmake\下找到OpenCVCompilerOptions.cmake文件。

    记事本打开文件,找到add_extra_compiler_option(-Werror=non-virtual-dtor)

    将它注释掉,前面加#变成:#add_extra_compiler_option(-Werror=non-virtual-dtor)

  ②然后按住快捷键win+R,运行cmd

  进入编译输出目录D:\Qt\opencvbuild3.40,然后输入”mingw32-make“命令. 备注:加速编译时间可以使用可选参指令” mingw32-make -j 8 “(处理器是i7-3770为8核),

  注意点:编译opencv,此过程时间较长,电脑编译了一个多小时。

  ③直到编译结束。然后输入命令:mingw32-make install ,大约一到两分钟就安装完成了。

   注意点:若编译期间出现如下错误:

    错误: ... windres.exe: unknown option -- W ...

    根据提示依据如下思路解决: in cmake uncheck ENABLE_PRECOMPILED_HEADERS

    即:即在3.1.7步骤中Cmake勾选勾选WITH_QT和WITH_OPENGL时候将ENABLE_PRECOMPILED_HEADERS勾选去除,重新configure 并重新编译;

    http://answers.opencv.org/question/168538/building-opencv-with-mingw-gcc-710-and-cmake-390-windresexe-unknown-option-w/

    错误:in the file opencv/sources/modules/videoio/src/cap_dshow.cpp, you have the following error : 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ...

    解决:put the following line: #define NO_DSHOW_STRSAFE, before the line : #include "DShow.h"

    即:在D:\Qt\opencv3.4.0\opencv\source\modules\videoio\src\cap_dshow.cpp中,在#include “DShow.h“上一行中插入: #define NO_DSHOW_STRSAFE

    备注:参考地址:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

四、文件大小

  不同版本的OpenCV编译安装后的文件不同,3.4.0版本编译后750M

  使用2.4.13.3版本文件有1.98G。若需要裁剪倾向请参考如下博文:https://www.cnblogs.com/TooyLee/p/6438070.html

  备注:想生成目录结构到txt文件,可在cmd中转到某目录,输入tree /f > list.txt

  

五、使用Qt 加载OpenCV配置

  ①环境变量添加D:\Qt\opencvbuild3.40\install\x86\mingw\bin

  ②打开Qt Creator新建项目(非Qt项目,纯C++应用),命名为OpenCV后,打开OpenCV.pro文件,添加如下语句:

  INCLUDEPATH += D:\Qt\opencvbuild3.40\install\include

  LIBS += -L D:\Qt\opencvbuild3.40\install\x86\mingw\bin\libopencv_*.dll

  LIBS += -L D:\Qt\opencvbuild3.40\install\x86\mingw\lib\libopencv_*.a

  ③右击项目文件OpenCV文件夹,选择“执行qmake“编译后即可。

六、测试示例程序

 #include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
cv::Mat image;
std::cout << "This image is " << image.rows << " x " << image.cols << std::endl;
//绝对路径+图片名称
image = cv::imread("E:\\QT Project\\OpenCV\\rose.png");
if (image.empty())
{
std::cout << "Can’t loading images. " << std::endl;
     return -;
}
cv::namedWindow("Original Image");
cv::imshow("Original Image", image);
cv::waitKey();
return ;
}

加载图片测试代码段

详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明的更多相关文章

  1. 图文详解如何搭建Windows的Android C++开发环境

    原地址:http://www.apkbus.com/android-18595-1-1.html //================================================= ...

  2. ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置

    原文地址: ArcGIS Runtime for Android开发教程V2.0(2)开发环境配置 - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.c ...

  3. 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法

    对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值: axis = 0 代表对横轴操作,也就是第0轴: axis = 1 代表对纵轴操作,也就是第1轴: nu ...

  4. 详解Window10下使用IDEA搭建Hadoop开发环境

    前言 经过三次重装,查阅无数资料后成功完成hadoop在win10上实现伪分布式集群,以及IDEA开发环境的搭建.一步一步跟着本文操作可以避免无数天坑. 下载安装Hadoop 下载安装包 进入官网下载 ...

  5. 详解eNSP下的单臂路由模拟实验配置

    不同VLAN之间的通信可以通过两种方式:单臂路由和三层交换机.其中,单臂路由是通过路由子接口,交换机的某个端口以trunk的方式与路由器的某个端口相连,同时路由器的链接端口配置子接口,配置子接口承载的 ...

  6. Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置

    2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...

  7. 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)

     环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...

  8. QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置

    引言 24岁的某天,承载着周围人的关心,一路南下.天晴心静,听着斑马,不免对未来有些彷徨.但是呢,人生总要走陌生的路,看陌生的风景,所幸可以听着不变的歌,关心自己的人就那么多.就像是对庸常生活的一次越 ...

  9. Spring NamedParameterJdbcTemplate详解(10)

    NamedParameterJdbcTemplate和JdbcTemplate功能基本差不多.使用方法也类型.下面具体看下代码. db.properties 1 jdbc.user=root 2 jd ...

随机推荐

  1. Selenium+Python进行web自动化测试(Demo+API)

    Selenium官方网站 http://selenium-python.readthedocs.io/ 配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放 ...

  2. python入门学习笔记(二)

    6.6替换元素 7.tuple类型 7.1创建tuple 7.2创建单元素tuple    7.3"可变"的tuple 8.条件判断和循环 8.1,if语句   8.2,if... ...

  3. 手把手教你用.NET Core写爬虫

    写在前面 自从上一个项目58HouseSearch从.NET迁移到.NET core之后,磕磕碰碰磨蹭了一个月才正式上线到新版本. 然后最近又开了个新坑,搞了个Dy2018Crawler用来爬dy20 ...

  4. mvc get image 500

    mvc中get图片时报500错误 很奇怪,突然变500错误了,一番查找之后发现原来是因为mimeType重复定义的原因,吐血.. http://stackoverflow.com/questions/ ...

  5. SpringMvc笔记-对RESTFUL风格的配置

    1.@RequestMapping注解可以使用如下参数: 1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属 ...

  6. Action里面的自带的字段的含义

  7. Mysql5.7在CentOs环境下定时备份数据库

    咱创建一个目录,专门用于存放Mysql的备份文件./data/mysql_bak.写个shell脚本,每分钟备份一次测试以下. 脚本代码: chmod /testdir/backup.sh //给脚本 ...

  8. Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.

    在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...

  9. SmileyFace——基于OpenCV的人脸人眼检测、面部识别程序

    项目地址 https://github.com/guoyaohua/SmileyFace 开发环境 Visual Studio 2010 MFC + OpenCV 功能描述 静态图像人脸检测 视频人脸 ...

  10. JQ小随笔

    JQ  select的val 会自动选择option的val layer 弹窗插件 Validation-Engine验证插件