发明名称 一种基于金字塔和影像绘制引擎的超大遥感影像显示方法
摘要 一种基于金字塔和影像绘制引擎的超大遥感影像显示方法,采用金字塔的数据结构实现图像显示的动态管理,以显示窗口的地理位置为输入,以动态金字塔为第一数据源,直接为显示引擎提供待绘制的图像数据,以静态金字塔为第二数据源,直接从静态金字塔块中恢复出动态金字塔块,以影像文件为第三数据源,根据动态金字塔块的需求,从对应文件的对应区域读取影像数据,并根据显示需要转换。本发明通过动态金子塔和静态金字塔协同工作的方式避免了超大遥感影像在显示过程中大量内存IO的时间消耗,起到快速显示的作用。另外,本发明保存了特定区域的显示参数,并通过静态金字塔文件保存完整的影像数据,支撑后期基于特定区域的影像快速显示。
申请公布号 CN103678501A 申请公布日期 2014.03.26
申请号 CN201310582904.5 申请日期 2013.11.18
申请人 航天恒星科技有限公司 发明人 童俊涛;李申阳;邹同元
分类号 G06F17/30(2006.01)I;G06F9/44(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 陈鹏
主权项 一种基于金字塔和影像绘制引擎的超大遥感影像显示方法,其特征在于步骤如下:(1)利用开源GDAL作为遥感文件的读取库,获取遥感影像,然后利用开源Proj4库获取与遥感影像对应的投影信息;(2)初始化显示窗口的位置和显示分辨率,确定在初始位置下显示窗口所对应的遥感影像的地理位置信息,从遥感影像中读取显示窗口在初始位置下所包含的影像块在初始显示分辨率下的图像信息,并将该影像块的位置、分辨率信息保存至静态金字塔;在内存中划分出内存池构建动态金字塔,将显示窗口所对应的影像块的位置、分辨率信息保存至动态金字塔;所述的静态金字塔和动态金字塔中的各影像块均单独设置有引用次数的标识,引用次数的初始值为零;(3)获取用户所需要的显示窗口,确定用户所需显示窗口对应的遥感影像地理位置信息,并读取用户指定的显示分辨率信息,然后在动态金字塔内搜索对应区域和对应分辨率的影像块,如果存在满足要求的影像块则直接显示该影像块所在的区域,并将该影像块的引用次数加1,转步骤(5);如果不存在满足要求的影像块,则在动态金字塔内搜索对应区域但分辨率与用户需求不相同的影像块,如果存在满足要求的影响块则先显示与用户需求分辨率不相同的影像数据,同时将用于显示的数据块的引用次数加1后转步骤(4);如果不存在用户需求区域内的影像块则直接转步骤(4);(4)从静态金字塔中搜索用户所需显示窗口内对应分辨率的影像块,用搜索到的满足用户需求的影像块刷新显示窗口,并将该影像块加入到动态金字塔中;在向动态金字塔中加入影像块时,要对内存池的大小进行判断,如果内存池的剩余空间能够装载要加入的影像块,则直接装载影像块,如果内存池的剩余空间不能够装载要加入的影像块,则按照引用次数从低到高的顺序依次从内存池中释放影像块直至内存池的剩余空间能够装载要加入的影像块后装载影像 块;从内存池中释放影像块时,要判断静态金字塔中是否存在对应的影像块,如果存在则转步骤(5),如果不存在则将释放的影响块写入到静态金字塔中后转步骤(5);(5)完成用户需求关闭显示影像时,判断静态金字塔文件中是否存在当前显示的影像块,如果存在则退出,如果不存在,则将该影像块写入到静态金字塔中后退出。
地址 100086 北京市海淀区知春路82号院