资源简介
开发环境为QT5.8+opencv3.2,主要实现了图像增强,包括高斯平滑,中值滤波,图像锐化。
代码片段和文件信息
#include “dialog.h“
#include “ui_dialog.h“
#include
#include
Dialog::Dialog(QWidget *parent) :
QDialog(parent)
ui(new Ui::Dialog)
{
ui->setupUi(this);
int guassMinValue = 0;
int guassMaxValue = 10;
int guassSingleStep = 1;
ui->guassSlider->setMinimum(guassMinValue); // 最小值
ui->guassSlider->setMaximum(guassMaxValue); // 最大值
ui->guassSlider->setSingleStep(guassSingleStep); // 步长
ui->guassSlider->setTickPosition(QSlider::TicksAbove); //刻度在上方
ui->guassSlider->setValue(3);
int medMinValue = 0;
int medMaxValue = 5;
int medSingleStep = 1;
ui->medSlider->setMinimum(medMinValue); // 最小值
ui->medSlider->setMaximum(medMaxValue); // 最大值
ui->medSlider->setSingleStep(medSingleStep); // 步长
ui->medSlider->setTickPosition(QSlider::TicksAbove);//刻度在上方
ui->medSlider->setValue(3);
}
Dialog::~Dialog()
{
delete ui;
}
/*----------------------------
* 功能 : 响应用户点击打开图片按钮事件
*----------------------------
* 函数 : on_openImgBtn_clicked
* 访问 : private
* 返回 : void
*
*/
void Dialog::on_openImgBtn_clicked()
{
//打开原始灰度图
fileName = QFileDialog::getOpenFileName(this“Open Image““.““Image File(*.png *.jpg *.jpeg *.bmp)“);
grayImg = imread(fileName.toLatin1().data()IMREAD_GRAYSCALE);
if(grayImg.empty())
return;
//cvtColor(imageimageCV_BGR2RGB);
//将图像转换为QImage格式
QImage img = QImage((const unsigned char*)(grayImg.data)grayImg.colsgrayImg.rowsQImage::Format_RGB888);
//在QLabel中显示图像
QPixmap *pixmap = new QPixmap(fileName);
pixmap->scaled(ui->oriImgLabel->size() Qt::KeepAspectRatio);
ui->oriImgLabel->setScaledContents(true);
ui->oriImgLabel->setPixmap(*pixmap);
}
/*----------------------------
* 功能 : 响应滚动条值更改事件
*----------------------------
* 函数 : on_guassSlider_valueChanged
* 访问 : private
* 返回 : void
*
* 参数 : int value
*/
void Dialog::on_guassSlider_valueChanged(int value)
{
gaussSliderValue = value;
}
/*----------------------------
* 功能 : 响应用户点击高斯平滑按钮事件
*----------------------------
* 函数 : on_gaussImgBtn_clicked
* 访问 : private
* 返回 : void
*
*/
void Dialog::on_gaussImgBtn_clicked()
{
Mat gaussImg;
uchar gausskernelSize = gaussSliderValue * 2 + 1; //重新计算尺寸值,尺寸值应为大于0的奇数
GaussianBlur(grayImg gaussImg Size(gausskernelSize gausskernelSize) 0 0);//高斯平滑
imwrite(“C://document//gauss.bmp“gaussImg);
QImage img = QImage((const unsigned char*)(gaussImg.data)gaussImg.colsgaussImg.rowsQImage::Format_RGB888);
QPixmap *pixmap = new QPixmap(“C://document//gauss.bmp“);
pixmap->scaled(ui->gaussImgLabel->size() Qt::KeepAspectRatio);
ui->gaussImgLabel->setScaledContents(true);
ui->gaussImgLabel->setPixmap(*pixmap);
}
/*----------------------------
* 功能 : 响应滚动条值更改事件
*----------------------------
* 函数 : on_medSlider_valueCh
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 931 2018-05-25 14:49 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\.qmake.stash
文件 32263 2018-05-25 19:47 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile
文件 57860 2018-05-25 19:47 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile.Debug
文件 57845 2018-05-25 19:47 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile.Release
文件 8265 2018-05-25 19:22 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\ui_dialog.h
文件 5180 2018-05-25 19:44 imageEnhance\imageEnhance\dialog.cpp
文件 782 2018-05-25 19:44 imageEnhance\imageEnhance\dialog.h
文件 5923 2018-05-25 19:22 imageEnhance\imageEnhance\dialog.ui
文件 251078 2018-05-19 16:08 imageEnhance\imageEnhance\gray.bmp
文件 1607 2018-05-25 14:49 imageEnhance\imageEnhance\imageEnhance.pro
文件 24049 2018-05-25 19:47 imageEnhance\imageEnhance\imageEnhance.pro.user
文件 175 2018-05-25 14:37 imageEnhance\imageEnhance\main.cpp
目录 0 2018-05-25 19:48 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\debug
目录 0 2018-05-25 14:49 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\release
目录 0 2018-05-25 14:49 imageEnhance\build-imageEnhance-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug
目录 0 2018-05-25 19:48 imageEnhance\imageEnhance
目录 0 2018-05-25 19:46 imageEnhance
----------- --------- ---------- ----- ----
445958 17
- 上一篇:pads常用元件库
- 下一篇:QT+opencv边缘检测,轮廓提取及轮廓跟踪
评论
共有 条评论