摘 要 matlab具有强大的计算能力,且以矩阵为基本的运算单元,因此被广泛的应用于数字图像处理领域。本文以mtlab为开发平台,结合图形用户界面gui技术,设计并实现了一个简单的较为完整的数字图像处理系统。该系统能够实现对图像的一些常用处理,包括图像增强、边缘检测、图像几何运算等。
【关键词】matlab 图形用户界面 数字图像处理
1 引言
数字图像处理是一门综合性学科,利用计算机及其他相关知识实现对图像的某些运算和处理,达到人们既定的目的。数字图像处理的理论比较复杂,对图像处理领域的学者而言掌握图像处理的原理尤为重要。现在一般使用的图像处理软件如photoshop、maya等,将相关图像处理算法直接封装在软件中,无法揭示图像处理的原理和知识。为了帮助图像处理领域相关人员对更好的学习图像处理知识,本文使用matlab作为开发平台设计并实现了一个简单的数字图像处理系统,该系统的功能图如图1所示,系统主要分为采集模块、分析处理模块、结果储存及图像显示模块。
2 系统实现
2.1 matlab开发平台及相关技术介绍
matlab是有美国mathworks公司推出的一款具有强大的矩阵计算和数值计算能力的软件,在系统仿真、数字图像处理等领域中应用广泛。matalab的主要优点有简单易学、代码效率高、计算能力强、图像绘制和处理能力强、灵活性强等。
图形用户界面(gui)指的是采用图形界面的方式帮助用户与计算机系统进行交互。gui包含各种对象,如按钮、文本框、对话框、菜单等。用户通过这些对象进行人机交互,图形用户界面的设计对用户体验有着很大的影响,决定着一个软件是否能够受到用户的欢迎。利用matlab的gui工具能够快速的设计出满足用户需求的用户界面,本系统使用matlab gui技术来设计人机交互界面。
2.2 系统各功能设计
本文实现的是一个简单的图像处理系统,只包含一些基本的图像处理功能,主要功能模块如下:
2.2.1 基本操作功能
该功能包括对图像的读取、显示、保存。该功能主要由matlab的imwrite()、imread()、uigetfile()、uiputfile()等函数实现。
2.2.2 图像增强功能
该功能包括对彩色图像进行色调、饱和度、亮度的调整;对灰度图像进行直方图均衡化、锐化、平滑等操作,锐化包括频域滤波和空域滤波。对于彩色图像,将rgb格式彩色图像通rgb2hsi()函数转换为hsi格式的图像,调整彩色图像各像素的色调、饱和度和亮度的像素值来达到彩色图像增强的目的;对于灰度图像可以使用直方图均衡化的方法进行图像增强,该方法的原理是用累积分布函数变换法修正直方图,该算法用到的函数表达式如下:
式中,ni表示第i个灰度级ri出现的次数,该灰度级像素的概率值为pr(ri),ri需满足归一化条件。采用高通滤波器和低通滤波器对图像分别进行锐化和平滑的操作,锐化操作可以突出图像中感兴趣的部分,增强图像背景与目标之间的对比度,如通过锐化可以强化边缘,更能体现出目标的边缘特性。而平滑实际上使对灰度级进行一个平均,这样就可以消除图像干扰、模糊图像噪声。本系统使用的锐化滤波器为拉普拉斯滤波器,使用的平滑滤波器有两种:维纳滤波器和中值滤波器。
2.2.3 图像几何运算功能
集合运算只要包括图像的旋转、剪裁、缩放、插值、删除指定区域等该功能。这种运算比较简单,实际上就是将像素在图像内进行移动。当用户对图像进行放大时,图像像素就会按照用户放大的比例进行线性增加,这时需要对图像进行补充来填补缺失的像素,本文使用了三种插值方法,分别为最近邻法、三次内插法和双线性插值法;对于图像的缩放,使用matlab函数imresize()按照指定的比例进行缩放运算,然后再进行插值运算;图像剪裁用到的函数为imrotate()。
3 结束语
本文简要阐述了图像处理技术及matlab开发平台,实现了基于matlab的简单图像处理系统,对系统中各个模块涉及的相关技术进行了详细的介绍。该系统具有良好的人机交互界面,各项功能正常,能够满足基本的图像处理操作。在以后的工作中,需要进一步完善该系统,添加新的功能,并对代码进行优化,提高系统的整体性能。
参考文献
[1]杨帆.数字图像处理与分析(第二版)[m].北京:北京航空航天大学出版社,2010.
[2]陈垚光
王正林.精通matlab gui设计[m].北京: 电子工业出版社,2007.
[3]王国权,仲伟波.灰度图像增强算法的改进与实现研究[j].计算机应用研究,2004,21(12):175-179.
作者简介
刘婧(1985-),女,河南省安阳市人。大学本科学历。在职研究生。现为海口经济学院助教。主要研究方向为软件工程、图形图像处理。
作者单位
海口经济学院 海南省海口市 571127