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());


 

如图所示:

 

 

 

原创粉丝点击