Windows+QtCreater+Opencv环境配置(成功运行)

不得不说,这个过程踩的坑实在是太多了,今天把这个写下来,以做备用。

目录

一、下载准备

1.QtCreater

2.Opencv

3.cmake

二、软件环境安装

1.Cmake安装

①安装过程一路next,除非自己指定安装路径以及环境变量路径,这里就直接让软件自己默认安装以及添加环境变量路径。

2.opencv安装

①指定Opencv安装路径

②进行安装

③安装完成

3.Qtcreater/Qt安装

 ①打开软件

② skip

③记录安装位置 

④勾选Qt安装选项

⑤QtTools选项

⑥同意选项

⑦进行安装

⑧环境变量配置

三、编译Opencv(重头戏)

1.打开cmake(最好每次先清除下cache)

2.在刚才的Opencv解压根目录下创建opencv_build文件夹。(具体名称个人定,但尽量不要有中文)

3.cmake中指定opencv源码目录以及输出目录(刚才创建好的文件夹)

4.点击configure,首次配置编译方式 

5.指定编译

6.finish编译

7.更改编译设置

①勾选WITH_QT和WITH_OPENGL

②填写QT5目录

③关闭python选项

④取消OPENCV_ENABLE_ALLOCATOR_STATS

⑤更改发布版本

8.再次编译

9.生成

10.关闭cmake

11.cmd进入刚创建opencv输出目录下

12.根据核心线程编译

13.漫长等待

14.编译完成

15.install 安装

16.添加环境变量

 四、Qt启动

1.新建项目

2.选择MinGw

3.生成项目

4.修改.pro项目文件

5.添加opencv程序

 6.release运行


一、下载准备

1.QtCreater

这里我是通过清华镜像源下载的,具体版本为:

- - Qt5.9.89(32bit)

- - QtCreater4.8.2

清华镜像源Qt下载网址

下载界面如下:

下载这个之后,默认是Qt5.9.8+QtCreater4.8.2,安装过程在后面。

在这里疑惑过一段时间,是关于32bit与64bit的问题。因为在我的mac本上,我默认安装的是X64的安装包,之前编译的Opencv也是默认编译的x64,所以按照一般的帖子,只要把环境路径往QtCreater的pro文件那么一填,就能够成功运行。但是隔天我到windows的电脑上这样操作就不行,网上windows->qt一般全是32位,那么qt中的mingw安装也是32位的,而Opencv下载之后,预编译版本只有64位的,这就可能造成Opencv的库文件不能进行调用的情况(我是出现了错误,但不确定是否是因为这个情况)。所以就需要用32位的mingw去进行编译,生成32位版的opencv连接库,那么就可以和Qt中的32位配套了。

2.Opencv

这里建议Opencv的版本不要过高,我选择的是Opencv4.4版本。

Opencv下载地址

下载界面如下:

 在Opencv官网中,推荐的安装方式有两种,一个是预编译版本的,一个是自编译版本的,我们下载的属于是预编译版本的,里面文件将将涵盖编译好的build文件与source源文件,在build文件家中有x64的lib,dll文件供调用,对于一般的vs+Opencv开发,这个就够了,只需要将Opencv的环境配置以下,以及vs软件的库索引、lib连接加载以下就ok,这个网上很多,一般也都能配置成功,不再多说。

3.cmake

我们用Cmake的目的是将Opencv的源文件写成Makefile文件,告诉mingw怎么去编译它。整个过程比较复杂,比自己手写CmakeLists.txt要方便许多,这一步也是必须的。

下载的时候,尽量下载较新的版本,因为低版本的cmake可能会在某一个过程中不受支持而导致整个项目失败。

Cmake下载链接

这里为了保险,暂时也下载32位的。

到这里,安装包准备完毕。

二、软件环境安装

整个过程在干净的虚拟机中进行操作。

1.Cmake安装

①安装过程一路next,除非自己指定安装路径以及环境变量路径,这里就直接让软件自己默认安装以及添加环境变量路径。

        

安装成功后,可以看到环境变量中已经存在了cmake的环境变量。

2.opencv安装

①指定Opencv安装路径

②进行安装

