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

本文详细介绍了如何在Qt中配置OpenCV环境,包括Qt、cmake的安装,OpenCV的下载与编译,以及在Qt工程中测试OpenCV代码的步骤。特别强调了路径不应包含中文字符。
摘要由CSDN通过智能技术生成

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

软件网盘链接
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. 选择安装目录:(不要有中文
    在这里插入图片描述

  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安装路径按自己实际修改)
    在这里插入图片描述

3.3 cmake安装

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

  2. 添加环境变量到系统
    在这里插入图片描述

3.4 opencv安装

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

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

  3. 会在 D:\opencv 生成如下源码:其中build为编译后Windows环境下编译好的可执行文件,sources为未编译过的源代码。
    在这里插入图片描述

    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:选择自定义的空文件夹用于保存生成对象 (不要有中文)
    在这里插入图片描述

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

  4. 选择MinGW编译器
    在这里插入图片描述

  5. 点击NEXT按钮,选择Qt里面的gcc和g++编译器路径(点击…去重新选择一下,不然可能会报错)
    在这里插入图片描述

  6. 点击finish后即会开始配置,配置需要几分钟左右,等待配置结束出现如下界面

  7. 修改配置如下:

    ENABLE
    	ENABLE_CXX11(选中)
    WITH
    	WITH_OPENGL(选中)
    	WITH_QT(选中) 
    	WITH_IPP(不选)
    
  8. 修改完点击Configure,配置完成会出现如下界面
    在这里插入图片描述

  9. 再次点击Configure,配置完成会出现如下界面:
    在这里插入图片描述

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

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

  12. 点击Generate,等待配置结束
    在这里插入图片描述

3.6 编译安装opencv

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

    cd D:\opencv\install
    在这里插入图片描述

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

    mingw32-make -j 8

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

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

  3. 编译完成
    在这里插入图片描述

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

    mingw32-make install

  5. 安装完成如下
    在这里插入图片描述

  6. 编译完会在,D:\opencv\install\中又生成一个install文件夹
    在这里插入图片描述

  7. 将编译生成的路径D:\opencv\install\install\x64\mingw\bin添加到环境变量中(Qt才能调用到opencv)
    在这里插入图片描述

3.7 Qt测试opencv代码

  1. 创建qt工程
    在这里插入图片描述

  2. 选择路径(一定不能是中文,否则qt报错)
    在这里插入图片描述

  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
    

    在这里插入图片描述

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

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

    在这里插入图片描述

3.8 编译常见错误

1、在执行mingw32-make的时候出现如下错误
在这里插入图片描述

找到上图提醒的文件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、该错误与上面相似,
在这里插入图片描述

找到上图提醒的文件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、错误如下图
在这里插入图片描述

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

4、错误如下图
在这里插入图片描述

在**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、错误如下图
在这里插入图片描述

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

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

#include <sys/time.h>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值