Qt中配置OpenCV
1. 环境下载
Qt-5.14.2 + opencv-4.4.0 + opencv_contrib-4.4.0 + cmake-3.19.8-win64
在进行配置时请严格按照此版本配置进行,不同版本之间配置过程会有较大差异。
- qt下载:
– 官方下载地址:https://download.qt.io/archive/qt/,下载时最好将下载连接 放到迅雷中进行下载,否则容易中断。
– 使用Qt Creator
进行开发的同学,安装时需要安装MinGW
32位和64位(也可根据需要二选一)。
– 安装完成后将64位的路径添加到path中,路径为:C:\Softwares\PRO\Qt5\Qt5.14.2\Tools\mingw730_64\bin
(一定要选你自己qt的安装位置下对应的tools文件夹
)。在以下内容中为了方便描述用QtRoot
代替C:\Softwares\PRO\Qt5\Qt5.14.2
,即你自己电脑上的Qt安装路径
,在使用时记得替换
。 - opencv下载及安装:
– 官网下载地址:https://opencv.org/releases/ - opencv-contrib下载及安装
- cmake下载及安装
– 官网下载地址:https://cmake.org/download/
– 安装过程中记得勾选添加换进变量
– 关于CMake
2. 进行编译和安装
2.1 新建opencv-build文件夹,用于opencv的 编译和安装(直接在opencv下新建即可)
2.2 CMake设置
2.2.1 选取源码路径 和 编译路径:源码路径为opencv下的
source文件夹,
编译路径即为刚刚新建的
opencv-build`文件夹。
2.2.2 选择编译器:然后点击Configure
(第一次),在选择编译器时选择第二项本地的编译器(specify native compilers
),然后点next
。
在编译器选择界面,选择自己安装的qt下的gcc和g++编译器,路径分别为:QtRoot/Tools/mingw730_64/bin/gcc.exe
和QtRoot/Tools/mingw730_64/bin/g++.exe
。Fortran不用选择。然后点击Finish按钮。注意是Tools
下的mingw730_64
2.2.3 选择WITH_OPENGL和WITH_QT:在下图界面中搜索WITH_OPENGL
和WITH_QT
,都勾选上,然后点击Configure
按钮(第二次)。
2.2.4 第一次报错及解决方法 :
此时会提示错误信息:Error in configuration process,project files may be invalid
。
解决方法:在CMakeLists.txt
文件中添加一句话set (CMAKE_PREFIX_PATH "D:\\Qt5.12.2\\5.12.2\\mingw73_64\\")
,CMakeLists.txt文件位置
:OpencvRoot/sources/CMakeLists.txt
。
再次点击configure
按钮(第三次),完全没有问题后显示configuring done,然年点击Generate
按钮,完成后可以关闭CMake软件。
2.3 命令行进行编译安装
在opencv-build文件夹中按着Shift按钮+鼠标右击
打开Powershell
输入:mingw32-make -j 8
将会在进行到40%的时候报告错误:gcc: error: long: No such file or directory
,原因是没有添加 opencv-contrib库
解决方法:编辑flags.make
文件,文件位置:OpenCVRoot/opencv-build/modules/core/CmakeFiles/opencv_core.dir/flags.make
,替换RC_DEFINNNES
这一行,可以使用#号注释掉,然后将下面这句话粘贴到文件中:
RC_DEFINES = -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D_WIN32_WINNT=0x0601 -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
再次输入mingw32-make -j 8
,(需要等待较长时间,可以去倒杯水喝)
编译完成后输入命令:mingw32-make install
,进行安装。
安装完成后添加环境变量:OpenCVRoot/opencv-build/install/x64/mingw/bin
,OpenCVRoot/opencv-build/install/
为默认的编译后opencv安装文件夹。
3. Qt测试
新建项目:
项目名(创建路径),下一步。
可以不选语言(None)
64位
可以不添加版本控制(None)
.pro文件
中添加如下内容,注意一定要换成自己的路径
:
INCLUDEPATH += C:\Softwares\PRO\OpenCV\opencv\opencv-build\install\include
LIBS += C:\Softwares\PRO\OpenCV\opencv\opencv-build\lib\libopencv_*.a
在mainwindow中包含以下文件,并使用命名空间:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d.hpp>
using namespace cv;
读取图片并显示
Mat image = imread("C:/Users/DigiE/Pictures/111.jpg",1);
namedWindow( "Display window");
imshow("Display window", image );
waitKey(0);
4. 其它问题
4.1 若电脑上安装有PyQt
4.2 电脑无法访问wai网
可以找中转网址,下载好后放到对应的文件夹下。