将Qt与OpenCV结合,进行图像处理,会带来很多方便。相比于vs的MFC,Qt更受欢迎。
在Qt上使用OpenCV需要编译其源码,但其编译过程繁琐,且容易出错。
我为Qt配置OpenCV时,用到的工具有 :
1.cmake-3.15.3-win64-x64
2.opencv-3.4.7-vc14_vc15
3.Qt 5.13.0
整体过程是,先安装Qt(注意勾选MinGW-64bit这个编译器,最好把MSVC2017编译器也勾上),然后用cmake编译OpenCV源码,最后为Qt添加相应的环境变量和配置文件。
我在自己电脑上一次性安装成功,然后利用上述方法给我朋友的电脑配置时,卡在了第二个步骤,编译源码老出问题。尝试好几遍后(浪费很多个小时时间),差点放弃,准备用VS+OpenCV作为开发环境。
最后,转念一想,编译源码其目的是生成.dll文件,然后让Qt调用生成的文件。而我电脑已经编译好了,直接拷贝到其他电脑上不就可以了吗?因此以下介绍的方法直接跳过了编译源码的繁琐过程,如果已经安装好Qt,配置也许就5分钟就ok了。编译好的文件已经传入百度云盘。
链接:https://pan.baidu.com/s/1nDZQTDnKBzxTSgc1kG4tAA
提取码:71xe
步骤1:到opencv官网下载:opencv-3.4.7-vc14_vc15,然后解压至某一路径。
步骤2:按Qt,可以安装5.13.0或5.13.1等。
步骤3:解压从云盘下载的压缩包,将其放在opencv中,如下图所示(其实可以放在任意路径),这样只是方便管理。
我的文件结构如下图,请根据自己的路径进行配置。
步骤4:添加环境变量
右键桌面上“我的电脑”,选择属性,进入到如下页面:选择“高级系统设置”
选择“环境变量”
然后在系统变量下选择Path,再点击编辑。(如果没有Path,可以自己新建一个)
在Path的编辑界面根据自己的路径加入如下三个路径(图中红框部分)
前两个是Qt的安装路径下面的,第三个是刚才从云盘上下载的文件解压后,其中“bin”的路径。请根据自己的文件位置编辑。
步骤5:配置Qt工程
打开Qt creator,新建一个工程,选择Application->Qt Widgets Application,然后下一步。
然后是工程的名字和路径,这个自己确定即可。再下一步是选择编译器,如下图,请选择MinGW 64,依次下一步至结束。
在工程目录中,打开.pro文件,加入如下代码:
第一部分是你opencv解压后,其中文件的路径,请根据自己的文件位置适当修改。
第二部分是云盘文件解压后,文件夹中第二个文件夹——lib中相关文件的路径,请根据自己的文件位置适当修改。
INCLUDEPATH+=E:\opencv\build\include\opencv\
E:\opencv\build\include\opencv2\
E:\opencv\build\include
LIBS+=E:\opencv\install\lib\libopencv_core_pch_dephelp.a \
E:\opencv\install\lib\libopencv_core347.dll.a \
E:\opencv\install\lib\libopencv_dnn347.dll.a \
E:\opencv\install\lib\libopencv_features2d347.dll.a \
E:\opencv\install\lib\libopencv_flann347.dll.a \
E:\opencv\install\lib\libopencv_highgui347.dll.a \
E:\opencv\install\lib\libopencv_imgcodecs347.dll.a \
E:\opencv\install\lib\libopencv_imgproc347.dll.a \
E:\opencv\install\lib\libopencv_ml347.dll.a \
E:\opencv\install\lib\libopencv_objdetect347.dll.a \
E:\opencv\install\lib\libopencv_photo347.dll.a \
E:\opencv\install\lib\libopencv_shape347.dll.a \
E:\opencv\install\lib\libopencv_stitching347.dll.a \
E:\opencv\install\lib\libopencv_superres347.dll.a \
E:\opencv\install\lib\libopencv_ts347.a \
E:\opencv\install\lib\libopencv_video347.dll.a \
E:\opencv\install\lib\libopencv_videoio347.dll.a \
E:\opencv\install\lib\libopencv_videostab347.dll.a
我的文件结构如下图:
至此,所有配置已经完成,可以写代码测试配置结果了。
测试效果如下:注意,图片文件路径一定要对。
补充:Qt可以并行编译,从而加快编译速度,操作方法参考:https://blog.csdn.net/zhouxu5768503/article/details/78520402
也可以采用以下方法:
以上就是整个过程,如果有问题,欢迎留言交流哦~。