本发明专利技术涉及计算机技术领域,公开了一种图像融合拼接方法,其包括以下步骤:(1)计算出图片数量G*G,G=int(N/A),然后开始循环对每个拼接单位进行处理;(2)在每个基本拼接单位中,首先进行水平方向上的图片拼接融合,将同一行上的图片数据合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的图片拼接融合,最终将A*A张图片合成为一张图片;(3)当N整除不了A的时候,按照A*A的拼接规则,多出N%A行列的数据,最终图片数量要保持在G*G=int(N/A)*int(N/A),因此把它们归到它们附近的拼接单元中,即处于边缘的拼接单元的大小在A*A和2A*2A之间。本发明专利技术具有降低截图时内存占用率、截图稳定性好的效果。
【技术实现步骤摘要】
一种图像融合拼接方法
本专利技术涉及计算机
,尤其涉及了一种图像融合拼接方法。
技术介绍
传统针对海量三维数据进行高清截图,需要对数据进行完全的加载,有时就会因为内存资源的耗尽,导致图片效果的异常或者是图片不能正常生成。高清截图方案中,将屏幕区域切分为多块数据分别截图,是通用的做法,但该做法的实现前提是针对一小片的数据进行的,可能是对一片小区的放大,也可能是对一幢房屋的放大,并没有针对内存进行管理,因此,在这些截图过程中,很难发生内存资源占用过高的问题,稳定性可以得到保证。但是,在整个城市、甚至全国的数据需要截图时,会遇到的大数据量瓶颈问题,在高清截图过程中会出现内存占用高、截图稳定性差的问题。
技术实现思路
本专利技术针对现有技术中内存占用高、截图不稳定的缺点,提供了一种图像融合拼接方法。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:一种图像融合拼接方法,包括以下步骤:(1)图片为N*N个分散文件,基本拼接单位为A*A,根据行列数N*N、基本拼接单位A*A计算出图片数量G*G,G=int(N/A),然后开始循环对每个拼接单位进行处理;(2)在每个基本拼接单位中,首先进行水平方向上的图片拼接融合,将同一行上的图片数据合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的图片拼接融合,最终将A*A张图片合成为一张图片;(3)当N整除不了A的时候,按照A*A的拼接规则,多出N%A行列的数据,最终图片数量要保持在G*G=int(N/A)*int(N/A),因此把它们归到它们附近的拼接单元中,即处于边缘的拼接单元的大小在A*A和2A*2A之间。本专利技术由于采用了以上技术方案,具有显著的技术效果:图片融合方法有效处理成果图片最终的张数和单张分辨率之间的关系,方便后期的处理操作,避免了截图过程中内存占用高而导致不稳定的现象。具体实施方式下面实施例对本专利技术作进一步详细描述。实施例1一种图像融合拼接方法,将屏幕区域图像数据进行水平方向和垂直方向的N等分操作,划分得到N*N个等大小的屏幕数据区域块,每个屏幕数据区域块称之为图像单元,以n行n列进行标识,因为截图是截取整个屏幕的场景图像数据,需要将屏幕均分成N*N块,并且成果图片分辨率必须为屏幕大小的N倍,然后在每个屏幕数据区域块上,通过设置特定的截图参数,将该屏幕数据区域块的数据放大N倍、截图,生成的图片大小和整个屏幕大小相同,也是将成效效果放大N倍,从而实现高清截图的功能,还包括以下步骤:预处理步骤(1):设置n行n列图像单元的投影关系、屏幕分辨率,投影关系为正交投影,并计算n行n列图像单元的视口大小、视景体大小;预处理步骤(2):在某行某列的图像单元中,进行数据区域分割;预处理步骤(3):数据区域分割包括以下控制参数:V表示数据预定加载阈值,m表示垂直方向上从视点位置开始划分区域的长度;首先,从距离视点0到m的范围内,进行一次数据的预加载操作,当获取的数据实际加载数值C超过设定的预定加载阈值V时,减小m值,进行区域的重新划分,若重新划分后,C值仍旧超过V值,再次进行减小m值操作,如此反复,直到C值稳定在V值范围内,m值得到确定的m’值;当C值在V值范围内,则开始进行三维数据的加载,数据加载完成后,进行渲染,渲染结果保存到图像帧缓存中;预处理步骤(4):然后数据区域继续划分,范围从m’到2m’,判断C值是否在V值范围内,如果是,则数据区域划分范围到相邻的2m’到3m’;范围从2m’到3m’,判断C值是否在V值范围内,如果是,则数据区域划分范围到相邻的3m’到4m’,并重复此操作;若C值超过V值,则进行步骤3的操作,下一个区域划分范围的m’值依据上一个且相邻区域的m’值确认,直到划分范围达到预先设定的极限距离时停止,则单个图像单元截图完成;预处理步骤(5):将图像单元保存在图像帧缓存中的图像信息进行处理,图像帧缓存每帧接收到图像信息后,图像帧缓存保存图像的深度缓存、颜色缓存信息,对比接收到的图像信息,通过根据深度缓存信息进行像素替换,同一位置的像素,深度信息大的不能替换深度信息小的,也就是深度信息越小,像素替换优先级越高;预处理步骤(6):图像帧缓存处理最终结果就是该图像单元最终的成像信息,将该图像单元的成像信息写入到图片文件中进行保存,同时标记该图片文件为n行n列的数据;预处理步骤(7):进行下一个图像单元的截图操作,重复预处理步骤3到预处理步骤6的操作;预处理步骤(8):待所有的图像单元均写成图片文件后,会存在N*N张的图片;步骤(1):图片为N*N个分散文件,基本拼接单位为A*A,根据行列数N*N、基本拼接单位A*A计算出图片数量G*G,G=int(N/A),然后开始循环对每个拼接单位进行处理;步骤(2):在每个基本拼接单位中,首先进行水平方向上的图片拼接融合,将同一行上的图片数据合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的图片拼接融合,最终将A*A张图片合成为一张图片;步骤(3):当N整除不了A的时候,按照A*A的拼接规则,多出N%A行列的数据,最终图片数量要保持在G*G=int(N/A)*int(N/A),因此把它们归到它们附近的拼接单元中,即处于边缘的拼接单元的大小在A*A和2A*2A之间。实施例2同实施例1,所不同的是投影关系为透视投影。实施例3同实施例1,所不同的是在某次区域划分后,C值与V值的比例为等于0.2时,进行m值增长。实施例4一种图像融合拼接方法,将屏幕区域图像数据进行水平方向和垂直方向的18等分操作,划分得到18*18个等大小的屏幕数据区域块,每个屏幕数据区域块称之为图像单元,以n行n列进行标识,因为截图是截取整个屏幕的场景图像数据,需要将屏幕均分成18*18块,并且成果图片分辨率必须为屏幕大小的18倍,然后在每个屏幕数据区域块上,通过设置特定的截图参数,将该屏幕数据区域块的数据放大18倍、截图,生成的图片大小和整个屏幕大小相同,也是将成效效果放大18倍,从而实现高清截图的功能,还包括以下步骤:预处理步骤(1):设置n行n列图像单元的投影关系、屏幕分辨率,投影关系为正交投影,并计算n行n列图像单元的视口大小、视景体大小;预处理步骤(2):在某行某列的图像单元中,进行数据区域分割;预处理步骤(3):数据区域分割包括以下控制参数:V表示数据预定加载阈值,m表示垂直方向上从视点位置开始划分区域的长度,本实施例m为500米,V表示预定加载数据链表成员个数,预定加载数据链表成员个数为500个;首先,从距离视点0到500米的范围内,进行一次数据的预加载操作,当获取的数据实际加载数值C超过设定的预定加载阈值500个时,C为800个,减小m值,进行区域的重新划分,当m值减少时,C值也相应下降,若重新划分后,C值仍旧超过V值,再次进行减小m值操作,如此反复,直到C值稳定在V值范围内,m值得到确定的m’值,m’值为250米,C值也相应下降为400个;当C值在V值范围内,则开始进行三维数据的加载,数据加载完成后,进行渲染,渲染结果保存到图像帧缓存中;预处理步骤(4):然后数据区域继续划分,范围从m’到2m’,判断C值是否在V值范围内,如果是,则数据区域划分范围到相邻的2m’到3m’;范围从2m’到3m本文档来自技高网...
【技术保护点】
一种图像融合拼接方法,其特征在于包括以下步骤:(1)图片为N*N个分散文件,基本拼接单位为A*A,根据行列数N*N、基本拼接单位A*A计算出图片数量G*G,G=int(N/A),然后开始循环对每个拼接单位进行处理;(2)在每个基本拼接单位中,首先进行水平方向上的图片拼接融合,将同一行上的图片数据合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的图片拼接融合,最终将A*A张图片合成为一张图片;(3)当N整除不了A的时候,按照A*A的拼接规则,多出N%A行列的数据,最终图片数量要保持在G*G=int(N/A)*int(N/A),因此把它们归到它们附近的拼接单元中,即处于边缘的拼接单元的大小在A*A和2A*2A之间。
【技术特征摘要】
1.一种图像融合拼接方法,其特征在于包括以下步骤:将屏幕区域图像数据进行水平方向和垂直方向的N等分操作,划分得到N*N个等大小的屏幕数据区域块,每个屏幕数据区域块称之为图像单元,以n行n列进行标识,因为截图是截取整个屏幕的场景图像数据,需要将屏幕均分成N*N块,并且成果图片分辨率必须为屏幕大小的N倍,然后在每个屏幕数据区域块上,通过设置特定的截图参数,将该屏幕数据区域块的数据放大N倍、截图,生成的图片大小和整个屏幕大小相同,也是将成效效果放大N倍,从而实现高清截图的功能,还包括以下步骤:预处理步骤(1):设置n行n列图像单元的投影关系、屏幕分辨率,投影关系为正交投影,并计算n行n列图像单元的视口大小、视景体大小;预处理步骤(2):在某行某列的图像单元中,进行数据区域分割;预处理步骤(3):数据区域分割包括以下控制参数:V表示数据预定加载阈值,m表示垂直方向上从视点位置开始划分区域的长度;首先,从距离视点0到m的范围内,进行一次数据的预加载操作,当获取的数据实际加载数值C超过设定的预定加载阈值V时,减小m值,进行区域的重新划分,若重新划分后,C值仍旧超过V值,再次进行减小m值操作,如此反复,直到C值稳定在V值范围内,m值得到确定的m’值;当C值在V值范围内,则开始进行三维数据的加载,数据加载完成后,进行渲染,渲染结果保存到图像帧缓存中;预处理步骤(4):然后数据区域继续划分,范围从m’到2m’,判断C值是否在V值范围内,如果是,则数据区域划分范围到相邻的2m’到3m’;范围从2m’到3m’,判断C值是否在V值范围内,如果是,则数据区域划分范围到相邻的3m’到4m’,...
【专利技术属性】
技术研发人员:陈利军,王琴萍,季惟婷,吴昊阳,俞琼,李斌,俞蔚,余刚,
申请(专利权)人:浙江科澜信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。