- qt配置opencv有两种方式,这里我们采取的是MSVC版本的(因为mingw一直有问题,查了好多资料,都没有解决掉最新版本的各软件之间的配置),打开cmake-gui.exe。
- 在第一栏中是你所安装的opencv的安装路径下的sources文件
第二栏是经过cmkae配置之后的opencv放置的文件夹,即目的文件夹,建议加上build加以区分。Grouped与Advanced可点可不点,没有影响。
点击Configure,若你所设置的目的文件夹不存在,则选择建立新的文件夹,然后进入下一步。 - 我所安装的是vs2019,所以这里他会默认推荐2019,若没有,请选择2019版本,点击Finish,然后等待配置完成。
- 点击BUILD ,找到BUILD_opencv_world,并选中打勾
- 再次Configure,等待完成。点击Generate,等待完成,关闭,打开目的文件夹
- 找到文件夹中的OpenCV.sln,双击打开
- 如图,点击‘生成’,点击‘批生成’
- 选择ALL_BUILD与INSTALL的Debug与Release,,然后点击生成。等待生成完成,时间比较长约十分钟到半小时。
- 安装Windows SDKhttps://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk
- 在选择下载内容的时候,只选择Debugging Tools for Windows,然后选择DownLoad,完成之后关闭
- 打开qtcreater,建立新项目,如图选择,点击Choose,进入下一步。
- 选择编译器,这里我们选择MSVC2017 64bit,了解如何选择之后,可以按所需选择编译器,因为我们Opencv4.2为64位的所以这里选择64bit。
- 项目生成成功后,打开pro文件,在文件底部输入
//经过cmake生成与vs生成后的文件夹下面的路径
INCLUDEPATH += D:/opencv420_build/install/include
//设置debug 写法不唯一,这里用的是这种写法
CONFIG(debug, debug|release): {
//LIBS += -L经过cmake生成与vs生成后的文件夹下面的路径
//记得分行写的时候,加上”\”,文件路径中的斜杠为”/”
//若选择生成opencv_world420d.lib则只加这一个即可
//否则要把所有的lib库中的.lib文件的路径都加上
//注意debug的.lib文件名多一个d
LIBS += -LD:/opencv420_build/install/x64/vc16/lib \
opencv_world420d.lib
//设置release
} else:CONFIG(release, debug|release): {
//注意release的.lib文件名没有d
LIBS += -LD:/opencv420_build/install/x64/vc16/lib \
opencv_world420.lib
}
- 打开main.cpp文件,加入头文件#include “opencv2/opencv.hpp”
该头文件在刚才pro文件中加入的
INCLUDEPATH += D:/opencv420_build/install/include下
在主程序中敲入如下代码,尝试显示一张图片
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
using namespace cv;
Mat image = imread("G:/pig.jpg");
imshow("out",image);
return a.exec();
}
- 点击最左侧一栏中的”项目”,然后点击”Manage Kits...”,点击”编译器”,可以看到我们所安装的所有编译器,
- 点击”构建套件(Kit)”,如图红圈,我们选择MSVC2017 64bit编译器c\c++都选择
1. Microsoft Visual C++ Compiler 16.4.29613.14 (amd64)
或 Microsoft Visual C++ Compiler 16.4.29613.14 (x86_amd64)
都可以
Debugger选择
Auto-detected CDB at C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe,然后点击OK
- 然后进行qmake
- 进行编译与运行,成功后,输出文件。
- 因为博主是新手,也是遇到问题查了很多资料,总结了一下,若果有错误,欢迎指出,有问题,也欢迎提问。