CN100545864C - 基于软件的环幕帧缓存纹理重贴几何校正方法 - Google Patents

基于软件的环幕帧缓存纹理重贴几何校正方法 Download PDF

Info

Publication number
CN100545864C
CN100545864C CNB2007100509172A CN200710050917A CN100545864C CN 100545864 C CN100545864 C CN 100545864C CN B2007100509172 A CNB2007100509172 A CN B2007100509172A CN 200710050917 A CN200710050917 A CN 200710050917A CN 100545864 C CN100545864 C CN 100545864C
Authority
CN
China
Prior art keywords
grid
frame buffer
contour vertical
angle
texture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2007100509172A
Other languages
English (en)
Other versions
CN101221658A (zh
Inventor
张翔
母攀良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Chuanda Zhisheng Software Co Ltd
Original Assignee
Sichuan Chuanda Zhisheng Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Chuanda Zhisheng Software Co Ltd filed Critical Sichuan Chuanda Zhisheng Software Co Ltd
Priority to CNB2007100509172A priority Critical patent/CN100545864C/zh
Publication of CN101221658A publication Critical patent/CN101221658A/zh
Application granted granted Critical
Publication of CN100545864C publication Critical patent/CN100545864C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

基于软件的环幕帧缓存纹理重贴几何校正方法属计算机仿真范畴。对特定的投影环幕,虚拟一系列的等高线和垂直线,由等高线和垂直线正交形成等高垂直网格,通过计算将正交形成的网格投影到显示平面上,这是帧缓存对应的位置,再通过投影显示,将等高垂直网格在投影屏幕上拉成真正视觉效果上的等高垂直,得到相对位移值后取出帧缓存中的图像,用新得到的等高垂直网格进行纹理映射。包括单通道分配预处理;等高垂直网格生成;手动调整,保存网格数据;利用新得到的网格数据对每帧数据进行纹理重新贴图等几个步骤。本发明利用软件解决非平面承接面的图像失真问题,不需增加新的硬件,成本低廉,操作简单,应用前景广阔。

Description

基于软件的环幕帧缓存纹理重贴几何校正方法
所属技术领域
本发明属于计算机应用技术的模拟仿真范畴,涉及投影承接面的图象几何畸变引起的图象失真的解决方法,具体是基于软件的环幕帧缓存纹理重贴几何校正方法。
背景技术
在大场景模拟仿真中,用非平面承接面投影显示大场景是近些年国际上普遍采用的方法,但由此而带来的图像几何畸变问题往往会造成图像的严重失真。国际上普遍采用几何校正技术来解决这一问题,但传统的几何校正方法主要依靠硬件为主,成本较高且一次调整费时较长。伟景行在国内的报价按通道收费,每个通道不低于6万元人民币,单通道校正时间约30分钟。Bacro公司通过其系列校正产品实现校正,其主要工作方式为通过特定设备发射激光点阵,然后配合其系列产品中的其他工具进行校正。其校正效果好,但设备使用复杂,且只针对自己的投影设备进行校正。
发明内容
本发明的目的是提供一种利用软件校正非平面承接面投影显示大场景的几何变形引起的图象失真问题的方法。该方法不需附加硬件,成本低廉,简单易操作。
本发明的目的是这样达到的;一种基于软件的环幕帧缓存纹理重贴几何校正方法,其特征在于:对于特定的投影环幕,虚拟一系列的等高线和垂直线,由等高线和垂直线正交形成等高垂直网格;通过计算将正交形成的网格投影到显示平面上,这就是等高垂直网格在帧缓存中对应的位置;再通过投影显示,将等高垂直网格在投影屏幕上拉成真正视觉效果上的等高垂直,得到相对位移值;取出帧缓存中的图像,用新得到的等高垂直网格进行纹理映射。
具体校正步骤包括:
单通道分配预处理;
计算等高垂直网格在帧缓存中的相对位置,并在帧缓存中生成等高垂直网格;
手动调整,保存网格数据;
利用新得到的网格数据对每帧数据进行纹理重新贴图。
所述在帧缓存中生成等高垂直网格,是将放在帧缓存中的图象进行归一化处理,然后虚拟出若干等高线和垂直线,并在帧缓存中生成等高垂直网格,网格数目的设定根据视角角度的大小确定。
计算等高垂直网格在帧缓存中的相对位置,则先确定网格在水平和垂直方向角度,并定义这两个角度所在空间的变换得到有空间元素构成的矩阵,利用网格细分后的一系列交点在帧缓存中勾勒出等高垂直网格的帧缓存对应,计算等高垂直网格在帧缓存中的相对位置。
所述单通道分配预处理是指在多通道显示***中,根据***的各种限制和配置来确定多通道中每个单通道所必须满足的限制条件,包括分辨率、矩形比例、通道数目、通道融合比值、上视角度数。
所述手动调整,保存网格数据是指当网格投影到环幕后对网格的变形进行校正:包括:在网格上设定一条基准线和一个基准点,然后进行部分或整体的梯形校正;进行曲线校正;单独对某根线进行单独校正;单独对某个点拉动,改变其坐标位置。
所述利用新得到的网格数据对每帧数据进行纹理重新贴图是指将在计算机GPU帧缓存中的图像看成一张整体的纹理,并对其进行重新分割,按照计划标准对分割后的纹理进行贴图。
所述网格数目的设定根据视角角度的大小确定,当***水平视角为40度时,网格数目为20×20格。
本发明具有以下积极效果:在不依靠外部硬件的条件下,通过处理计算机显卡的帧缓存来达到几何校正的目的,效果十分显著,且操作简单容易。与现有的采用硬件校正方法比较,节约了大量的硬件成本,校正成本低廉,便于推广。可广泛用于大场景模拟仿真,应用前景广阔。
附图说明
图1是本发明的校正方法流程图。
图2是手动调整操作界面。
图3是校正前的图象。
图4是通过本发明的方法校正后的图象。
具体实施方式
附图给出了本发明的一个具体实施例。
本发明对于特定的投影承接面(投影幕布),虚拟一系列的等高线和垂直线,然后由等高线和垂直线正交形成网格,称这个网格为等高垂直网格。通过计算将正交形成的网格投影到显示平面(近剪裁面)上,这就是等高垂直网格在帧缓存中对应的位置。然后通过投影显示,将等高垂直网格在投影屏幕上拉成真正视觉效果上的等高垂直,得到相对位移值。取出帧缓存中的图像,用新得到的等高垂直网格进行纹理重贴。
纹理重贴图考虑了投影承接面的几何特性,实际上是考虑了在平面剪裁时候的非平面投影,也就是在说在计算机生成图像时采用的投影剪裁方式将视锥体中的元素投影到了一个平面,而显示可以理解为这个视锥体在投影承接面上的重现,如果在非平面的承接面上重现将会出现极大的偏差。利用本发明的方法改变了其投影面,从而完成了正确的校正。
校正过程按照程序流程进行。
进行单通道分配预处理:
选择1400×1050作为单通道***分辨率。确定整体水平视野中相邻通道有10%的交叉带用于边缘融合。为了视觉效果的调整,***给出一个上视角度数
Figure C20071005091700051
。限制条件总结如下:
1).分辨率:1400×1050
2).矩形比例:4/3
3).通道数目:5
4).通道融合比值0.1
5).上视角度数为
Figure C20071005091700052
上视角度数为的计算是:第一步,计算每个通道的水平视野宽度。设每个水平视野宽度为θ。那么有如下方程:
5*θ-4*0.1*θ=π
解方程后可得到每个通道的水平视野范围值:θ=39.13(度)
第二步,计算每个通道的垂直视野宽度。将虚拟投影点到虚拟投影中点的距离归一化为1。那么可以算出在这种情况下水平宽度w:
w=2*tan(θ/2)
由于屏幕分辨率为1400×1050,所以可以得到屏幕长宽比为4∶3。那么高度:
h/w=3/4
可以得到高度为:
h=(3/2)*tan(θ/2)
通过高度和归一化的前提可以得到垂直视野的度数β。首先根据***限定的上视角度数
Figure C20071005091700054
以及投影点到边缘的半径长度R,来计算由水平视点到上角度的长度hu
R=1/cos(θ/2)
Figure C20071005091700055
根据限定的高度h减去上角度高度hu可以得到下部所剩下的高度hd。由方程:
Figure C20071005091700056
可得到
Figure C20071005091700057
为下角度度数,得到垂直视野总度数。
但是,得到的度数并不是四个偏移角度,由于环幕的原因,上角度和下角度都是在投影边缘处的偏移角度,并不是视锥体的确定角度。为了在设定视锥体的偏移角度还需要重新计算上下角度的偏移。这个角度其实可以看成在环幕上与投影边缘最高和最低点等高点的连线中点在投影虚拟平面上的对应点的角度。通过刚才计算出的半径和上下高度可以得到这个角度γu和γd。由下面方程解出:
tan(γx)=hx/R其中x=u,d
至此得到了两个上下角度偏移量,其中
Figure C20071005091700061
用于等高垂直网格的生成,γx用于通道视锥体的设置。
进行等高网格的生成:
对于等高垂直网格的生成,其算法采用等角度分解。这样分解是基于模拟一个从投影点发出的一簇视线圆锥,当投影点是一个放在中轴线上的独立投影点时,那么同轴的圆柱体表面和视线圆锥的交线是圆柱上的等高线。对于投影仪来说,投影仪投到环幕上的垂直像素点中最左边和最右边的两条线是没有偏移的。这两条线正好为虚拟投影平面和实际环幕的交线。两个上下角度也正好为处于中心点上视线锥体同最高最低点相交时的视线锥体母线同水平面的夹角。按照水平角度分解的总量和垂直方向分解的总量即上下角度之和进行角度分解。首先把帧缓存中的图像尺寸进行归一化。也就是说把图像看成一个长宽均为1的标准正方形。网格数目的设定同水平度数的大小有一定的关系。通过系列试验显示每个网格覆盖的度数不大于3度时,视觉在2m外的距离不能区分直线和弧线差别。一般来讲对于现阶段采用的单通道水平度数不超过40度的***来说,20×20的网格能够满足视觉不能察觉的需求,同时也不会对贴图造成过重的负担。
等高垂直网格在帧缓存中的相对位置计算为:设网格为a×a大小(其中a为正整数),水平和垂直方向每步长的角度为:
Figure C20071005091700062
首先定义下面两个空间和这两个空间之间的一个变换:
定义1:空间
Figure C20071005091700063
为投影柱面上的点所组成,如果
Figure C20071005091700064
那么α在投影柱幕上,而且α=(η,λ),其中η为交线通过该点的同轴圆锥体母线同水平面的夹角,λ为对称单通道投影伞面上该点同中线的夹角(以顺时针方向为正)。
定义2:空间
Figure C20071005091700065
Figure C20071005091700066
如果
Figure C20071005091700067
那么它对应了帧缓存中归一化为单位矩形的图像上的某个点。
定义3:设T为空间
Figure C20071005091700068
到空间
Figure C20071005091700069
的函数(或映射):
T(a)=b  其中
Figure C200710050917000610
Figure C200710050917000611
a,b的连线通过投影点;对于T存在逆运算T-1,TT-1=I。
Figure C20071005091700071
Figure C20071005091700072
其中0≤i≤20,0≤j≤20,得到一个由空间
Figure C20071005091700073
中元素构成的矩阵A,对矩阵A中所有元素进行T变换得到空间
Figure C20071005091700074
中的元素所组成的矩阵B,B中同行的元素对应的像素投影到柱幕上后应该是等高的。
下面完成T变换的推算:如上文叙述得到了归一化情况下环幕的半径R对于
Figure C20071005091700075
a=(η,λ)。那么可以得到经过变化T后元素b的x值为:1/2+(1/(2*tan(θ/2)))*tan(λ)。
为了确定b的y值。首先定义其水平点位置当高度归一化为[0,1](最底点为0,最高点为1)后,其数值:
p=|hd|/|hd+hu|
同样利用上面的计算,可以得到归一化条件下,连线在平面上投影后从投影点到连线同空间
Figure C20071005091700076
的交点到平面上的投影的距离:
d = ( 1 / ( 2 * tan ( θ / 2 ) ) ) 2 + ( ( 1 / ( 2 * tan ( θ / 2 ) ) ) * tan ( λ ) ) 2
利用η值可以确定在垂直方向的偏移为d*tan(η),而归一化后的总高度为|hd+hu|/w,用偏移量比上高度后得到归一偏移量q。通过上面的p,q得到了y值为:p+q。
具体化变换T为:
( η , λ ) → T ( 1 / 2 + ( 1 / ( 2 * tan ( θ / 2 ) ) ) * tan ( λ ) , p + q )
p=|hd|/|hd+hu|
q = tan ( η ) * * w ( 1 / ( 2 * tan ( θ / 2 ) ) ) 2 + ( ( 1 / ( 2 * tan ( θ / 2 ) ) ) * tan ( λ ) ) 2 / | h d + h u |
用下面的伪代码完成转换(设函数convert(a,b)完成上面所定义的转换T):
For(i=0;i<=20;i++)
For(j=0;j<=20;j++)
b中所存储的为转换后的归一化的像素点位置,同行的像素如前所述在柱幕上投影后应该是等高的。同时将b复制给两个变量pGrid,pTexGrid。pGrid表示将要调整的网格坐标,而pTexGrid中存储的为在没有调整前每块纹理所对应的四个点的坐标,也就是用于分割纹理使用的坐标。在网格调整中,所改变的仅仅是pGrid中的坐标点值,然后用对应的相邻四点在pTexGrid中确定的纹理重新贴图到pGird所确定的新的空间中。
手动调整、保存网格:当网格投影到环幕后需要对网格的变形进行校正。本发明编制了网格调整软件界面,手动调整,保存网格数据。
手动调整包括在网格上设定一条基准线,进行部分或整体的梯形校正,包括进行曲线校正;单独对某根线进行单独校正;单独对某个点拉动,改变其坐标位置。
网格调整界面上设置了网格参数设置,包括:单屏水平网格数、单屏垂直网格数、视场视野总宽度、视场视野总高度、单屏水平分辨率、单屏垂直分辨率、边缘重叠区比例、重叠区网格数目、投影通道总数目、视场下视角度数、基于视野划分网格、对应下视角度数等。
纹理重贴:利用新得到的网格数据对每帧数据进行纹理重新贴图。通过帧缓存纹理的重新贴图,才能完整的实施校正,它是校正技术的最后一步。
帧缓存纹理重贴图是将在计算机GPU帧缓存中的图像看成一张整体的纹理,并对其进行重新分割,按照某种标准对分割后的纹理进行贴图的技术。
屏幕是一个矩形的像素数组组成,每个像素都可以在图像的某个点上显示一个某种颜色的微小方块。在光栅化阶段(包括纹理和雾)之后。数据就不再是像素,而是成为片断。每个片断都有与像素对应的坐标数据,以及颜色深度值。然后每个片断都将进行一系列的测试和操作。
纹理就是矩形的数据数组。例如,颜色数据、亮度数据、颜色和alpha数据。纹理数组中的单个值常常称为纹理单元(texel)。纹理贴图允许粘贴一副图像到一个多边形上,并把整个图像画成单个多边形。纹理贴图能够保证当这个多边形进行变换和渲染的时候,映射到多边形上的图像也能够表现出正确的行为。
通过对帧缓存中纹理的重新贴图后的图像,投影到环幕上成为一个没有几何变形的正确图像,这个图像保证了从环幕中轴线上的点来观测环幕上的图像是完全正确的,同时这个图像也为两个通道屏幕之间的几何配准准备了条件。由于通道之间有一定的角度交叉,而网格是按照角度来分解的,所以相同网格中所包含的角度是同样的。这样,在单通道图像的基础上,相邻单通道图像只要在水平等高线重合,结合正确的融合角度,图像的几何配准就是正确的。

