一、课题背景
MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。
笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用 MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。
上述功能均是在MATLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用 MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。
二、 数字图像处理研究的内容
一般的数字图像处理的主要目的集中在图像的存储和传输,提高图像的质量,改善图像的视觉效果,图像理解以及模式识别等方面。新世纪以来,信息技术取得了长足的发展和进步,小波理论、神经元理论、数字形态学以及模糊理论都与数字处理技术相结合,产生了新的图像处理方法和理论。数字图像处理技术主要包括:
1、图像增强
目前图像增强技术根据其处理的空间不同,可分为空域法和频域法两大类,前者根据在图像所在的像素空间进行处理,后者是通过对图像进行傅里叶变换后在频域上间接进行的。
2、图像恢复
图像恢复,也称为图像还原,其目的是尽可能地减少或者去除数字图像在获取过程中的降质,恢复被退化图像的本来面貌,从而改善图像质量,以提高视觉观察效果。
3、图像变换
图像变换就是把图像从空域转换到频域,对原图像函数寻找一个合适变换的数学问题,众多图像变换方法不断出现,从傅里叶变换发展到余弦变换,再到现在非常流行的小波变换,图像变换分为可分离变换和统计变换两大类。
4、图像压缩
数字图像需要很大的存储空间,因此无论传输或存储都需要对图像数据进行有效的压缩。其目的是生成占用较少空间而获得与原图十分接近的图像
5、图像分割
图像分割的目的是把一个图像分解成它的构成成分,图像分割是一个十分困难的过程。图像分割的方法主要有 2 类:一种是假设图像各成分的强度值是均匀的,并利用这个特性,这种方法的技术有直方图分割,另外一种方法是寻找图像成分之间的边界,利用的是图像的不均匀性,基于这种方法的的技术有梯度法分割。
6、边缘检测
边缘检测技术用于检测图像中的线状局部结构。大多数的检测技术应用某种形式的梯度算子。边缘检测广泛应用于图像分割、图像分类、图像配准和模式识别,在大多数的实际应用中,边缘检测是当做一个局部滤波运算完成的。
三、图像处理系统的详细设计
用 MATLAB 对图像进行处理是当前科技领域的一个重要的课题,它采用的是用一组有序的灰度或彩色数据元素构成图像,数组的每一个元素对应于图像的一个像素值。这样 MATLAB 就可以利用其强大的矩阵计算功能实现对图像的数字处理。本案所设计的系统主要是利用 MATLAB 所提供的图形用户界面(GUI),实现一个可视的面向对象的操作界面。
3.1 设计原则
由于要求不同,设计出来的界面也就千差万别。但是,自从人们开始设计图形界面以来,界面设计的评判标准却没有太大的变化。简单说来,一个好的界面应遵从以下三个原则:简单性、一致性、习常性。
1、简单性
设计界面时,应力求简洁、直接、清晰地体现出界面的功能和特征。那些可有可无的功能应尽量删去,以保持界面的清洁。
2、一致性
所谓一致性包含两层意义:一是自己开发的界面风格要尽量一致;二是新设计的界面要与其他已有的界面风格不要截然相左。这是因为用户在初次使用新界面时,总是习惯于凭借经验进行试探。
3、习常性
设计界面时,应尽量使用人们所熟悉的标志和符号。用户可能并不了解界面的具体含义及操作方法,但他也可以根据熟悉标志做出正确猜测,自学入门。
4、其他考虑因素
除了以上对界面的静态要求外,还应注意界面的动态性能。如对用户操作的响应要迅速、连续。
3.2 设计的一般步骤
1、分析界面所要求实现的主要功能,明确设计任务。
2、在稿纸上绘出界面草图,并对其进行审查。
3、按照构思的草图,上机制作静态界面,并进行检查。
4、编写界面动态功能的程序,对其功能进行逐项检查。
3.3 系统功能的模块设计
根据当前图像处理系统的总体设计样式和要求,该系统主要包括文件、工具、编辑、图像、调色、图像类型转换、颜色空间转换、正交变换等模块。其模块图如3.1所示:
图3.1 系统功能框图
3.4 窗口界面的实现
该系统界面的设计主要是利用MATLAB所提供的GU(IGraphUser Interface)向导设计控件而完成的,该向导可以实现多种控件的设计,给用户提供了一种友好的交互方式,同时也给操作带来很多方便。图形用户界面GUI是包含图形对象(如图形窗口、菜单、控件、文本)的用户界面,用户以某种方式选择或者击活这些对象会发生变化或引起动作。
1、启动 GUI 的方法
启动图形用户界面的方法有很多种,例如可以利用工具栏上的命令按钮,也可以采用菜单和命令的方式。在本人设计的案例中采用的是命令方式:在命令窗口直接输入 guide 命令,弹出的窗口如图 3.2 所示:
图3.2 GUI 启动界面
在弹出的guide quick ate new gui选项卡里面的start 窗口中选择 creBlank GUI 选项,这样就可以进入图形用户界面来设计我们的系统静态界面。