linux下 qt opencv3.0,详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明

一、准备工作:

二、软件安装

1.qt软件安装与配置

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

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

6e8f005f628b667a2767fc71a57def79.png

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

8b84cdb5bb7c429f4e23586d13247897.png

③设置环境变量,在系统环境变量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进行配置。

b47bf2fadf9f80bd94228991aa3b83d8.png

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

445df745de8a8538a335001194b15dba.png

⑥配置编译器

在下图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。注意:此过程保证网络畅通,因为需要下载几个文件。

88613ce438a9f2fd73acf0128c3c7ea6.png

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

11b7b7239638fcb3c8e7973fe2cb6c29.png

注意:若仍有红色出现,再次点击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)

cdf4c75aa73d3f4879b1d76b7f1383c9.png

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

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

d532917d5823ba9ae07b47c9aba397ce.png

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

704f0b1726e00f060a8d238e34c3ee87.png

③直到编译结束。然后输入命令: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 并重新编译;

错误: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

d96c115fc3681b4251e6fa48e7236ac0.png

四、文件大小

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

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

e17077bdb6ff6d467d801c6f71cbf9a6.png

8ba3becf9ee57e29e64d25e4219e91a7.png

五、使用Qt 加载OpenCV配置

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

b9ec265659920c4b308c6497382a000c.png

②打开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

28edf5915c6e92fb8313ac6d03ce34e7.png

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

六、测试示例程序

e50ff5718fae88ed6bc3676d38405e53161.jpg

587012a1d995f4645287ffde5f1a59b99ad.jpg

1 #include

2 #include

3 #include

4 using namespacecv;5 using namespacestd;6 intmain()7 {8 cv::Mat image;9 std::cout << "This image is" << image.rows << "x" << image.cols <<:endl>

11 image = cv::imread("E:\\QT Project\\OpenCV\\rose.png");12 if(image.empty())13 {14 std::cout << "Can’t loading images." <<:endl return cv::namedwindow image cv::imshow cv::waitkey>

加载图片测试代码段

324d40c6b868cd5509012be19567d867.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值