Claims (4)

1、一种基于软件的环幕帧缓存纹理重贴几何校正方法,其特征在于:对于特定的投影环幕,具体校正步骤包括:
单通道分配预处理;虚拟一系列的等高线和垂直线,由等高线和垂直线正交形成等高垂直网格;
通过计算将正交形成的网格投影到显示平面上,计算投影到显示平面上的等高垂直网格在帧缓存中的相对位置,并在帧缓存中生成帧缓存中的等高垂直网格;
手动调整,通过投影显示,将帧缓存中的等高垂直网格在投影屏幕上拉成真正视觉效果上的等高垂直网格,得到相对位移值;保存新得到的网格数据;
取出帧缓存中的图像,利用新得到的网格数据对每帧数据进行纹理重新贴图;
所述在帧缓存中生成帧缓存中的等高垂直网格,是将放在帧缓存中的图像进行归一化处理,然后虚拟出若干等高线和垂直线,网格数目的设定根据视角角度的大小确定;
所述计算投影到显示平面上的等高垂直网格在帧缓存中的相对位置,则先确定网格在水平和垂直方向角度,并定义这两个角度所在空间的变换得到由空间元素构成的矩阵,利用网格细分后的一系列交点在帧缓存中勾勒出投影到显示平面上的等高垂直网格的帧缓存对应。
2、如权利要求1所述的校正方法,其特征在于:所述单通道分配预处理是指在多通道显示***中,根据***的各种限制和配置来确定多通道中每个单通道所必须满足的参数,所述限制包括分辨率、矩形比例、通道数目、通道融合比值、上视角度数。
3、如权利要求1所述的校正方法,其特征在于:所述手动调整,保存新得到的网格数据是指当网格投影到环幕后对网格的变形进行校正:包括:在网格上设定一条基准线和一个基准点,然后进行部分或整体的梯形校正;在网格上设定一条基准线,进行曲线校正;单独对某根线进行单独校正;单独对某个点拉动,改变其坐标位置。
4、如权利要求1所述的校正方法,其特征在于:所述网格数目的设定根据视角角度的大小确定,当***水平视角为40度时,网格数目为20×20格。
CNB2007100509172A 2007-12-20 2007-12-20 基于软件的环幕帧缓存纹理重贴几何校正方法 Expired - Fee Related CN100545864C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100509172A CN100545864C (zh) 2007-12-20 2007-12-20 基于软件的环幕帧缓存纹理重贴几何校正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100509172A CN100545864C (zh) 2007-12-20 2007-12-20 基于软件的环幕帧缓存纹理重贴几何校正方法

