ÕâÊÇÎÒÕâѧÆÚÊý×ÖͼÏñ´¦Àí¿ÎµÄ¿Î³ÌÉè¼Æ¡£
³ÌÐò½çÃæ

ÔʼͼÏñ

´¦ÀíºóµÄͼÏñ

ËäÈ»½çÃæºÜ¼òª£¬µ«´¦ÀíЧ¹û»¹ºÃ
mainwindow.h Îļþ
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QFileDialog>
#include<opencv.hpp>
usingnamespace cv;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent =0);
~MainWindow();
private:
Ui::MainWindow *ui;
Mat image; //ÔØÈëµÄÔʼͼƬ
Mat result; //´¦ÀíºóµÄͼƬ
private slots:
void liulan(); //ÔØÈëͼƬ
void chuli(); //¶ÔͼƬ½øÐеÍͨÂ˲¨
void baocun(); //±£´æÍ¼Æ¬
};
#endif// MAINWINDOW_H
mainwindow.cppÎļþ
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->liulanButton,SIGNAL(clicked()),this,SLOT(liulan()));
connect(ui->xianshiButton,SIGNAL(clicked()),this,SLOT(chuli()));
connect(ui->baocunButton,SIGNAL(clicked()),this,SLOT(baocun()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::liulan()
{
QString imageName=QFileDialog::getOpenFileName(this,"Open file");
image=imread(imageName.toAscii().data());
}
void MainWindow::chuli()
{
cv::blur(image,result,cv::Size(5,5));
imshow("result",result);
imshow("image",image);
}
void MainWindow::baocun()
{
QString fileName= QFileDialog::getSaveFileName(this,"Save file");
imwrite(fileName.toAscii().data(),result);