【数字图像处理】基于MATLAB GUI的数字图像处理程序

文章目录

  • 写在前面
  • 1. 系统简介
  • 2. 功能设计
  • 3. 系统展示
    • 3.1 首页
    • 3.2 预处理
      • 3.2.1 几何变换
      • 3.2.2 添加噪声
      • 3.2.3 图像平滑
      • 3.2.4 图像锐化
      • 3.2.5 形态学处理
      • 3.2.6 其他处理
    • 3.2.3 特征提取
    • 3.2.4 语义分割


写在前面

系统有对应万字论文不包含在资源文件中,私信获取!!!

系统源码获取方式:

  • 基于MATLAB GUI的数字图像处理程序
  • 私信获取

1. 系统简介

本系统整体布局为左右布局且设置为了自适应属性方便了在不同分辨率下运行。

系统左侧为图像的结果显示区,主要用于显示图像的处理结果;右侧为操作区主,主要用于执行各种不同的图像处理操作。

在点击左上方菜单栏按钮后可以进行右侧功能区的切换。菜单栏下放是工具栏,设置了一些常用的系统工具,如打开图像、对图像放大、移动图像等等。

为了操作简便,系统内置了基本的快捷键,如“Ctrl”+“O”可以快速打开图像。

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第1张图片


2. 功能设计

系统主要包含五个功能模块,分别为:开始、预处理、特征提取、语义分割、帮助。

  • 开始模块包括:加载图像、保存图像、重置面板。保存图像可分别保存系统六个图像显示框中除原图外的五个显示框内容。

  • 预处理模块包括:

    • 几何变换,包括对图像进行平移、放大、旋转以及镜像操作。
    • 添加噪声,包括对图像添加高斯噪声、椒盐噪声以及乘性噪声。
    • 图像平滑,包括空间域平滑滤波(均值滤波、高斯滤波、中值滤波)和频域平滑滤波(巴特沃斯低通滤波、指数低通滤波、梯形低通滤波)。
    • 图像锐化,包括图像锐化(梯度算子、Robert算子、Sobel算子、Prewitt算子、Laplace算子)和图像边界提取(Laplace算子、LOG算子、Canny算子)。
    • 形态学处理,包括腐蚀、膨胀、开运算、闭运算、重建开运算。
    • 其他处理,包括二值化、灰度化、图像反转。
  • 特征提取模块包括点特征(Moravec角点、Harris角点、SUSAN角点)提取和纹理特征提取(LBP)。

  • 图像分割模块包括KNN和分水岭,分水岭又分为普通分水岭和改进分水岭。

  • 帮助包括:系统简介、使用教程
    【数字图像处理】基于MATLAB GUI的数字图像处理程序_第2张图片

图 2-1系统功能结构图

3. 系统展示

3.1 首页

运行“final_project.m”文件后即可进入系统首页,“Ctrl”+“o”载入图像后会自动在原图下方显示图像的直方图,并且右侧的功能区会自动切换为几何变换功能区。

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第3张图片

图 5-2系统首页

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第4张图片

第一次载入图像后

3.2 预处理

该模块主要是对原图进行一些基本的预处理操作,每一次的处理操作都会在图2面板生成处理后的图像,并在其下方的图5面板处显示出处理后的图像直方图。每一次的操作都是基于原图进行的处理操作,如需要将多种处理效果追加到原图上,可以将本次处理结果保存后作为原图,再进行处理。


3.2.1 几何变换

在几何变换功能区可以拖动滑动条对图像进行平移、拉伸、镜像和旋转操作,可以根据需要对原图进行简单的几何变换。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第5张图片

图 3-4对图像进行几何变换

3.2.2 添加噪声

在添加噪声面板可对原图添加噪声,添加噪声时可以自定义噪声的一系列参数,也可使用面板的默认值进行噪声添加。

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第6张图片

图 3-5添加高斯噪声

3.2.3 图像平滑

图像平滑面板可对图像进行空域平滑滤波和频域平滑滤波。在对图像进行平滑时,也可以自定义滤波器的参数,以使得平滑产生不同效果。其中中值滤波的m和n为周围邻域的大小;梯形低通滤波的D0和D1分别为上下两个截止频率,要求D0 【数字图像处理】基于MATLAB GUI的数字图像处理程序_第7张图片

图 3-6利用梯形低通滤波平滑图像

3.2.4 图像锐化

图像锐化面板包括图像的锐化和边缘提取,锐化共有五种不同的算子,边缘提取有三种不同算子。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第8张图片

图 3-7使用Sobel算子锐化图像

在进行边缘提取时,Laplacian算子所提取的边缘图像为灰度图像,二LOG算子和Canny算子所提取出的边缘图像为二值图像。在图2是二值图像时,所产生的直方图不易观看,可以点击工具栏中的图标,将直方图缩小一定程度后即可查看。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第9张图片

图 3-8使用Canny算子进行边缘提取

3.2.5 形态学处理

形态学处理面板可以对图像进行腐蚀与膨胀,开运算和闭运算以及重建开运算,在进行重建开运算时,可以根据要提取的内容合适的调整结构元素的大小和形状。本例中为了提取所有含有竖线的单词,因此结构元素为1*22的竖线型。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第10张图片

图 3-9重建开运算

3.2.6 其他处理

其他处理面板包括对图像进行二值化、图像反转和灰度化。在二值化时,可选取不同的阈值,从而产生不同的二值化效果。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第11张图片

图 3-10图像反转

3.2.3 特征提取

特征提取面板点特征提取、纹理特征提取以及PCA提取主成分。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第12张图片

图 3-11 Harris角点检测

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第13张图片

图 3-12 LBP特征提取

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第14张图片

图 3-13 PCA提取第一主成分

3.2.4 语义分割

语义分割包括KNN像素分类和分水岭图像分割,在进行KNN像素分类前需要先载入标记样本,本例中的样本为“lable.txt”,载入样本后即可进行KNN分类。通过多次实验结果的对比,当K逐步增大时,分类的精确度会逐渐降低。且对原图的分类精确度要高于对PCA提取主成分后的图进行分类的结果。主要是由于在使用PCA降维后,丢失了原图的部分信息和细节,造成了分类结果的偏差。
【数字图像处理】基于MATLAB GUI的数字图像处理程序_第15张图片

图 3-14 对比使用原图和PCA提取主成分后图像的KNN像素分类结果

在进行分水岭分割时,图3面板显示的是普通分水岭分割结果,图6显示的则为改进后的分水岭分割结果,可以看到过分分割的现象有了明显改进。

【数字图像处理】基于MATLAB GUI的数字图像处理程序_第16张图片

图 3-15普通分水岭分割和改进后分水岭分割结果对比

你可能感兴趣的:(数字图像处理,matlab,图像处理,计算机视觉,数字图像处理)