③安装完成

3.Qtcreater/Qt安装

 ①打开软件

② skip

③记录安装位置 

④勾选Qt安装选项

MinGW 5.3.0 32-bit 以及所有的Qt选项

⑤QtTools选项

主要勾选MinGw

⑥同意选项

⑦进行安装

等待时间较长。

很棒,99%卡着了:

安装完成

⑧环境变量配置

找到刚安装的QT目录下的路径:C:\Qt\Qt5.9.8\Tools\mingw530_32\bin,添加到环境变量中。

三、编译Opencv(重头戏)

这个过程比较扯,很多次都死到这个地方,需要注意下。

1.打开cmake(最好每次先清除下cache)

2.在刚才的Opencv解压根目录下创建opencv_build文件夹。(具体名称个人定,但尽量不要有中文)

3.cmake中指定opencv源码目录以及输出目录(刚才创建好的文件夹)

源码目录:C:/opencv/opencv/sources

输出目录:C:/opencv/opencv/opencv_build

4.点击configure,首次配置编译方式 

这个一定要按这个方式来配!

MinGW Makefiles + Specify native compilers

这个生成好本地makefile之后,我们会用QT自带的32位的mingw去编译。

5.指定编译

编译器的路径在刚才安装好的Qt中,下面是我的目录:

gcc.exe: C:/Qt/Qt5.9.8/Tools/mingw530_32/bin/gcc.exe

g++.exe:C:/Qt/Qt5.9.8/Tools/mingw530_32/bin/g++.exe

6.finish编译

此时,是在编译过程中的,时间较长,等待结束。

此过程,全程应该是正常的,不应有报错红字出现,如果有,注意排查问题。

7.更改编译设置

等待上步结束,执行以下操作:

①勾选WITH_QT和WITH_OPENGL

点击configure编译一遍。

②填写QT5目录

上步编译后,将出现错误:

点击确定,填写QT5目录:

我的QT5的目录为:C:/Qt/Qt5.9.8/5.9.8/mingw53_32/lib/cmake/Qt5

这里建议点击按钮进行路径选择,不要直接复制,以免引起不必要的麻烦。

③关闭python选项

这个步骤是在试错了无数次后,发现的问题,尽管有时候可以添加python2,python3的路径,但是在最后的阶段,总会报出 can't find "all"之类的错误,这里直接将Python取消勾选。

④取消OPENCV_ENABLE_ALLOCATOR_STATS

搜索:OPENCV_ENABLE_ALLOCATOR_STATS,取消勾选

⑤更改发布版本

 搜索:MAKE_BUILD_TYPE,改为release

8.再次编译

点击configure 再次编译。

9.生成

编译完成后,点击生成

10.关闭cmake

出现如下界面,cmake的任务就结束了,关闭cmake

11.cmd进入刚创建opencv输出目录下

12.根据核心线程编译

mingw32-make -j [+线程数] 

根据自身电脑线程数进行更改,提升速度,我的是虚拟机,只有2。

13.漫长等待

这个过程中,如果短暂卡住停滞了,按下回车确定。

14.编译完成

15.install 安装

mingw32-make install 

16.添加环境变量

将编译完成后的bin目录进行添加,我的目录是:C:\opencv\opencv\opencv_build\install\x64\mingw\bin

 四、Qt启动

1.新建项目

2.选择MinGw

3.生成项目

4.修改.pro项目文件

添加路径,具体路径根据自己安装目录进行修改。

INCLUDEPATH += C:\opencv\opencv\opencv_build\install\include
INCLUDEPATH += C:\opencv\opencv\opencv_build\install\include\opencv2

LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_core440.dll
LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_highgui440.dll
LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_imgcodecs440.dll
LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_imgproc440.dll
LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_features2d440.dll
LIBS += C:\opencv\opencv\opencv_build\install\x64\mingw\bin\libopencv_calib3d440.dll

5.添加opencv程序

将mainwindow.cpp修改至如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // read an image
    cv::Mat image = cv::imread("C:/1.jpg", 1);
    // create image window named "My Image"
    cv::namedWindow("My Image");
    // show the image on window
    cv::imshow("My Image", image);
}

