三、Qt配置opencv环境(详细,简易)

三、Qt配置opencv环境(详细,简易)

文章目录

  • 三、Qt配置opencv环境(详细,简易)
    • 3.1 软件准备
    • 3.2 Qt安装
    • 3.3 cmake安装
    • 3.4 opencv安装
    • 3.5 cmake配置opencv
    • 3.6 编译安装opencv
    • 3.7 Qt测试opencv代码
    • 3.8 编译常见错误

软件 网盘链接
Qt5.13.2 链接:https://pan.baidu.com/s/12koMqoh1UauwgFCC_gmn5Q 提取码:qmlb
cmake3.11.1 同上
Opencv3.4.9 同上

路径请不要用中文! 路径请不要用中文! 路径请不要用中文!

3.1 软件准备

  1. Qt5 (Qt官网下载https://download.qt.io/archive/qt/):选择版本:5.13.2

  2. cmake(cmake官网下载https://cmake.org/files/):选择版本:3.11.1(不做版本要求)

  3. OpenCV(OpenCV官网下载https://opencv.org/releases):选择版本:3.4.9

3.2 Qt安装

  1. 双击运行qt-opensource-windows-x86-5.13.2.exe程序,

  2. 填写邮箱密码(如果没有邮箱密码,可以先去Qt官网注册一个)

  3. 选择安装目录:(不要有中文
    三、Qt配置opencv环境(详细,简易)_第1张图片

  4. 选择Qt安装组件:

    Qt 5.13.2
    	MinGW 7.3.0 64-bit
    	Sources
    Developer and Designer Tools
    	MinGW 7.3.0 64-bit 
    
  5. 其他默认安装

  6. 添加环境变量到系统:在系统的Path中新增如下两条环境变量(Qt安装路径按自己实际修改)
    三、Qt配置opencv环境(详细,简易)_第2张图片

3.3 cmake安装

  1. cmake-3.11.1-win64-x64.zip解压到D盘路径

  2. 添加环境变量到系统
    三、Qt配置opencv环境(详细,简易)_第3张图片

3.4 opencv安装

  1. 运行 opencv-3.4.9-vc14_vc15.exe 程序(其本质是一个压缩包,运行是对其解压)

  2. 解压时填写路径,(我解压到D盘,所以填写D:\)

  3. 会在 D:\opencv 生成如下源码:其中build为编译后Windows环境下编译好的可执行文件,sources为未编译过的源代码。
    三、Qt配置opencv环境(详细,简易)_第4张图片

    build文件只能在vs中使用,不能在Qt中使用,如果要在Qt中使用Opencv,需要从新编译opencv源码

    所以下面我们通过cmake重新编译opencv源码

3.5 cmake配置opencv

  1. 打开D:\cmake-3.11.1-win64-x64\bin\cmake-gui.exe

  2. 填写信息

    Where is the source code:选择OpenCV解压的源文件文件夹位置;
    Where to build the binaries:选择自定义的空文件夹用于保存生成对象 (不要有中文)
    三、Qt配置opencv环境(详细,简易)_第5张图片

  3. 填写完成,点击左下角Configure按钮

  4. 选择MinGW编译器
    三、Qt配置opencv环境(详细,简易)_第6张图片

  5. 点击NEXT按钮,选择Qt里面的gcc和g++编译器路径(点击…去重新选择一下,不然可能会报错)
    三、Qt配置opencv环境(详细,简易)_第7张图片

  6. 点击finish后即会开始配置,配置需要几分钟左右,等待配置结束出现如下界面
    三、Qt配置opencv环境(详细,简易)_第8张图片

  7. 修改配置如下:

    ENABLE
    	ENABLE_CXX11(选中)
    WITH
    	WITH_OPENGL(选中)
    	WITH_QT(选中) 
    	WITH_IPP(不选)
    
  8. 修改完点击Configure,配置完成会出现如下界面
    三、Qt配置opencv环境(详细,简易)_第9张图片

  9. 再次点击Configure,配置完成会出现如下界面:
    三、Qt配置opencv环境(详细,简易)_第10张图片

  10. 如下图所示,去掉CMAKE的Debug,修改为如下

    CMAKE
    	CMAKE_CONFIGURATION_TYPES    Release
    
  11. 修改完再次点击Configure:

  12. 点击Generate,等待配置结束
    三、Qt配置opencv环境(详细,简易)_第11张图片

3.6 编译安装opencv

  1. 打开CMD窗口,进入生成OpenCV目标文件的文件夹(window10可以使用powershell)

    cd D:\opencv\install
    三、Qt配置opencv环境(详细,简易)_第12张图片

  2. 使用下面命令开始编译opencv,需要20分钟左右

    mingw32-make -j 8

    其中, -j 8 代表多核编译

    注意:编译过程中如果出现错误,可先看后面常见错误章节。

  3. 编译完成
    三、Qt配置opencv环境(详细,简易)_第13张图片

  4. 编译完成之后,输入如下指令安装

    mingw32-make install

  5. 安装完成如下
    三、Qt配置opencv环境(详细,简易)_第14张图片

  6. 编译完会在,D:\opencv\install\中又生成一个install文件夹
    三、Qt配置opencv环境(详细,简易)_第15张图片

  7. 将编译生成的路径D:\opencv\install\install\x64\mingw\bin添加到环境变量中(Qt才能调用到opencv)
    三、Qt配置opencv环境(详细,简易)_第16张图片

3.7 Qt测试opencv代码

  1. 创建qt工程
    三、Qt配置opencv环境(详细,简易)_第17张图片

  2. 选择路径(一定不能是中文,否则qt报错)
    三、Qt配置opencv环境(详细,简易)_第18张图片

  3. 其他默认选择

  4. 在Qt工程的pro文件添加如下内容(路径根据自己实际修改)

    #若将D:/opencv/install/install/include添加到环境变量,下面INCLUDEPATH这三行可以不写
    INCLUDEPATH += D:/opencv/install/install/include/opencv \
                D:/opencv/install/install/include/opencv2  \
                D:/opencv/install/install/include
    
    LIBS += -L D:/opencv/install/install/x64/mingw/lib/libopencv_*.a
    
    #添加环境变量之后可以不使用绝对路径
    #LIBS += -L libopencv_*.a
    

    三、Qt配置opencv环境(详细,简易)_第19张图片

  5. 修改Qt工程的main.cpp文件如下,(注意自己图片路径)

    #include 
    #include 
    #include 
    #include 
    using namespace cv;
    int main()
    {
        Mat img=imread("F:/add2.jpg"); //读入一张图片
        cvNamedWindow("test"); //创建一个名为"蜡笔小新"的显示窗口
        imshow("test", img);   //在窗口中显示图像
        waitKey(10000); //延时10000ms后关闭窗口
        return 0;
    }
    
    

    三、Qt配置opencv环境(详细,简易)_第20张图片

3.8 编译常见错误

1、在执行mingw32-make的时候出现如下错误
三、Qt配置opencv环境(详细,简易)_第21张图片

找到上图提醒的文件D:\opencvSource\modules\core\CMakeFiles\opencv_core.dir\build.make

打开build.make,定位到1339行

修改"D:\Program Files\mingw64\bin\windres.exe"

为 “D:\Qt\Tools\mingw530_32\bin\windres.exe”(自己Qt安装目录下的TooLs\mingw530_32\bin\windres.exe)

2、该错误与上面相似,
三、Qt配置opencv环境(详细,简易)_第22张图片

找到上图提醒的文件D:\opencvSource\modules\imgproc\CMakeFiles\opencv_imgproc.dir\build.make

打开build.make,定位到1166行

修改"D:\Program Files\mingw64\bin\windres.exe"

为 “D:\Qt\Tools\mingw530_32\bin\windres.exe”(自己Qt安装目录下的TooLs\mingw530_32\bin\windres.exe)

3、错误如下图
三、Qt配置opencv环境(详细,简易)_第23张图片

解决方法:在cmake里面找到OPENCV_ENABLE_ALLOCATOR_STATS或者在search里面搜索,然后把后面的勾选去掉,接着Configure和Generate后,接着在cmd窗口中mingw32-make即可继续编译

4、错误如下图
三、Qt配置opencv环境(详细,简易)_第24张图片

在**opencv源码**中找到提示错误的C:\Users\29017\Downloads\Compressed\opencv-3.4.8\modules\videoio\src\ cap_dshow.cpp 文件

打开cap_dshow.cpp

在#include "precomp.hpp"下面添加

#define STRSAFE_NO_DEPRECATE

5、错误如下图
三、Qt配置opencv环境(详细,简易)_第25张图片

在**opencv源码**中找到提示错误的modules/photo/CMakeFiles/opencv_test_photo.dir/test/test_hdr.cpp文件

在#include "test_precomp.hpp"下面添加

#include

你可能感兴趣的:(opencv,qt,c++,计算机视觉)