发明名称 一种三维空间虚拟数据高清截图方法
摘要 本发明涉及计算机技术领域,公开了一种三维空间虚拟数据高清截图方法,将屏幕区域图像数据进行水平方向和垂直方向的N等分操作,划分得到N*N个等大小的屏幕数据区域块,每个屏幕数据区域块称之为图像单元,以n行n列进行标识,通过数据区域分割和图片融合拼接,完成三维空间虚拟数据高清截图。本发明具有降低截图时内存占用率、截图稳定性好的效果。
申请公布号 CN105761253A 申请公布日期 2016.07.13
申请号 CN201610076082.7 申请日期 2016.02.03
申请人 浙江科澜信息技术有限公司 发明人 吴昊阳;季惟婷;陈利军;余刚;俞蔚;李斌;俞琼;王琴萍
分类号 G06T7/00(2006.01)I;G06T1/60(2006.01)I;G06T3/40(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 浙江永鼎律师事务所 33233 代理人 陆永强
主权项 一种三维空间虚拟数据高清截图方法,将屏幕区域图像数据进行水平方向和垂直方向的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张的图片;(9)图片融合拼接:图片为N*N个分散文件,基本拼接单位为A*A,根据行列数N*N、基本拼接单位A*A计算出图片数量G*G,G=int(N/A),然后开始循环对每个拼接单位进行处理;在每个基本拼接单位中,首先进行水平方向上的图片拼接融合,将同一行上的图片数据合并成一张图片,每行依次进行合并;待所用行合并完成后,然后进行垂直方向上的图片拼接融合,最终将A*A张图片合成为一张图片;当N整除不了A的时候,按照A*A的拼接规则,多出N%A行列的数据,最终图片数量要保持在G*G=int(N/A)*int(N/A),因此把它们归到它们附近的拼接单元中,即处于边缘的拼接单元的大小在A*A和2A*2A之间。
地址 310051 浙江省杭州市滨江区滨安路1197号5幢363室