MainWindow::~MainWindow()
{
    delete ui;
}

 6.release运行

 大功告成!


 整个过程比较艰辛,绝大部分原因是自己对编译理解不到位,以至于现在我仍旧是不懂:最终目标我才用的是32bit编译,但是opencv仍出现的是x64的安装目录,但好在还是运行成功了。像刚开始所说,我mac本的x64是直接能用的,但是换到windows上x64的opencv dll文件使用起来是有问题的,所以才有了这整个过程,如果你的能够直接使用,不用这么麻烦,那么是再好不过了。

整体来说是能用了,但遗留了一个问题,为什么编译出来的Opencv,install之后仍是x64,而不是x86呢?

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Windows Qt5.9.7是一种集成开发环境,常用于跨平台应用程序的开发。它是由Qt公司开发的一组C++库和工具,可用于开发桌面、移动和嵌入式应用程序。 而OpenCV(开源计算机视觉库)是一个用于图像处理和计算机视觉任务的开源库。它包含了超过2500多个优化的算法,可以帮助我们实现图像处理、特征提取、目标检测、机器学习等任务。 在Windows上,我们可以结合QtOpenCV来进行图像处理和计算机视觉任务的开发。首先,我们需要在Windows上安装QtOpenCV。安装过程可以在它们的官方网站上找到详细的安装指南。 安装完成后,我们可以在Qt项目中引入OpenCV库。在Qt Creator中,我们可以通过在.pro文件中添加相应的配置来引入OpenCV库,并在代码中使用OpenCV的函数和类。 使用QtOpenCV,我们可以实现各种图像处理和计算机视觉任务。例如,我们可以读取图像、调整图像的亮度和对比度、应用图像滤波器、检测图像中的目标、跟踪目标等。同时,我们也可以将这些处理结果和Qt的图形界面组件结合起来,实现一个交互式的图像处理应用程序。 总结来说,Windows Qt5.9.7和OpenCV是非常强大的工具,可以帮助我们进行图像处理和计算机视觉任务的开发。通过结合它们的功能,我们可以实现各种强大的应用程序,从而满足不同领域的需求。 ### 回答2: Windows下使用Qt5.9.7和OpenCV开发图像处理应用的步骤如下: 1. 首先,确保已经成功安装了Qt5.9.7和OpenCV。可以在Qt官网下载Qt5.9.7的安装包,并在OpenCV官网下载相应版本的库文件。 2. 创建一个新的Qt项目,在Qt Creator中选择菜单中的“新建项目”,然后选择“应用-> Qt Widgets应用”模板,命名并保存项目。 3. 使用Qt Creator导入OpenCV库文件。在Qt Creator中的项目文件夹中找到自动生成的.pro文件,右键点击并选择“编辑文件”,然后在该文件中添加以下行: ``` INCLUDEPATH += path_to_opencv_include_dir LIBS += -Lpath_to_opencv_lib_dir -lopencv_core -lopencv_imgproc -lopencv_highgui ``` 将`path_to_opencv_include_dir`和`path_to_opencv_lib_dir`替换为你本地OpenCV库文件的路径。 4. 创建一个Qt窗口界面,用于显示和处理图像。在Qt Creator中,选择“设计”视图,然后从组件面板中选择所需的窗口组件,设计出你想要的界面。 5. 在代码编辑器中,使用Qt槽函数实现对按钮点击事件的响应,比如打开图像文件、图像处理等功能。 6. 在槽函数中调用OpenCV的功能函数进行图像处理。通过包含OpenCV头文件和调用相应的功能函数,比如`cv::imread()`读取图像文件,`cv::cvtColor()`转换颜色空间等。 7. 使用Qt的图像类`QImage`将OpenCV处理后的图像数据转换为可显示的格式,并显示在窗口界面中。 8. 编译和运行应用程序,进行调试和测试,确保功能正常。 总结:以上就是在Windows平台下使用Qt5.9.7和OpenCV开发图像处理应用的大致步骤。通过QT Creator集成OpenCV库,可以方便地进行图像处理操作,并显示在Qt窗口界面中,为图像处理应用的开发提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值