qt的编译常用的有mingw 和 msvc编译器 。对于mingw 的编译需要用cmake 重新编译源码 ,操作其实是比较简单的,本人在编译过程中出错,暂时先不用mingw ,后续再研究补充
qt5.9.4 + opencv 3.4
一. 安装下载:
所用版本
Windows 7 64位
OpenCV 3.4.0 https://opencv.org/opencv-3-4.html
QT 5.9.4 x64 https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.9.4/5.9.4/
MSVC 2015
二 解压opencv
opencv 下载的是 opencv-3.4.0-vc14_vc15.exe 运行解压得到opencv文件夹主要包括 build 和sources 两个文件夹 。其中build 是适用于vc14和vc15 版本的 如果有其他的vs 可以用cmake 生成对于的vs 工程.
注:opencv 的build 可以放在自己认为合适的地方,本人放在了d盘
三. 配置环境变量
我的电脑 -》右键属性-》高级系统设置-》环境变量 -》系统变量-》Path
添加
D:\opencv\build\x86\vc14\lib\
D:\opencv\build\x86\vc14\bin
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
qt 设置如上,添加
D:\Qt\Qt5.9.4\5.9.4\msvc2015_64\bin
D:\Qt\Qt5.9.4\Tools\mingw530_32\bin
注:一般添加了环境变量,使之生效可以通过cmd 指令,如果不熟,可以直接关机重启,还有一种临时设置环境变量的方法,在window cmd 下
set PATH=%PATH%;D:\Qt\Qt5.9.4\Tools\mingw530_32\bin
四. 重启以后 新建qt工程的.pro 中导入opencv 库 ,有两种方法,自动和手动。
手动添加 :
自动添加:
1. 右键工程添加 库
2. 选择lib 路径
3.最终自动添加的如下图
五. 写个测试程序 编译 运行#include "mainwindow.h"
将字符串转换为 int 类型
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
using namespace cv;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->resize(800, 600);
cv::Mat image = cv::imread("C:/Users/oada/Desktop/images/poweroff.png", 1);
cv::namedWindow("my image");
cv::imshow("my image", image);
}
运行结果:
opencv 3.4 + vs 2015 + qt tools
上面配置了qt 下 opencv的使用,下面简单总结一下 vs 下 qt + opencv 的配置
一. 其中vs + qt 配置简单讲一下
1. vs -》工具-》扩展与更新-》-》联机 搜索qt 第一个安装即可 如下图
2. 重启vs 在工具栏就多了一个Qt VS Tools 选择qt options 设置qt的安装路径,就可以让vs 自动加载qt的lib 和头文件等了。
二. vs 新建一个qt 工程,然后打开工程属性,添加依赖和头文件等,具体如下图:
包含目录如下
添加链接器输入
手动换行输入 下面红框的两行
测试函数如下
#include "cvtest.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
cvtest::cvtest(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
cv::Mat image = cv::imread("C://Users//oada//Desktop//images//poweroff.png", 1);
cv::namedWindow("my image");
cv::imshow("my image", image);
}
编译测试通过 。