GoodNight

Take A Rest

Qt5.12.0+OpenCV4.0配置

前段时间,我弄我的毕设,需要把Qt配置上OpenCV库实现打开摄像头、录制视频的功能。然而以前完全没学过,在网上搜索资料都是要求把OpenCV用MinGW重新编译一下才能使用。看得我一脸懵逼,编译了一晚上也没能使用。但现在我已经解决了这个问题。

首先,我们之所以要将OpenCV用MinGW重新编译的原因是,我们写的Qt是用的MinGW编译器编译的,但OpenCV并不是这个编译器编译的,因此我们需要把它的二进制文件用MinGW编译过后才能调用。

但编译过程很复杂,报错都不知道该如何改。因此我决定把将Qt换个编译器,我换成了MSVC2017编译器。

先介绍一下我的配置:

  • 操作系统:Windows10 64bit
  • 编译器:MSVC2017
  • Qt版本:Qt5.12.0
  • QtCreator版本:Qt Creator4.8.0
  • OpenCV版本:OpenCV4.0

安装OpenCV

  • 去官网下载OpenCV,并解压到一个目录中,例如,我解压到了“C:\opencv”中。
  • 配置环境变量,在我的电脑——单击右键——属性——高级系统设置——环境变量——系统变量中,找到Path,并添加”C:\opencv\build\x64\vc15\bin”。请注意上面路径中的x64\vc15是需要根据你系统的版本自行替换的。

下载MSVC2017编译器

if(你还没安装Qt)

  • 你在安装的时候,在选择需要下载的组件里把MSVC2017勾上,如图,其他组件按需勾选。

else if(你已经安装了Qt)

配置

  • 用Qt Creator,打开你的程序,在你的程序名上单击右键选择“添加库”——打开对话框选“外部库”——下一步——先选好”包含路径”,就是你OpenCV所解压路径的include,例如我的是“C:\opencv\opencv\build\include”——然后“库文件”,我的路径是“C:\opencv\opencv\build\x64\vc15\lib\opencv_world400.lib”——下一步——完成,如图:

  • 然后设置编译器,如图:

  • 最后“在你的程序名上单击右键——执行qmake”,如图。一般正常基本就成功了。如果你想快速验证一下自己有没有成功配置,你可以试试下面实例代码。

测试

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
Mat image = imread("D:\\test.jpg");
cvNamedWindow("window", CV_WINDOW_NORMAL);
imshow("window",image);
waitKey(0);
}

点击运行之后,如果没有任何错误,可以显示图片,那么环境安装成功。

最后

上述操作,都为亲身经历,如果不可用,可以在评论区评论,我们一起交流解决~


如需转载,请说明出处,谢谢!