zoukankan      html  css  js  c++  java
  • VS+QT创建一个OpenCV应用

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

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

    选择QtGuiApplication2.ui -> 打开方式 -> Qt Designer -> 确定

     拉一个OPenGL控件到窗体上

     改控件名字为mat->右键选择提升为...

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

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

    MatView.h代码

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

      MatView.cpp代码

    #include "QtGuiApplication2.h"
    #include <QtWidgets/QApplication>
    
    int main(int argc, char *argv[])
    {
    	QApplication a(argc, argv);
    	QtGuiApplication2 w;
    	w.show();
    	return a.exec();
    }
    

      

    main.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("E:\VS2015Opencv\vs2015\project\picture\12.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(){
    	}
    

      添加opencv库

     

  • 相关阅读:
    10 种保护 Spring Boot 应用的绝佳方法
    Redis 如何分析慢查询操作?
    Spring Boot 主类及目录结构介绍
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    Spring Boot Redis Cluster 实战干货
    超详细的 Redis Cluster 官方集群搭建指南
    Redis Linux 安装运行实战全记录
    hdu 4790 Just Random (思路+分类计算+数学)
    poj 1328 Radar Installation(贪心)
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/11411541.html
Copyright © 2011-2022 走看看