OpenCV2计算机视觉编程手册(1)
来源:互联网 发布:晋业进销存软件8.25 编辑:程序博客网 时间:2024/05/29 09:20
首先启动Qt Creator,我们将来创建gui应用。
打开mainwindow.ui,拖动两个push button到对话框中,同时修改两个按钮的名字,分别为open image 和process.
然后分别右击两个按钮,出现:
然后会跳到mainwindow.cpp中,
此时我们需要添加如下代码:
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_pushButton_clicked(){ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), ".", tr("Image Files (*.png *.jpg *.bmp)")); image= cv::imread(fileName.toAscii().data()); cv::namedWindow("Original Image"); cv::imshow("Original Image", image);}void MainWindow::on_pushButton_2_clicked(){ cv::flip(image,image,1); cv::namedWindow("Output Image"); cv::imshow("Output Image", image);}
但在之前对mainwindow.h头文件进行修改,不然会出问题:
#ifndef MAINWINDOW_H#define MAINWINDOW_H//添加如下代码#include <QMainWindow>#include <QtGui>#include <QFileDialog>#include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked();private: Ui::MainWindow *ui; cv::Mat image;};#endif // MAINWINDOW_H
自此代码部分完成。便开始编译,但出现下面的错误:
然后查阅了下, 发现在新版的qt5.1中取消了toAscii函数,用toLatin1函数代替。
修改了下:
image= cv::imread(fileName.toLatin1().data());
好了,运行成功。
如图:
代码下载地址:http://download.csdn.net/download/xiaojidan2011/5923177
接下来我们添加一个标签label,通过ui对象中相应的指针访问该对象,代码如下:
cv::flip(image, image,1); cv::cvtColor(image,image,CV_BGR2RGB); QImage img=QImage( (const unsigned char*)(image.data),image.cols,image.rows, QImage::Format_RGB888); ui->label->setPixmap(QPixmap::fromImage(img)); ui->label->resize(ui->label->pixmap()->size());
如图所示:
- OpenCV2计算机视觉编程手册(1)
- OpenCV2计算机视觉编程手册(2)
- OpenCV2计算机视觉编程手册(3)
- opencv2 计算机视觉编程手册 estimateF.cpp
- opencv2 计算机机器视觉编程手册 代码
- 《OpenCV2计算机视觉编程手册》2-5
- opencv2计算机视觉编程手册(中文)pdf
- opencv2计算机视觉编程手册-学习之路(章1)
- 《OpenCV2 计算机视觉编程手册》视频处理一
- 《OpenCV2 计算机视觉编程手册》视频处理二
- 《OpenCV2 计算机视觉编程手册》视频处理三
- [OpenCv2 计算机视觉编程手册] 第六章 图像滤波
- 《opencv2计算机视觉编程手册》3-2 策略模式练习
- opencv2计算机视觉编程手册-学习之路(章2)
- OpenCV2计算机视觉应用编程手册(自学版)初级一
- OpenCV2计算机视觉应用编程手册(自学版)初级二
- OpenCV2计算机视觉应用编程手册(自学版)初级三
- OpenCV2计算机视觉应用编程手册(自学版)初级四
- SQL SERVER 创建GHUID命令:select newid();
- 浅析php中常量,变量的作用域和生存周期
- php动态生成JavaScript代码
- /etc/sysctl.conf 参数说明
- 大组合数取模 hdu 3037 Saving Beans lucas定理
- OpenCV2计算机视觉编程手册(1)
- Eclipse/MyEclipse快捷键失效
- Ubuntu 12.04 成功编译安装 Erlang R16B01
- 数据库建表的各徙关系-- 一对多/多对一/一对一/多对多 关系分析
- H3C交换机802.1x用户的RADIUS AAA方案配置示例
- java基础12:线程间通信----等待唤醒机制
- MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
- WPF Application启动界面设置
- 手把手教你如何建立自己的Linux系统