基于IDL的图像处理软件设计与实现

2013-08-14 05:27张艳秋花春亮
河南科技 2013年11期
关键词:图形用户界面顶层图像处理

张艳秋 花春亮

(长安大学 地测学院,陕西 西安 710054)

1 引言

IDL作为一种面向矩阵、语法简单的第四代开发语言最成功应用就是开发出ENVI遥感数据专用处理软件,是做二维和三维数据快速可视化的最理想的编程语言,科学工作者利用IDL语言不必花大量时间就可以快速开发出自己数据处理软件,在地球科学、医学影像、图像处理、GIS系统、软件开发,大学教学,实验室,测试技术,天文,航空航天、信号处理,防御工程,数学统计及分析,环境工程等很多领域,IDL语言都可以得到广泛而又深远的应用。

2 IDL图形用户界面及事件响应机制

2.1 构建图形用户界面

IDL编写的图形用户界面中都含有一个顶层的BASE,它将作为包含其他基底和用户界面组件的顶层架构,从而形成一个自顶向下的层次结构。实现图形用户界面的组件的名字大多以WIDGET_开头,以组件的功能结尾。在创建IDL的图形用户界面,首先要构建一个顶层的BASE,这是软件的基本组件,然后在此基础构建其他组件,建立下级的组件,和其他的开发平台不同的是没有集成好的组件,软件的基本框架设计都是通过代码语言实现的。本研究就是借助IDL这样的特性,构建了一个模块化的图形用户界面,并且支持用户交互。

2.2 事件响应和Xmanager

当用户在组件界面上操作时,如单击一个按钮、或从列表框中选择等,将导致一个事件产生。事件是送往指定函数(或过程)的一组数据,数据描述了用户的操作。函数收到数据后,处理数据,然后做出的回答,IDL的事件相应由Xmanager处理,它在组件程序中扮演重要的角色。每个用户操作都会产生一个事件交给Xmanager来处理。Xmanager则委托每个事件给一个称为事件处理器的函数来处理事件。Xmanager的工作机制和Windows下编程的消息循环的方式是类似的,它以循环的方式时刻等待事件的发生,再从窗口系统中取得事件,将一包数据传送待事件处理器。每个事件会返回一个event变量,它是一个结构体,包含了事件的全部信息,这些信息包括事件的产生者id、保持此组件的顶层基底和引发该事件组件的其他特殊信息如产生时鼠标的状态和位置、键盘的状态等。从该表中我们可以看出,IDL完全具备用于实现人机交互的事件消息响应机制。

2.3 IDL图形显示系统

IDL语言有两套完全独立的图形体系:直接图形法和对象图形法。这两套系统互不兼容,直接图形窗口里不能显示对象图形,相反同样如此。本文利用对象图形法来编写软件程序,对象图形法显示基本代码如下:

3 基于IDL图形处理软件设计

系统采用IDL语言作为开发语言,应用IDL8.0开发平台,按照软件工程学理论进行软件系统开发。图像处理软件实现图像输入输出、几何变换、滤波、增强、图像分析等等一系列的功能。其中图像输入分别包括BMP,JPEG,TIF三种格式的图像输入以及保存等操作;几何变换模块主要实现了图像的平移、缩放、浏览模式、裁剪、转置等功能;图像增强模块集合了字节拉手、平滑、锐化、直方图均衡化;图像滤波模块实现了低通滤波、高通滤波、中值滤波、定向滤波、拉普拉斯滤波,图像去噪等功能;边缘检测模块包含有 roberts、sobel、prewitt、shift_diff、lplacian、edge_dog、emboss、canny、梯度边缘算子;形态学分析实现了腐蚀、膨胀、开闭运算、峰值检测、图像识别功能;图像分析实现了图像的基本信息显示、方差、协方差、标准差、信息熵等功能。软件界面如下:

图3-1 基于IDL图像处理软件

4 结论

(1)通过IDL语言学习成功实现了基于对象图形法显示系统图像处理软件,掌握IDL流程、界面构建方式、事件响应方式、参数传递方式,为了后期继续实现编写定制功能软件奠定了基础。

(2)对图像处理理论的几何变换、滤波、增强、边缘检测、形态学分析等基础理论更加深刻理解,同时对图像的本质有了更加深刻的认识。

[1]汤泉,基于IDL和ENVI二次开发技术的遥感软件系统开发方法与开发实例研[M],2008

[2]汤敏,基于IDL语言的医学图像处理分析系统的研发[J].生物医学工程学,2009(725)

[3]潘舒放,基于IDL的无人机遥感影像拼接研究与实现[M].2009

[4]李春升,燕英,陈杰,周荫清,基于IDL的SAR图像处理及质量评估系统[J].通讯与电视,2000

猜你喜欢
图形用户界面顶层图像处理
汽车顶层上的乘客
图形用户界面外观设计专利保护问题探析——以“奇虎诉江民案”为例
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
浅谈图形用户界面的保护
图形用户界面法律保护问题与对策
基于图像处理的定位器坡度计算
加快顶层设计
健康卡“卡”在顶层没联网
Photo Shop通道在图像处理中的应用