Windows平台Qt添加OpenCV模块

Windows平台Qt添加OpenCV模块,第1张

最近科技立项的项目需要同时用到QPainter来实现Canvas功能,同时要用OpenCV来识别绘图,需要在Qt里添加OpenCV模块

opencv默认支持vc系列的编译器,在下载的时候就有build和source俩文件夹,build里就是默认支持的几种形式,可以看到x64即64位系统中可以支持vc14和vc15,如下图

在之前用VS的时候只要添加路径就行(详见链接)
而很不幸的是QT有自己的MinGW系列编译器,我们需要用CMake再编译一个类似于build的文件夹来作为Qt的依赖,即蓝框中的MinGWver(即MinGW-version,我自己起的名字,文件夹名字没有规范,毕竟build已经被占了)
具体 *** 作:

CMake下载

windows上的CMake大部分是其他编译器带来的,为保险还是单独下载一个
CMake官网下载地址:
https://cmake.org/download/
正常安装即可

Qt下载

也是正常下载安装,但要记得自己装在哪个文件夹,后面会多次用到

环境变量配置1

首先将自己装的CMake和Qt里的两个文件夹添加到系统的Path里

关机重启

配置CMake

打开CMake,source目录就是你下载的OpenCV文件夹下的sources文件夹,build目录就随便取,记住就行

随后要经过两次或以上Configure和一次Generate
由于需要用MinGW编译,第一次Configure时配置如下:

next后,选择MinGW Makefiles
多提一嘴,当时在Linux上时我们用的时如下的Unix Makefiles,是相当于直接把OpenCV编译后的目录添加到了Linux的系统环境变量,所以我们在Linux上的 *** 作要简单许多,但Qt只认MinGW,所以我们也得用MinGW来编译

Next后,选择你Qt/Tools/mingw730_64/bin/gcc.exe作为C语言编译器,Qt/Tools/mingw730_64/bin/g++.exe作为C++编译器,这个“730_64”可能不太一样,前面的是MinGW版本,后面数值代表64位系统,只要保证整个工程编译的时候用的MinGW处处版本一致就行

等待第一次Configure完成后,选中“WITH_OPENGL”、“WITH_QT”,将“WITH_IPP”取消。

然后再次点【Configure】
第二次Configure可能报错,我没遇到过,如果遇到可以按如下方式更改红色项(改完还是红色,但不会报错,改完还报错就是地址没改对):

再有报错也是一样解决,直到不再报错为止
随后Generate

编译OpenCV

进入刚刚配置好的文件夹(被我命名为MinGWver)打开终端

mingw32-make
mingw32-make install

注意:就算前面用的是64位下的MinGW730_64,这里同样是用mingw32-make

环境变量配置2

把编译后,目标目录下的bin目录路径,即 **C:\opencv\MinGWver\bin,C:\opencv\MinGWver\install\x64\mingw\bin **添加到Path环境变量中

关机重启

Qt项目添加

对于Qt工程,我们只需要在.pro文件加上如下代码,并保证整个工程编译的时候用的MinGW处处版本一致就行

INCLUDEPATH += C:\opencv\build\include
               C:\opencv\build\include\opencv
               C:\opencv\build\include\opencv2
LIBS += C:\opencv\MinGWver\lib\libopencv_*.a

注意改一下路径,LIBS里的 * 是通配符,有兴趣可以取看看这些文件(通配符真伟大)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/674694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存