可扩展遥感图像处理软件框架的搭建

3.0 闻远设计 2024-03-13 24 4 29.32KB 4 页 免费
侵权投诉
可扩展遥感图像处理软件框架的搭建
引言
随着科技的发展,遥感技术已经形成了一个从地面到空中乃至空间,从数据获取、处理到解译
分析和应用,对全球进行探测和监测的多层次、多视角、多领域的观测体系,成为获取地球资
源与环境信息的重要手段。随着对如此庞大数据的处理速度的提升,遥感数字图像处理技术也
得以迅速发展。
任何一套遥感图像处理软件都不能完全满足所有用户的需求; 并且随着数字图像处理技术的发
展,图像处理软件还需要不断地添加新的功能,如果对软件进行修改,然后重新编译、发布,
不仅费时费力,而且还可能出现版本兼容性方面的问题。
本文提出一种可扩展遥感图像处理软件框架的设计方法,可将执行程序( EXE) 和动态链接库
( dy-namic link libraryDLL) 程序以扩展模块的形式添加到软件平台中; 并动态添加菜单项,以
约定方式对其调用,利用文件映射技术进行数据交换,以便科研人员能够快速地将研究成果编
写成新的功能模块,并方便地添加到遥感图像处理软件系统中。
1 系统框架设计
可扩展遥感图像处理系统主要实现框架功能,构成一个遥感图像处理软件平台。该系统中需要
规定统一的遥感图像格式及其访问模式; 通过应用程序接口( application programming
interfaceAPI) 以平台功能方式提供基础图像处理功能,定义对外开放的内部程序接口和外部
程序调用接口; 其他功能均可由扩展模块来实现。系统的整体结构如图 1 所示。【图 1
1 1 数据接口
遥感图像的格式多种多样,为了方便图像处理功能的开发,在遥感图像处理软件平台中规定一
种统一的图像格式,并且提供格式转换功能,在处理图像之前将图像转换成统一格式。主程序
将实现读写遥感图像的功能( 比如获取头文件信息,获取某波段、某区块的图像数据) ,扩展模
块时不需要了解遥感图像的具体格式,只要通过接口直接调用主程序中的功能就能获取到图像
信息。
1 2 基础平台功能
主程序可以提供图像文件访问、图像显示等基础功能,还可以包括以下功能: 图像信息查
看,包括图像直方图查看和图像波谱查看等; 图像增强功能,包括图像拉伸、图像平滑、图
像锐化等功能;显示外部图像源与窗口控制,可以让扩展模块新建窗口或指定现有窗口并显
示扩展模块组织的图像; 图像裁剪、旋转与缩放功能。
1 3 API 的设计
软件平台应提供应用程序接口( API) ,主要包括遥感图像处理的一些基础功能,如上文提到的
数据接口,基本的遥感图像增强、图像显示等。将这些功能封装到一个动态链接库( DLL) 中,
并开放 API 供扩展模块调用。专业人员可以软件平台为基础,进行次开发,不在基础功能
上重开发、力。平台和扩展模块之间、扩展模块和扩展模块之间都可以互相调用,完
全开放、透明使系统具有良好的可扩展性。
1 4 扩展模块与动态菜单
扩展模块使C\C ++ 进行开发,可以以 EXEDLL( 或其他形式,只要定义API )
形式实现。在图像面中通过动态菜单调用扩展模块,EXE 模块可以直接调用,DLL 模块
可以开放程序接口或定义一个变量( 接口信息) 。科研人员可以随时将新功能添加到
系统平台中( 有新的研究成果时,可以依托平台现有功能,仅对新的研究成果快速地编写程
序,并方便地添加到系统平台中) ,新的功能模块可以实时地映到系统平台的动态菜单中。
整个系统平台的关键是扩展模块的添加与调用方式。
2 菜单的动态添加与
在图形面中使用扩展模块功能,主要通过动态添加的菜单来调用的。可以菜单项和扩展
模块的对应保存到一个配置文件中,次程序动时,据这个配置文件来实现动态菜单
初始化,这种方法需要开发人员行开发一个编辑配置文件的; 还可以所有扩展模块
一个文件中,次程序动时扫描该文件,为一个扩展模块动态添加一个菜单
项。一种方法需要外开发一个具,但是配置文件中可以保存多种信息( 比如菜单的上下
级关) ,这样在添加菜单时可以更好地进行扩展模块的分和显示; 第二种方法使
单方便,但是在菜单中所有的扩展模块只能罗列在一,不观也不方便使用。
2 1 菜单的动态添加
动态添加菜单的操作可在应用程序CWinApp InitInstance 数中进行。添加菜单项的操作
主要使AppendMenu 数,使用该数时要据设计的菜单级别获取应的父级菜单对
数的一个数为 MF_POPUP MF_ST ING,可以分添加下拉菜单和菜单项。
在所有的菜单项添加完成之后,进行 DrawMenuBar 操作,这样动态添加的菜单就可以显示出
来。添加 2 菜单的动态添加过程可以通过以下代码实现
CMenu * pTopMenu = AfxGetMainWnd( ) - > GetMenu( ) ; / / 获取系统菜单指
int nMenu = pTopMenu - > GetMenuItemCount( ) ; / / 获取现有菜单项个数
while ( i nMenuCount)
{
szTitle Format( _T( " % s" ) menuItemi title) ;
if( menuItemi type = = TOP_MENU)
{
CMenu newMenu;
newMenu CreatePopupMenu( ) ;
pTopMenu - > AppendMenuW( MF_POPUP( UINT) newMenu m_hMenuszTitle) ;
newMenu Detach( ) ; / / 菜单项与变量
+ + nMenu; / / 增菜单数,以便让菜单获取正确父级菜单
}
else if ( menuItemi type = = SUB_MENU)
{
/ / 获取菜单的父级菜单
pParentMenu = pTopMenu - > GetSubMenu( nMenu 1) ;
/ / 菜单需要有应的命令响应,需要一个全局唯一的 ID
pParentMenu - > AppendMenuW( MF_ST INGnewMenuIDszTitle) ;+ + newMenuID;
}
+ + i;
}
DrawMenuBar( AfxGetMainWnd( ) - > m_hWnd)
“ ”如果只进行添加菜单的操作那么界面中的这些动态菜单项都是 灰色( 不可用) ,而不
像其他系统自带菜单项样显示为可用;是因为其他系统的程序对自带的菜单项进行统
理,而通过上方法添加的菜单项需要理。对 菜 单 态进行定 义 操 作 需 要
CView 中的 OnCmdMsg 数,其中 nCode 表明本次命令类型nCode
CN_UP-DATE_COMMAND_UI 时,新用户面。开发人员可以据具体需求有选择
“ ”性地设置各个菜单项的态。将所有动态添加的菜单 激活 的过程可以通过以下代码实现:
摘要:

可扩展遥感图像处理软件框架的搭建引言随着科技的发展,遥感技术已经形成了一个从地面到空中乃至空间,从数据获取、处理到解译分析和应用,对全球进行探测和监测的多层次、多视角、多领域的观测体系,成为获取地球资源与环境信息的重要手段。随着对如此庞大数据的处理速度的提升,遥感数字图像处理技术也得以迅速发展。任何一套遥感图像处理软件都不能完全满足所有用户的需求;并且随着数字图像处理技术的发展,图像处理软件还需要不断地添加新的功能,如果对软件进行修改,然后重新编译、发布,不仅费时费力,而且还可能出现版本兼容性方面的问题。本文提出一种可扩展遥感图像处理软件框架的设计方法,可将执行程序(EXE)和动态链接库(dy...

展开>> 收起<<
可扩展遥感图像处理软件框架的搭建.docx

共4页,预览2页

还剩页未读, 继续阅读

作者:闻远设计 分类:其它行业资料 价格:免费 属性:4 页 大小:29.32KB 格式:DOCX 时间:2024-03-13

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 4
客服
关注