基于MATLAB平台的可视化图像处理系统设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[收稿日期]20050228 [作者简介]黄书先(1962),女,1983年大学毕业,硕士,副教授,现主要从事石油勘探开发研究与科研管理工作。

基于MATLAB 平台的可视化图像处理系统

设计方法

黄书先 (长江大学科学技术处,湖北荆州434023)

[摘要]以MATLAB 为工作语言和开发环境,开发了一个在M AT LAB 平台下的可视化图像处理系统,

可实现包括对测井图像在内的一般图像的精细处理,并能和用户开发的程序接口。为M AT LAB 的再开发

和可视化系统的设计作了有益的探索。

[关键词]MATLAB;图像处理;可视化GUI 界面

[中图分类号]TP 311111

[文献标识码]A [文章编号]16731409(2005)04015803

MAT LAB 的图像处理工具为自然科学各学科领域的学者、研究人员和工程师提供了一个直观的灵活的环境,用以解决复杂的图像处理问题。用MAT LAB 语言开发的图像处理算法可以在所有支持MAT LAB 的平台上共享。也可以将m 语言算法和现存的C 程序集成在一起或者将MATLAB 开发的m 语言算法和GU Is 编译为C/C++代码,供其他程序调用,或者发布为一个独立的应用程序。下面笔者提出一个基于MATLAB 平台的可视化图像处理系统设计方法,可用于包括测井图像资料在内的一般图像的精细处理。

1 系统总体设计

在MAT LAB 中有个重要的图像处理工具包[1],该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示;图像文件输入与输出;几何操作;像素值统计;图像增强;图像识别;图像滤波;图像变换;邻域和块操作;二值图像操作;颜色映射和颜色空间转换;图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。

MAT LAB 提供了交互式的GU I 开发环境[2~4],用户只需要设置各个对象相应的属性,系统自动生成与之对应的界面,大大减少了开发的难度。本设计的MAT LAB 图像处理系统由封面、主界面和各个子功能界面组成,其框图如图1所示。程序总流程图如图2所示。

2 封面界面设计

首先用MAT LAB 编辑封面的脚本文件,生成系统的封面界面,然后再进入处理的主界面。

在设计封面时,要做好封面的总体布局,力求完美。要插入背景,首先要找到所用的函数(这在一般的书中很难找到);其次要注意设置axes 的属性。在显示背景图像时,不能用imshow ()函数,如果用此函数,背景图像只能显示在封面的一部分,不能整屏覆盖;而要用imagesc ()函数。MATLAB 提供修改文本中文字的字体,它支持华文中宋、华文彩云、华文仿宋、楷书、黑体等,功能较强。

在设计封面的过程中,最主要的技术是要解决时间的显示,如果只用MATLAB 中的clock ()函数,则显示的是静态时间,而不会显示和电脑同步的动态时间。为了解决这个问题,需做一个循环判断语句:while find (get (0,'c hildren'))==h0。成立的条件是,只要是当前窗口循环,否则停止,这样可以减少CPU 的负担。同时,要实时提取clock ()函数,可用fix (clock),使提取的时间更美观。#158#长江大学学报(自科版)2005年4月第2卷第4期/理工卷第2卷第2期

Jour nal of Yangtze University (Nat Sci Edit)Apr 12005Vol

12No 14/Sci &Eng V,Vol 12No 12

图1 MATLAB 图像处理系统原理框图 图2 MATLAB 图像处理系统程序总流程图

因为用clock ()函数提取的时间是用科学计数法表示的。提取的时间还要转换成字符显示,用set 设置属性/string 0。

3 主界面设计

当按/进入0键后,封面界面会消失,接着进入图像处理的主界面。其功能包括图像增强和图像识别两大块。这个主界面中还有一个打开文件的问题,因为以1DA T 为后缀的图像数据文件MAT LAB 不能直接处理,需要转换成其他格式,如1BMP,1GIF,1T IF,1JPG 和灰度图像。

按/打开0键后,出现标准Windows 的打开对话框,选中要处理的文件,需要对它进行处理。如果是1DAT 文件,要先把它转换成灰度图像,可用mat2gr ay ()函数生成128@128的一维矩阵,也可用reshape (I ,128,128)把图像矩阵转换成128@128的矩阵;然后用imread ()函数直接读取图像文件显示。转换后的图像数据用save 命令保存,然后在各个文件中传递。按/返回0键,本界面消失返回到封面,按/清屏0键将清除显示在图像区的所有图像。

设置其他键,具有相应的子功能。

4 图像处理子功能界面设计

以图像增强处理为例。在设计图像增强功能时,主要设计了3个方面的处理:灰度变换、直方图处理、空域滤波。

在灰度变换中,可进行增强对比度、图像压缩、图像求反等处理。

在空域滤波中,可进行线性滤波、中值滤波、自适应滤波。对被噪声污染的图像进行线性滤波,可以去除图像中某些类型的噪声。如采用邻域平均法的均值滤波,就非常适应于去除通过扫描得到的测井图像中的颗粒噪声。中值滤波是抑制噪声的非线性处理方法,它运算简单,易于实现,而且能较好地保护边界;但有时会失掉图像中的细线和小块的目标区域。自适应滤波是用wiener2函数[5]

根据图像的局部方差来调整滤波器的输出,当局部方差大时,滤波器的平滑效果较小;当局部方差小时,滤波器平滑效果强。wiener2函数提供的自适应滤波通常比线性滤波的效果好,它比相应的线性滤波器具有更好的选择性,可以更好地保存图像的边缘和高频细节信息;另外,使用起来非常方便,wiener2函数同时计算出滤波器的参数,并对图像进行滤波计算,而且wiener 2函数并不比线性滤波器需要更多的计算时间。#

159#理工卷第2卷第2期黄书先:基于MATLAB 平台的可视化图像处理系统设计方法

相关文档
最新文档