基于GDAL大于2G遥感图像的快速浏览(2)
图3动态调度的示意图
(2)该块在内存金字塔的下面的[n-1,0]层是否
有对应块?如果有对应块,找到其中最接近图层n的图层中的块,在内存中缩小,得到该块数据,显示该块图像,将该块加入到内存金字塔中,如果超过设定的内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,该块读取结束;如果没有对应块,则进行第(3)步。
(3)该块在内存金字塔的[n+1,N-1]层是否有对应块?如果有对应块,找到其中最接近图层n的图层中的块,在内存中放大,得到该块数据(实现渐变的效果,放大的块数据不加入到内存金字塔中,而是将从文件中读取后,再加入内存金字塔中),显示该块图像后进行第(4)步;如果没有对应块,直接进行第(4)步。
(4)利用GDAL类库中的函数RasterIO()从文件中读取块数据,将该块加入到内存金字塔中,如果超过内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,然后显示该块图像,该块读取过程结束。
4.2图像放大操作
假定金字塔的总层数为N,图像在第n层上第i
块进行放大操作,放大后图层为n-q(图3所示),数据读取的算法过程如下:
(1)如果金字塔图层n-q上有对应块的数据,则直接读取并显示。
(2)如果金字塔图层n-q上没有对应块的数据,则首先用第n层上第i块进行放大操作,实现渐变显示效果;然后,查找该块在内存金字塔的下面的[n-q-1,0]层是否有对应块:①如果有对应块,找到其中最接近图层n-q的图层中的块,在内存中缩小到n-q层,得到n-q层对应块数据,显示该块图像,并将该块加入到内存金字塔中n-q层,如果超过设定的内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,
该块读
基于GDAL大于2G遥感图像的快速浏览
1622012,48(13)ComputerEngineeringandApplications计算机工程与应用
取结束;②如果没有对应块,则利用GDAL类库中的函数RasterIO()从文件中读取块数据,并将该块加入到内存金字塔中,如果超过内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,然后显示该块图像,该块读取过程结束。
4.3图像缩小操作
假定金字塔的总层数为N,图像在第n层第i块
上进行缩小操作,缩小后图层为n+p(如图3所示),缩小操作是三个操作最复杂的操作,缩小后窗口数据的范围比原来的要大。数据读取的算法过程如下:
(1)如果金字塔图层n+p上有对应块的数据,则直接读取并显示。
(2)如果金字塔图层n+p上没有对应块的数据,此时有两种情况:一是图层n上有对应块的数据,则直接缩小到n+p层,获得数据块后显示,并加入到内存金字塔中的n+p层上;如果超过设定的内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,该块读取结束。二是图层n上没有对应块的数据,则查找该块在内存金字塔的下面的[n+p-1,0]层是否有对应块?如果有对应块,找到其中最接近图层n+p的图层中的块,在内存中缩小到n+p层,得到n+p层对应块数据,显示该块图像,并将该块加入到内存金字塔中n+p层,如果超过设定的内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,该块读取结束;如果没有对应块,则利用GDAL类库中的函数RasterIO()从文件中读取块数据,并将该块加入到内存金字塔中,如果超过内存上限,执行LRU替换算法移除一些图像块,直到有足够的空间容纳新加入的图像块数据,然后显示该块图像,该块读取过程结束。
5运行的结果
本文程序基于gdal17.dll用VisualC++6.0在
WindowsXP2002SP3版本下开发,在Dell台式机IntelCPU2.33GHz,1.95GB的内存)下运行,打开1G以下的图像,无论是第一次,还是以后放大、缩小和漫游都非常快,基本上不需要等待。打开2G以上
的图像(29647×29475的三波段彩色图像,大小为2.44G),如图4所示。由于第一次打开要采样并建立金字塔,所用时间较长,需要53秒左右,以后的放大、缩小和漫游都很快。在同一台机器下用EnviZoom4.5下打开此文件,建立金字塔并显示缩略图用了3分10秒左右,当然EnviZoom软件第一次打开时在硬盘上建立了833M的静态金字塔文件,以后再打开文件时,它自动地从静态金字塔文件读取,则非常快,所以不能简单地比较谁快谁慢。
图4打开2.44G的图像的程序界面
6结论
GDAL开源库支持多种图像文件格式,并提供了
快速读取图像数据和建立金字塔等许多强大的功能。因此,本文基于GDAL对图像进行分层分块处理,并在内存中建立图像金字塔结构作为高速缓存,实现了快速地显示和浏览大的图像。
参考文献:
[1]吕京国,黄国满.用VisualC++实现大数据量的快速存取[J].
测绘科学,2002(9):29-31.
[2]胡伟忠,刘南,刘仁义.基于内存映射文件技术的海量影像
数据快速读取方法[J].计算机应用研究,2005(2):111-112.[3]章孝灿,黄智才,陈刚,等.海量遥感影像快速显示技术[J].
中国图象图形学报,2002,7(10):1021-1026.
[4]RichterJ.Windows高级编程指南[M].王书洪,刘光明,译.3
版.北京:清华大学出版社,1999.
[5]许涌,万国龙.海量图像数据快速显示技术[J].计算机工程
与设计,2003(6):36-38.
[6]宋江洪,赵忠明.图像分块分层结构在海量数据处理中的
应用[J].计算机工程与应用,2004,40(33):
31-33.
(
…… 此处隐藏:738字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




