1、1 基于 MATLAB 数字图像处理平台设计 2 摘 要 数字图像处理技术在各个行业得到广泛的应用,其交互式的图形界面是操作者方便使用这些技术的途径。 本文主要介绍了基于 MATLAB 的图形用户界面( GUI)来 设计一个简单实用的 图像处理软件平台 ,其中具备图像处理的常用功能,以满足用户的使用。文章详细阐述 了 一下图像处理软件平台的 设计过程 。本文的 GUI 设计 所制作的图像处理软件平台 可以实现的功能有 五个模块 : 图像变换 、图像增强、图像分割、图像变形以及其它常用处理。其中也讲述了 GUI 的基本常 用操作及文件的打开、保存及退出。 文章基本介绍了以上的内容,关于软件还有许
2、多未能实现的功能有待于日后的逐步开发 和学习。 关键词 : GUI;图像变换;图像增强;图像分割;图像变形;图像处理 ABSTRACT Digital image processing technology has been widely used in various industries, their interactive graphical interface is the way of the operator ease of use of these technologies.This article mainly introduced the graphical user int
3、erface (GUI) based on MATLAB to design a simple and practical platform for the image processing software, Which have commonly used image processing function, in order to meet the users use. The article expounds the design process of the image processing software platform. This paper made the GUI des
4、ign of image processing software platform can realize the function of five modules: image transformation, image enhancement, image segmentation, image distortion and other commonly used processing. The basic common operations of which also tells the story of GUI and file open, save, and exit. The co
5、ntent of the article introduces the above basic, about software and many fail to realize the function of the subject to the gradual development and learning in the future. Key words: GUI; Image transformation; Image enhancement; Image segmentation; Image deformation; The image processing 3 目 录 1 绪论
6、. 1 1.1设计要求及目的 . 1 1.2 课题分析 . 1 1.3 总体设计 . 2 2 具体设计 . 2 2.1 菜单设计 . 2 2.2 图像的打开、保存及退出 . 3 2.2.1 图像打开 . 3 2.2.2 图像保存 . 4 2.2.3 程序退出 . 4 2.3 图像变换 . 4 2.3.1 傅里叶变换 . 4 2.3.3 离散余弦变换 . 5 2.4 图像增强 . 5 2.4.1 空间域增强 . 5 2.4.2 频率域增强 . 6 2.5 图像分割 . 7 2.5.1 阈值分割 . 8 2.5.2 梯度分割 . 8 2.6 图像变形 . 9 2.6.1 翻转 . 9 2.6.2
7、旋转 .10 2.7 其它常用处理 .10 2.7.1 亮度 .10 2.7.2 对比度 . 11 2.7.3 截图 . 11 2.7.4 底片效果 .12 2.7.5 二值处理 .12 3 结果分析 .13 4 心得体会 .13 附录 .14 1 基于 MATLAB数字图像处理平台设计 MATLAB是近几年来国内外使用最为广泛的优秀科技软件之一。其语法结构简单, 具有极强的数值计算、数据分析、图形绘制及图像处 理等功能。具有高质量的图形可视化效果和强大的界面设计能力。 因而在数字图像处理中有着其他语言所无法比拟的优势。 图形用户界面( GUI)是提供人机交互的工具和方法。利用 GUI制作图像
8、处理软 件能够实现 图像处理的各个内容,主要有:图 像 空间变换:邻域和块操作;二值图像操作;线 性滤波和滤波器设计;变换域处理;图像分析和增强;图像恢复;图像压缩; 形态学运算等。 1 绪论 1.1设计 要求及 目的 设计要求:以 MATLAB 作为工具,开发一个图像处理软件。主要进行图像处理的常用算法。由以下模块组成:图像变换;图像增强;图像分割。按各个模块进行功能扩充,也可加入其它常用的图像处理功能。 设计目的: MATLAB 软件为数字图像处理提供了功能丰富的工具, 应用 MATLAB友好的界面和实用 高效的指令及模 块,可以使人较快 地认识、理解图像处理的相关概念,逐步掌握图像 处理
9、的基本方法 。此课题的设计目的是 综合运用 MATLAB 工具箱实现图像处理的 GUI 程序设计,学会和掌握 GUI 的图像处理平台设计。 1.2 课题分析 此课题 利用 MATLAB的 GUI 程序设计一个简单实用的图像处理程序。该程序具备数字图像处理平台设计功能图 像 变 换 图 像 增 强 图 像 分 割 图 像 变 形 其它常用处理傅里叶变换离散余弦变换灰度变换直方图均衡化低通滤波器roberts算子高通滤波器canny算子sobel算子空间域增强频率域增强阈 值分 割梯 度分 割旋 转 翻 转上下翻转左右翻转对比度截图底片效果二值亮度图 1.1 整体功能框图 2 图像处理的常用功能,
10、以满足用户的使用。 程序实现的图像处理功能分为五个模块:图像变换、图像增强、图像分割、图像变形以及其它常用处理。如图 1.1所示。 除以上的数字图像处理的功能外,该程序还要实现图像的读取显示、图像的保存及退出等基本功能。从而实 现完整的数字图像平台设计,具有更好的交互性。 1.3 总体设计 软件的总体设计界面主要分为两个部分:显示区域与操作区域。具体界面布局如图 1.2所示。 显示区域: 定义两个图形区域,左面为待处理图片来 显示载入 的 原图 像,右面为 通过处理后的图像。 操作区域:通过菜单栏的编辑实现对图像的各种处理,分为文件和编辑两大部分。通过文件中的打开操作显示出处理前的图像,在编辑
11、中选择某个图像处理功能后,将在已处理图片下就会显示出处理后的图片。 2 具体设计 2.1 菜单设计 通过 Menu Editor 创建菜单栏如图 2.1所示 。 菜单的设计 主要分为两大部分 :文件和编辑。文件包含图像的打开、保存和退出;编辑包含图像处理功能的五个模块 :图像变换、图像增强、图像分割、图像变形及其它常用处理,还有 各个模块的分支。 通过此菜单来控制显示或 隐藏功能键。 以图 2.1的傅里叶变换为例,当添加上某一菜单后 ,修改名称为傅里叶变换, 句柄为FFT,从而会在 M 文件中自动生成傅里叶变换的功能函数 function FFT_Callback(hObject, event
12、data, handles),在此函数下编写能够实现傅里叶变换的程序便能实现对图像的傅里叶图 1.2 界面布局 3 变换。 2.2 图像的打开、保存及退 出 2.2.1 图像 打开 图像的打开主要是 通过 以下程序来实现的: “filename,pathname=uigetfile(*.jpg;*.bmp;*.tif;*.*,载入图像 );” 选择相应路径打开 图像; “file=pathname,filename; x=imread(file);”读取选中的图像; “imshow(x);”在显示区域上显示图像。 具体操作如图 2.2所示 ,选择 “文件 ”菜单中的 “打开 ”后,出现 “载入
13、图像 ”,选中想要 处图 2.1 菜单栏 图 2.2 图像的打开 4 理的图片后点击 “打开 ”,即可在显示区域中显示出处理前的图片。 2.2.2 图像 保存 图像的保存主要是 通过 以下程序来实现的: “sfilename,sfilepath=uiputfile(*.jpg;*.bmp;*.tif;*.*,保存图像文件 ,untitled.jpg);” 选择图像文件保存的路径与格式; “sfilefullname=sfilepath ,sfilename; imwrite(handles.img,sfilefullname);”实现对图像的保存。 具体操作如图 2.3所示, 选择 “文件 ”
14、菜单中的 “保存 ”后,出现 “保存图像文件 ”,修改文件名后点击 “保存 ”,即可将处理后的图像保存到 keshe的文件夹下。 2.2.3程序 退出 程序的退出是 通过 “clc;”, “close all;”, “close(gcf);”, “clear;”这些指令来清除指令窗,窗口,内存变量及函数。 具体操为 选择 “文件 ”菜单中的 “退出 ”后,便关闭了执行界面的窗口并清除了指令窗的所有指令。 2.3 图像变换 2.3.1 傅里叶变换 傅里叶变换 (FFT)实际上是将信号 f(t)与一组不同频率的复 正弦作内积,这一组复正弦是变换的基向量,傅里叶系数或傅里叶变换是 f(t)在这一组基
15、向量上的投影。在图像处理技术的发展过程中, FFT起着十分重要的作用 。它 是线性系统分析的一个有力工具,它能够定量地分析诸如数字图像之类的 数字化系统。 FFT主要分为连续傅里叶变换和离散傅里叶变换,在数字图像处理中经常用到的是二维离散傅里叶变换。 程序中主要是通过二维 离散傅里叶变换函数 fft2(),变换后四个角部分对应于低频成分,中央部分对应于高频成分。若想使低频成分出现在中央位置,则通过函数 fftshift()将图像频谱 中心从矩阵 的原点移到 矩阵中心 。从而实现图像的二维傅里叶变换。 具体程序见图 2.3 图像的保存 5 附录。原图像及傅里叶变换后的图像如图 2.4所示。 2.
16、3.3 离散余弦变换 离散余弦变换 (DFT)在图像处理中占有重要的位置,它实际上是傅里叶变换的实数部分,但是它比傅里叶变换有更强的信息集中能力。对于大多数自然图像, DCT能将大多数的信息放到较少的系数上去,因此就更能提高编码的效率。 程序中主要是通过 灰度变换函数 rgb2gray()及 二维离散余弦变换函数 dct2()来实现对图像的二维离散余弦变换,具体程序见附录。 其变换后的图像 低频能量都集中在 左上角区域,而向着右下角方向,频率越来越高。 原图像及离散余弦变换后的图像如图 2.5所示。 2.4 图像增强 图像增强是图像处理中的一类基本技术,其主要的目的改善图像的视觉效果,提高图像
17、的清晰度。图像增强能够扩展对比度,增强图像中对象的边缘,消除或抑制噪声或保留图像中感兴趣的某些特性而抑制另一些特性等。 图像增强方法按其处理所进行的空间不同,可分为空间域法和频率域法。 2.4.1 空间域增强 空间域法是在空间域内直接对像素灰度值进行运算处理,常用的 空间域法有图像的直接 灰度变换和直方图均衡化,下面分别介绍 两种空域上的图像增强方法。 图 2.5 离散余弦变换 图 2.4 傅里叶变换 6 (1) 灰度变换 通过灰度变换可使图像动态范围加大,图像对比度扩展,图像清晰,特征明显,大大改善人眼的视觉效果。 程序中主要 通过灰度处理函数 rgb2gray()对图像进行灰度变换,将彩色
18、图像转换成灰度图像。原图像及灰度图像如图 2.6所示。 (2) 直方图均衡化 直方图均衡化 是对原始图像中的像素灰度作某种映射变换,使变换后的图像灰度的概率密度是均匀分布的,即变换后图像是一幅灰度级均匀分布图像,这意味着图像灰度的动态范围得到了增加,从而可提高图像的对比度。 程序中主要通过 灰度处理 函数 rgb2gray()先对图像进行灰度变换,然后通过直方图均衡化处理函数 histeq()对灰度图像进行直方图均衡化处理。原图像及直方图均衡化后的图像如图 2.7所示。 2.4.2 频率域增强 频率域法就是在图像的某种变换域内,对图像的变换值进行运算,然后通过逆变换获得图像增强效 果。这是一种
19、间接处理方法,一般采用二维数字滤波方法来进行频率域的图像增强 。 图 2.6 灰度变换 图 2.7 直方图均衡化 7 (1) 低通滤波 图像的边缘以及噪声干扰在图像的频域上对应于图像傅里叶变换中的高频部分,而图像的背景区则对应于低频部分,因此可以用频域低通滤波法去除图像的高频 成分,以去掉噪声,使图像平滑。 程序中采用二阶巴特沃斯低通滤波器,先用函数 fft2()对图像进行二维离散傅里叶变换,然后通过低通滤波器进行滤波后,再对滤波后的图像数据通过 ifft2()进行傅里叶反变换,从而得到 低通 滤波后的图像。如图 2.8所示。 (2) 高通滤波 图像中的边缘或线条与图像频谱中的高频分量相对应,因此采用高通滤波器让高频分量顺利通过,可以使图像的边缘或线条变得更清楚,可实现图像的锐化。 程序中采用二阶巴特沃斯高通滤波器,与低通滤波过程相同,先进行傅里叶变换,然后通过高通滤波器,再进行傅里叶 反变换,从而得到高通滤波后的图像,具体程序见附录。原图像及滤波后的图像如图 2.9所示。 2.5 图像分割 图像分割是一种重要的图像分析技术。为了识别和分析图像中的目标,需要将它们从图像中分离提取出来,在此基础上才有可能进一步对目标进行测量和对图像进行利用。图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。 图 2.8 低通滤波器 图 2.9 高通滤波器