Publications (2)

Publication Number Publication Date
CN101221658A CN101221658A (zh) 2008-07-16
CN100545864C true CN100545864C (zh) 2009-09-30

Family

ID=39631474

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100509172A Expired - Fee Related CN100545864C (zh) 2007-12-20 2007-12-20 基于软件的环幕帧缓存纹理重贴几何校正方法

Country Status (1)

Country Link
CN (1) CN100545864C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469249B (zh) * 2010-11-04 2016-06-01 晨星软件研发(深圳)有限公司 影像校正方法及影像校正装置
CN102014259B (zh) * 2010-11-17 2013-01-09 杭州华泰医疗科技有限公司 基于投影纹理映射的斜投影失真校正方法
CN104933942A (zh) * 2015-01-22 2015-09-23 中国石油技术开发公司 一种陆地钻机安装操作模拟***的环幕投影***及其图像处理方法
CN104880893A (zh) * 2015-06-23 2015-09-02 上海恒润数字科技有限公司 环幕影院放映中修正图像畸变的方法
CN106604003B (zh) * 2016-11-10 2020-09-22 深圳市Tcl高新技术开发有限公司 一种短焦投影实现曲面幕布投影的方法及***
CN106780642B (zh) * 2016-11-15 2020-07-10 网易(杭州)网络有限公司 迷雾遮罩贴图的生成方法及装置
EP3591609B1 (en) 2017-03-02 2023-11-29 Arashi Vision Inc. Horizontal calibration method and system for panoramic image or video, and portable terminal
CN110300292B (zh) * 2018-03-22 2021-11-19 深圳光峰科技股份有限公司 投影畸变校正方法、装置、***及存储介质
CN110084785B (zh) * 2019-04-01 2020-12-08 南京工程学院 一种基于航拍图像的输电线垂弧测量方法及***
CN113222943B (zh) * 2021-05-18 2022-05-03 宁波智能装备研究院有限公司 一种基于混合网格变换模型的图像形变估计方法

