Qt配置opencv环境

说明:

        在网上找了好多教程,opencv都编译不过去,最后踩了很多坑,把我的经验总结出来分享给大家。

        本文对于Qt的安装不多描述,如果你装了Qt那么就不需要再装mingw和cmake工具了,只需要安装opencv就可以了。opencv下载地址:

Qt配置opencv环境_第1张图片

        Releases - OpenCV

        本文使用的环境是opencv 4.5.2 + Qt 5.15.2(mingw)

1、安装opencv源码已经环境准备:

        Qt配置opencv环境_第2张图片

 Qt配置opencv环境_第3张图片

检查环境变量:

        

        现在是需要将这三个环境变量添加,我是将之前mingw32的环境变量删除了,新加的64,建议您也删除,不然很可能回编译失败的。

2、开始生成makefile:

 打开Qt自带的cmake工具Qt配置opencv环境_第4张图片

        Qt配置opencv环境_第5张图片

添加value值,如果不添加很有可能因为版本的问题导致编译失败,具体出错环节是:

        Linking CXX shared library …\bin\libopencv_core451.dll(在这一步出错)

Qt配置opencv环境_第6张图片

Qt配置opencv环境_第7张图片

点击configure后设置一些东西:

Qt配置opencv环境_第8张图片

Qt配置opencv环境_第9张图片

Qt配置opencv环境_第10张图片

点击finish后开始config

Qt配置opencv环境_第11张图片

当config步骤完成后还会有大片的红色,不慌

 Qt配置opencv环境_第12张图片

Qt配置opencv环境_第13张图片

继续点击configure,这时候就没红得了(可以把搜索框清空看一看),然后点击Generate生成makefile文件。

Qt配置opencv环境_第14张图片

 当Generate完成后可以关闭cmake了

3、编译:

        进入到刚刚我们创建的那个文件夹,此时经过上面的操作,那个文件夹已经有了内容,接下来我们就要编译这个文件夹。

Qt配置opencv环境_第15张图片

 在当前文件夹中 shifi+空白处右键打开 power shell

Qt配置opencv环境_第16张图片

mingw32-make -j8(j8表示用8线程编译,如果你电脑的性能牛你可以用j16)

这个过程所消耗时间还是蛮长的。

开始编译是这样子:

Qt配置opencv环境_第17张图片

编译中会有很多警告信息,忽略就行,不用做任何操作

Qt配置opencv环境_第18张图片

 编译完成是这样的:

Qt配置opencv环境_第19张图片

 当编译完成后不要关闭窗口,使用安装命令开始安装

mingw32-make install

Qt配置opencv环境_第20张图片

安装完成后添加环境变量

 要注意这个opencv-build文件夹是我们刚刚创建的那个文件夹

4、使用

切记切记!!!要用mingw64的编译套件!!!,否则程序main函数都进不去,直接报错。

Qt配置opencv环境_第21张图片

 debug和release版本我都试了,没有问题。

在Qt的pro文件中添加库

INCLUDEPATH += C:\opencv\opencv\opencv-build\install\include
LIBS += C:\opencv\opencv\opencv-build\install\x64\mingw\bin\libopencv_world452.dll

Qt配置opencv环境_第22张图片

调用库文件:

Qt配置opencv环境_第23张图片

    Mat image = imread("C:\\Users\\WuYue\\Desktop\\img.jpg",1);//本地图片路径
    namedWindow("my image",WINDOW_AUTOSIZE);//新建自适应大小的窗体
    imshow("my image",image);//显示窗体

效果:

到此为止安装就完成了,做一下声明,本文的逻辑并非我原创,我也是在工作中遇到了这个问题后,开始尝试,开始踩坑,总结过程。我主要采用的是下面两篇文章:

https://blog.csdn.net/qq_42670606/article/details/122325528
https://blog.csdn.net/weixin_40011280/article/details/117766191

你可能感兴趣的:(QT/C++,c++,opencv,qt)