目录
B站视频讲解https://www.bilibili.com/video/BV1zNvkeAEZy?p=18
GitHub源码https://github.com/KeepTryingTo/QT_Learning/tree/main/QtOpenCV/QtOpenCV_imread
本文虽然将会讲解关于QT中配置OpenCV环境的流程,虽然已有文章对其进行了详解,但是本文将从直接使用OpenCV官方提供的编译文件和自己使用MSVC(Microsoft Visual C++ Compiler)编译源代码两种方法讲解,过程中需要注意的问题都会列举出来,我相信读者看完之后将会有不少的收获。环境配置完成之后就是代码的测试,最后给出一个demo测试,源代码已经给出。
OpenCV下载 |
visual studio 2022下载和安装以及CMake安装和下载 |
注:关于对源代码的编译之前的一篇文章已经讲过(QT6.6.0和QT6.0以下的版本实现FTP文件上传和下载),但是本文还是会讲解,因为对源代码的编译是很多读者在学习过程中必然需要经过的。
工具 | 版本 |
---|---|
visual studio | 2022 |
CMake | 3.29.3 |
QT(MSVC) | 6.6.0(2019) |
1.方式一:直接使用官方提供的build
Qt中直接使用官方提供的build
注意上面这张图片表示在QT中新建工程文件的时候使用的编译器为MSVC(Microsoft Visual C++ Compiler),否则会报以下的错误(如果切花到MinGW编译器,这个错误目前不知道该怎么解决)。
2.方式二:MSVC对OpenCV源码编译
(关于CMake怎么编译源码之前QT6.6.0和QT6.0以下的版本实现FTP文件上传和下载已经详解,这里给出一些关键需要注意的地方)。
注:点击Configure的具体操作和之前的文章给出的一样。
注:关于这个错误的解决方案,请看https://blog.csdn.net/nownow_/article/details/137913104,对于出现的一些警告可以不用管。
注:关于这个依赖库lib以及头文件include的导入方式和上面给出的视频一样,但是最后结果还是需要修改一下,如下图:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../OpenCV/CMake_OpenCV/install/lib/ -lopencv_core455 -lopencv_highgui455 -lopencv_imgcodecs455 -lopencv_imgproc455
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../OpenCV/CMake_OpenCV/install/lib/ -lopencv_core455 -lopencv_highgui455 -lopencv_imgcodecs455 -lopencv_imgproc455
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../OpenCV/CMake_OpenCV/install/bin/ -lopencv_core455 -lopencv_highgui455 -lopencv_imgcodecs455 -lopencv_imgproc455
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../OpenCV/CMake_OpenCV/install/bin/ -lopencv_core455 -lopencv_highgui455 -lopencv_imgcodecs455 -lopencv_imgproc455
INCLUDEPATH += $$PWD/../../../../OpenCV/CMake_OpenCV/install/include
DEPENDPATH += $$PWD/../../../../OpenCV/CMake_OpenCV/install/include
3.方式三:MinGW对OpenCV源码编译
系统环境变量Path中加入以下路径配置:
D:\SoftwareFamily\QT\qt\6.6.0\mingw_64\bin
D:\SoftwareFamily\QT\qt\Tools\mingw1120_64\bin
进入刚才创建的文件:MinGW_OpenCV用于保存编译的结果
编译完成之后输入如下命令:ming32-make install
已经编译完成,并且得到编译之后的头文件以及依赖库.lib,关于怎么在QT中导入该库,前面已经讲解,过程是差不多的。
Qt中OpenCV的基本使用