1、OpenCV及QT开发环境搭建

windows基于vs2017的opencv安装

windows下安装QT并与visual studio 2017搭建开发环境

2、工程创建

1、导入Qt项目

选择:QT VS Tools->Open Qt Project File(.pro)…

2、新建Qt项目

1、选择:文件->新建->项目->测试->Qt GUI Application,输入工程名,下一步…进行新建。

2、“next”下一步

3、选择依赖的模块:最基础的QtCore、QtGui、QtWidgets还有一些音/视频、网络、数据库、XML、OpenGl相关的模块,需要使用的直接勾选即可。

4、finish(具体设置以后有机会在写)

3、OpenCV工程创建

1、 选择test.ui -> 打开方式 -> Qt Designer -> 确定

2、 拉一个OPenGL控件到窗体上

3、 改控件名字为mat->在对象查看器中选中控件——>右键选择提升为...

4、 提升的类名称:MatView -> 点击添加 ->提升 -> ctrl + F 保存界面 ,如下图

5、 Header Files右键 -> 类导向 -> 添加类 -> 类命:MatView -> 完成 -> 确认,如下图

6、点击添加类

7、点击应用并确定

8、 MatView.h代码

#pragma once
//导入相应的库
#include <QOpenGLWidget>
//继承QOpenGLWidget
class MatView :public QOpenGLWidget
{
Q_OBJECT
public:
//构造函数
MatView(QWidget *p);
~MatView();
//重载一个函数
void paintEvent(QPaintEvent *e);
};

 

9、 MatView.cpp代码

#include "MatView.h"
#include<opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>
#include <QImage>
#include <QPainter>
using namespace cv;
//重载一个函数,只要窗口发生变化他都会调用,这个函数不能处理业务逻辑,只做处理图像
void MatView::paintEvent(QPaintEvent *e) {
Mat src = imread("D://1.jpg");
QImage img(src.data, src.cols, src.rows, QImage::Format_RGB888);
QPainter painter;
painter.begin(this);
painter.drawImage(QPoint(0, 0), img); }
//构造函数,调用父类的,因为父类还有处理在里面,所以要调用它
MatView::MatView(QWidget *p) :QOpenGLWidget(p)
{
}
MatView::~MatView()
{
}

  


10、 main.cpp代码不用改动

11、 导入OpenCV库,参照windows基于vs2017的opencv安装

12、 运行代码

代码不重要,重要是如何配置,直接运行代码,可能因为系统+环境不同出错

13、 效果图

参考资料:

11.VS2015+OpenCV3.2+QT软件/插件(QT篇1) --- OpenCV从零开始到图像(人脸 + 物体)识别系列

OpenCV实例精解

OpenCV与QT联合开发示例的更多相关文章

  1. ubuntu 安装 OpenCv 及其Qt的开发环境配置

    ubuntu安装opencv (1)安装编译opencv的环境 sudo apt-get -y install build-essential cmake pkg-config (2)安装Image ...

  2. OpenCV与QT联合编译 分类: Eye_Detection ZedBoard OpenCV shell ubuntu 2014-11-08 18:54 143人阅读 评论(0) 收藏

    问题1:首先参考rainysky的博客,发现qmake时发生找不到目录,文件的错误,又找不到 qmake.conf 文件的写法.所以开始按照网上的程序修改 XXX.pro 文件. 问题2:使用QT C ...

  3. !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结

    http://hujiaweibujidao.github.io/blog/2013/11/18/android-ndk-and-opencv-development-3/ Android Ndk a ...

  4. 下载安装和OpenCV匹配的Android开发环境

    ok blog Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Jav ...

  5. Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境

    Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用Ope ...

  6. pyqt开发教程-搭建环境和开发示例

    搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...

  7. Qt 5入门指南之Qt Quick编程示例

    编程示例 使用Qt创建应用程序是十分简单的.考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了 不同的方法.在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且 ...

  8. Halcon11与VS2010联合开发

    刚开始学习Halcon,需要使用Halcon与C++联合开发软件,查了网上的资料都是Halcon10的,我用的是Halcon11和VS2010的开发环境,实践了一下发现有一些问题,于是把自己的配置的过 ...

  9. Github团队开发示例(二)

    Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6063765.html 接之前讲的Github团队开发示例(一),本文主 ...

随机推荐

  1. Python的随机数模块

    random模块中几个随机函数用法. 引入random模块: import random 1.random.random() 此函数用于生成一个0到1的随机浮点数:0 <= n < 1.0 ...

  2. issue_hana

    2019-01-11T14:35:01.910187+08:00 SHADEVDB01 cron[57062]: PAM unable to dlopen(/lib64/security/pam_sy ...

  3. Android开发中常见的设计模式(三)——观察者模式

    先看下这个模式的定义. 定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新 先来讲几个情景. 情景1:有一种短信服务,比如天气预报服务,一旦你订阅 ...

  4. C#、Unity 数据类型的默认值

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class Main : M ...

  5. Fiddler 抓包工具怎么使用?怎么在Android手机端的APP抓包

    https://blog.csdn.net/loner_fang/article/details/83309266 参考这个人的微博上有fiddler主要功能使用的步骤. 序章 Fiddler是一个蛮 ...

  6. 2017-11-03 Fr OCT 球体积的导数为球表面积

    上学期学立体几何时注意到这一点.去问林老师,没听明白(写完笔记后发现林老师讲得是对的,惭愧).今天下午考历史的时候突然想起来. 除了球体积的导数为球表面积外,还注意到圆体积的导数为圆周长.今天中午看w ...

  7. hello2

    String username = request.getParameter("username");//获取参数值 if (username != null && ...

  8. Matlab文本处理:提取指定内容

    clc;clear; fileno=1; for i=1:fileno fid2=fopen('4B1T_wb_eq.txt','w'); %save data to 'logfile' in Mat ...

  9. CF 317 A. Lengthening Sticks(容斥+组合数学)

    传送门:点我 A. Lengthening Sticks  time limit per test        1 second You are given three sticks with po ...

  10. AC自动机解题记录

    1.HDU 2222 Keywords Search 模板题 #include <bits/stdc++.h> #define fir first #define sec second # ...