为QT安装OpenCV
安装环境
QT creator 5.14.1
cmake 3.26.0
OpenCV 4.1.0
windows10/windows11
安装环境一致可以直接参考本文,若不一致后不成功,推荐降低OpenCV版本。
下载程序
OpenCV:https://opencv.org/releases/
cmake:http://www.cmake.org/
QT安装较为常见,记得在点选SDK的时候添加Mingw的编译器
安装
Cmake和OpenCV都属于傻瓜安装,,尽量让opencv的extract的文件夹和QT在同磁盘。
OpenCV文件夹下新建一文件夹为Opencv-build,后续编译的文件都放在这个文件夹下。
打开Cmake,source code和build如图,然后configure。
解释器选择MingW makefile,后面的C和C++的解释器都从QT的文件夹C:\Qt\Qt5.14.2\Tools\mingw730_32\bin下寻找gcc和g++。
configure结束后不要点选generate,将这两个文件,复制到C:\OpenCV\opencv\sources\3rdparty\ffmpeg
该文件的下载地址可以在https://github.com/opencv/opencv中找到,但是需要对应的版本,选择版本可以参考ffmpeg.camke文件中的
另一方面为了避免配置时间太长,也可以在文件下面网址处修改:
然后取消勾选WITH_OPENCL_D3D11_NV,WITH_IPP,ENABLE_PRECOMPLIED_HEADR.
勾选WIHT_OPENGL,WITH_OPENMP,ENABLE_CXX11,BUILD_OPENCV_WORLD.
最后一步记住,不然编译到60%左右时会出错。
add Entry —>>> BOOL —>>> OPENCV_VS_VERSIONINFO_SKIP 打钩
然后generate。结束后进入opencv-build文件夹中,管理员权限打开powershell
输入mingw32-make -j 8
除非前面步骤有误,否则这里不会报错。结束后输入mingw32-make install
复制文件到QT安装文件夹中
- 将C:\OpenCV\opencv\opencv-build\lib下的文件复制到C:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib下
- 将C:\OpenCV\opencv\opencv-build\bin下的文件复制到C:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin
- 在C:\Qt\Qt5.14.2\5.14.2\mingw73_32\include新建opencv文件夹,并将C:\OpenCV\opencv\opencv-build\install\include下的文件复制过来。
测试
新建工程,在pro文件中添加以下语句
LIBS += C:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib\libopencv_*.a
INCLUDEPATH += C:\Qt\Qt5.14.2\5.14.2\mingw73_32\include\OpenCV
需要匹配自己的文件目录。
修改mianwindow.c文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
cv::Mat img = cv::imread("C:\\Users\\Ozward\\Pictures\\16202648853907087.jpg");
cv::imshow("test", img);
cv::waitKey(0);
}
MainWindow::~MainWindow()
{
delete ui;
}
编译后可以看到可以显示图片