QT+OpenCV配置

QT+OpenCV配置

  • 1 下载CMake
  • 2 安装CMake
  • 3 下载OPenCV
  • 4 配置环境变量
    • 4.1 配置QT环境变量
    • 4.2 配置CMake环境变量
    • 4.3 重启电脑生效
  • 5 CMake编译OPenCV
    • 5.1 解决报错
  • 6 测试

1 下载CMake

链接:https://cmake.org/download/

QT+OpenCV配置_第1张图片

2 安装CMake

QT+OpenCV配置_第2张图片
QT+OpenCV配置_第3张图片

3 下载OPenCV

链接:https://opencv.org/
QT+OpenCV配置_第4张图片
QT+OpenCV配置_第5张图片
新建两个文件:
opencv_source_4.7.0:存放OPenCV的源码
opencv_build_4.7.0:存放OPenCV编译出来的东西

QT+OpenCV配置_第6张图片
QT+OpenCV配置_第7张图片

4 配置环境变量

4.1 配置QT环境变量

将你使用的编译器加入到环境变量中,我使用的是mingw 64bit,步骤如下:

  1. 找到QT编译器路径
    QT+OpenCV配置_第8张图片
  2. 加入到环境变量中

4.2 配置CMake环境变量

QT+OpenCV配置_第9张图片
在这里插入图片描述

4.3 重启电脑生效

5 CMake编译OPenCV

QT+OpenCV配置_第10张图片

QT+OpenCV配置_第11张图片

QT+OpenCV配置_第12张图片

Compilers路径

C:D:\qt\Tools\mingw810_64\bin\gcc.exe
C++:D:\qt\Tools\mingw810_64\bin\g++.exe

QT+OpenCV配置_第13张图片

5.1 解决报错

  1. CMAKE_MAKE_PROGRAM的value修改为对用的makeD:/qt/Tools/mingw810_64/bin/mingw32-make.exe
    QT+OpenCV配置_第14张图片
  2. Configuring done之后,还会出现报错。勾选WITH_OPENGL和WITH_QT
    QT+OpenCV配置_第15张图片
  3. 查看报错内容发现ffmpge下载报错,如下图:
    在这里插入图片描述
    解决方法:
    进入网址:https://github.com/opencv/opencv_3rdparty/
    QT+OpenCV配置_第16张图片
    点击readme,输入ffmpeg,跟选择对应的版本:

(在OpenCV源码路径G:\opencv_source_4.7.0\opencv\sources\3rdparty\ffmpeg下的ffmpeg.cmake文件可以看到该OpenCV版本需要的ffmpeg版本,一般在该文件的第一行)
QT+OpenCV配置_第17张图片
QT+OpenCV配置_第18张图片
QT+OpenCV配置_第19张图片
下载后解压,进入ffmpeg文件夹:
QT+OpenCV配置_第20张图片
将opencv_videoio_ffmpeg_64.dll、opencv_videoio_ffmpeg.dll、ffmpeg_version.cmake三个文件拷贝到:G:\opencv_source_4.7.0\opencv\sources\.cache\ffmpeg

依次将下载的三个文件的文件名改为对应的这三个文件名即可。(文件名的前半截是该文件的hash码,不能复制错了)

QT+OpenCV配置_第21张图片
点击configure,依然会报错:
QT+OpenCV配置_第22张图片
4. 修改以下内容
在这里插入图片描述

此时应该没错误了。
点击configure,然后点击generate

打开生成目录:
QT+OpenCV配置_第23张图片

将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell,输入 D:/qt/Tools/mingw810_64/bin/mingw32-make.exe

会编译报错如下:

  1. mingw32-make: *** [Makefile:165: all] Error 2
mingw32-make[1]: *** [CMakeFiles\Makefile2:1878: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make[1]: *** Waiting for unfinished jobs....
[ 33%] Built target IlmImf
mingw32-make: *** [Makefile:165: all] Error 2

在这里插入图片描述
解决办法:
cmake界面按钮: add Entry —>>> BOOL —>>> OPENCV_VS_VERSIONINFO_SKIP 打钩
在这里插入图片描述
出错了把之前的make clean掉
QT+OpenCV配置_第24张图片

安装 :D:/qt/Tools/mingw810_64/bin/mingw32-make.exe install

加入环境变量:G:\opencv_build_4.7.0\install\x64\mingw\bin

6 测试

  1. pro文件中加入
INCLUDEPATH += G:\opencv_build_4.7.0\install\include
LIBS += G:\opencv_build_4.7.0\lib\libopencv_*.a
  1. MainWindow中加入
  Mat image=imread("1.png",1);//一定要使用绝对路径,其他可以回报错
    namedWindow( "Display window", WINDOW_AUTOSIZE );
                                           imshow( "Display window", image );

你可能感兴趣的:(QT基础,opencv,qt,计算机视觉)