Also Published As

Publication number Publication date
CN101221658A (zh) 2008-07-16

Similar Documents

Publication Publication Date Title
CN100545864C (zh) 基于软件的环幕帧缓存纹理重贴几何校正方法
US7131733B2 (en) Method for creating brightness filter and virtual space creation system
CN104183016B (zh) 一种快速的2.5维建筑物模型的构建方法
Raskar et al. Table-top spatially-augmented realty: bringing physical models to life with projected imagery
CN103226830B (zh) 三维虚实融合环境中视频纹理投影的自动匹配校正方法
US9183669B2 (en) Method and apparatus for virtual viewpoint synthesis in multi-viewpoint video
CN101000461B (zh) 一种鱼眼图像生成立方体全景的方法
JP5366547B2 (ja) 立体視表示装置
CN101571663B (zh) 一种用于多投影仪拼接的分布式在线调节方法
CN101344707A (zh) 自动多投影仪非线性几何校正与边缘融合方法
CN107193372A (zh) 从多个任意位置矩形平面到可变投影中心的投影方法
CN111192552B (zh) 一种多通道led球幕几何校正方法
CN111433820B (zh) 按地物高度着色图像生成装置以及计算机可读介质
CN107705241A (zh) 一种基于瓦片地形建模和投影校正的沙盘构建方法
CN102521586B (zh) 一种用于拍照手机的高分辨率三维人脸扫描方法
CN109801219A (zh) 面向在线地图叠加的gis数据校正方法及装置
CN104318605B (zh) 矢量实线与三维地形的并行贴合渲染方法
TWI574237B (zh) 三次元地圖顯示系統
CN102510515A (zh) 一种光栅式多视点立体图像合成方法
CN104217461B (zh) 一种基于深度图模拟实时凹凸效果的视差映射方法
CN111062869A (zh) 一种面向曲面幕的多通道校正拼接的方法
CN104282014A (zh) 基于nurbs曲面的多通道几何校正与边缘融合方法
CN103647960B (zh) 一种合成三维图像的方法
CN107580203B (zh) 沉浸式主动立体投影透视变换矩阵求解方法
US8233741B1 (en) Reducing building lean in stitched images

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090930