设为首页 加入收藏

TOP

使用Qt和OpenCV做的图片平滑器
2014-11-24 07:34:59 来源: 作者: 【 】 浏览:0
Tags:使用 OpenCV 图片 平滑

这是我这学期数字图像处理课的课程设计。


程序界面



原始图像



处理后的图像



虽然界面很简陋,但处理效果还好


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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在Qt Creator中使用OpenCV 2 下一篇用Qt写的平均绩点计算器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)