QT5.8+Opencv3.2+Opencv_contrib-3.2.0环境配置

QT5.8+Opencv3.2+Opencv_contrib-3.2.0环境配置

(Windows10_X64+Qt_5.8.0+Opencv3.2.0)

一、环境配置准备工作

1、Qt5.8.0下载:(qt-opensource-windows-x86-mingw530-5.8.0.exe)
安装路径:E:\Qt\QT5.8.0(可安装在任意盘,路径名不能有中文或空格
2、OpenCV-3.2.0下载:(选择此版本:Source code (tar.gz))
3、opencv_contrib-3.2.0下载
4、Cmake下载:cmake-3.8.0-win64-x64.zip

二、Cmake编译及安装

1、解压opencv-3.2.0.tar.gz

这里写图片描述

2、打开Cmake下载文件中的cmake_gui.exe,设置source code路径:E:/Program Files/opencv3.2/opencv-3.2.0(具体位置与自己opencv解压路径相关),设置build路径:E:/Program Files/opencv3.2/Qt_build

这里写图片描述

3、点击configure,选择MinGW Makefiles,选择Use default native compliers

这里写图片描述

配置成功时出现下图

这里写图片描述

4、勾选WITH_QT与WITH_OPENGL,设置OPENCV_EXTRA_MODULES_PATH为E:\ProgramFiles\opencv3.2\opencv_contrib-3.2.0\opencv_contrib-3.2.0\modules

这里写图片描述

再次点击configure,直到红色消失,这过程中Cmake会下载一些文件如opencv_ffmpeg.dll、opencv_ffmpeg_64.dll、protobuf-cpp-3.1.0.tar.gz、vgg_generated_64.i,速度很慢,大家自己可以到网上下载,这里就不给出了。
注:设置Qt的path:E:\Qt\Qt5.8.0\5.8\mingw53_32\bin;

5、两次configure(有时候会多点几次),再点击Generate,出现Generate done就成功了。

这里写图片描述

6、打开cmd,进入编译输出的文件夹路径(Qt_build文件夹下),输入mingw32-make,进行编译,编译成功后,输入mingw32-make install,进行安装。

这里写图片描述

这里写图片描述

7、进入install文件夹里面复制include,以及/x86/mingw下的bin和lib文件夹,单独建立Qt_Opencv3.2_contrub文件夹,并将上面3个文件夹复制到里面。

这里写图片描述

注:添加环境变量E:\Qt\Qt_Opencv3.2_contrib\bin;

三、Qt配置opencv3.2

在.pro文件添加如下头文件路径及库路径

INCLUDEPATH+=E:\Qt\Qt_Opencv3.2_contrib\include\opencv\
             E:\Qt\Qt_Opencv3.2_contrib\include\opencv2\
             E:\Qt\Qt_Opencv3.2_contrib\include
LIBS+= E:\Qt\Qt_Opencv3.2_contrib\lib\libopencv_*.a

四、Qt上opencv初体验

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

using namespace std;
using namespace cv;

int main(int argc, char** argv) 
{
    Ptr<Tracker> tracker = Tracker::create("MEDIANFLOW");
    VideoCapture video(0);
    if (!video.isOpened()) 
    {
        cerr << "cannot read video!" << endl;
        return -1;
    }
    Mat frame;
    video.read(frame);
    Rect2d box(270, 120, 180, 260);
    tracker->init(frame, box);
    {
        tracker->update(frame, box);
        rectangle(frame, box, Scalar(255, 0, 0), 2, 1);
        imshow("Tracking", frame);
        int k = waitKey(1);
        if (k == 27) break;
    }
}

效果展示

这里写图片描述

觉得有帮助,麻烦点个赞

  • 12
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值