锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Windows 10下Qt配置OpenCV的C++环境(MinGW)

时间:2022-12-04 04:00:00 12zj自加热风速传感器28121zj圆形电连接器插头

Windows 10下Qt配置OpenCV的C 环境(MinGW)

使用软件:

Qt 5.14.2 cmake 3.15.7 openCV  4.5.3 

一、Qt安装

1.下载

??下载地址:download.qt.io
??选择版本:Qt 5.14.2
??Qt 5.14.2百度网盘下载地址:
??链接:https://pan.baidu.com/s/1ycfiU34xCnBvbnSBoCrtIw
??提取码:zj4c

2.安装

在这里插入图片描述

??填写Qt账号(没有账号Sign-up一栏注册)。











??漫长的等待…


??将快捷方式添加到桌面:


??Qt安装完成!
??添加MinGW环境变量:

 Qt安装路径\Tools\mingw730_32\bin 

二、CMake安装

1.下载

??CMake是跨平台编译工具,OpenCV是使用C/C 官方网站提供的版本Qt不能直接使用,需要使用CMake重新编译Qt可用的版本。
??下载各版官网地址:https://cmake.org/files/
??选择版本:cmake-3.15.7-win64-x64.msi(CMake版本选择无所谓)
??cmake 3.15.7百度网盘下地址:
??链接:https://pan.baidu.com/s/1WFWYT1IGdpCp4wlMziLZDA
??提取码:x5jn

2.安装








??将快捷方式添加到桌面:


??CMake安装完成!

三、OpenCV安装

1.下载

??下载地址:https://opencv.org/releases/
??选择版本:opencv 4.5.3
??opencv 4.5.3百度网盘下载地址:
??链接:https://pan.baidu.com/s/1vzkp3BfFZGmO0kDx3ThYVw
??提取码:m2xo

2.安装



??OpenC安装完成!

四、opencv_contrib

??3.0版本以后的OpenCV中,SURF和ORB该特征提取算法对应的库opencv_contrib模块是独立的,建议安装opencv_contrib模块。
??下载地址:https://github.com/opencv/opencv_contrib/tags
??选择版本:opencv_contrib 4.5.3(需要与OpenCV版本相同,否则编译时可能会报错)
??opencv_contrib 4.5.3百度网盘下载地址:
??链接:https://pan.baidu.com/s/1o4t-qugwC-_XMvV3Yx9Mkg
??提取码:vuwc
??为便于管理,将下载的文件解压到OpenCV在安装路径下。

五、环境配置

??Qt搭建OpenCV官方文档:
??https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
??确保在构建环境之前MinGW环境变量和CMake添加了环境变量:


??在OpenCV新建安装目录MinGW编译输出文件夹,随意命名opencv_build


??双击运行cmake-gui,按下图填写。



??分别在“C”、“C ”中填写Qt安装路径下的相应编译路径:

 Qt安装路径/Tools/mingw730_32/bin/gcc.exe  Qt安装路径/Tools/mingw730_32/bin/g  .exe 


??发现出现CMake Warning,打开编译输出文件夹CMakeDownloadLog.txt查看具体错误(即使没有CMake Warning,还需要查看此文件)。




??放入下载的文件源码(即sources目录)路径下面对应的文件夹。


??接下来检查一些选项(最好不要漏,漏,你知道)。

 勾选WITH_QT  勾选WITH_OPENGL  不勾选WITH_IPP  不勾选WITH_OPENCL_D3D11_NV  勾选ENABLE_CXX11  不勾选ENABLE_PRECOMPILED_HEADERS  勾选OPENCV_ENABLE_NONFREE  不勾选OPENCV_ENABLE_ALLOCATOR_STATS 

??由于版本原因,没有上述选项,也没有提到默认选项。



??再次点击“Configure”。


??不用担心上述错误,只看控制台的错误报告。Qt5_DIR”为Qt安装目录下的Qt5文件夹路径:

 Qt安装路径/5.14.2/mingw73_32/lib/cmake/Qt5 


??再次点击“Configure”。



??再次点击“Configure”。


??点击直到没有红色选项,Generate”。


??cmake编译opencv完成!
??接下来,打开cmd,输出文件进行编译(opencv_build)输入以下命令:

  mingw32-make -j 8 

??“-j 8表示使用8线程,可根据计算机硬件条件进行调整。单线程编译命令如下:

  mingw32-make 


??漫长的等待…


??最后,执行以下命令:

 mingw32-make install 




??在环境变量中添加以下路径:

 OpenCV安装路径\opencv\opencv_build\install\x64\mingw\bin 

六、测试

??打开QtCreator,新建“MainWindow类项目.pro输入文件(INCLUDEPATH”和“LIBS根据具体路径调整值:

QT        = core gui  greaterThan(QT_MAJOR_VERSION, 4): QT  = widgets  CONFIG  = c  11  # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES  = QT_DEPRECATED_WARNINGS  # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of t.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

INCLUDEPATH += D:\Downloads\OpenCV\opencv\build\include\
                D:\Downloads\OpenCV\opencv\opencv-build\install\include

LIBS += D:\Downloads\OpenCV\opencv\opencv-build\bin\libopencv_*.dll

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

  在mainwindow.cpp文件中输入(图片的路径需要具体调整):

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

#include 
#include 
#include 
#include 

using namespace cv;
using namespace xfeatures2d;

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

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

}

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

  编译运行。


  编译不报错,且出现以上结果证明Qt配置OpenCV环境成功!
  接下来就是在Qt的世界里尽情地玩耍OpenCV!
  各版本Opencv模块介绍:https://docs.opencv.org/4.5.3/index.html

参考资料

  1.https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
  2.https://zhuanlan.zhihu.com/p/326284759
  3.https://blog.csdn.net/zhizhengguan/article/details/107567449
  4.https://www.bilibili.com/video/BV1Za4y1v7ra?p=1

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章