!
""#$%计算机工程与应用#引言近年来虚拟现实技术得到了迅速的发展,它为人们提供一种逼真的感受,交互和身临其境是其两个基本特征.
产生虚拟景象的最基本的方法有两种,基于图象的方法和基于模型的方法.
图象法利用在某一固定的位置抓取一个环境的&'"度全景图象,通过展现全景图象的相应部分来实现交互式的调整方向.
图象法的实现方法是利用摄像设备连续扫描周围空间的真实图象,获取的图象传给图形工作站,在工作站上有一个球壳作为虚拟全景屏,将传来的图象按坐标映射到上面,用户带上头盔显示器,就可以看到旋转的摄像世界.
当然这种方法需要昂贵的显示设备,随着计算机技术的迅速发展,特别是奔腾计算机和微机三维图形加速卡的出现,0与()*+,-.
12等&!
位操作系统的使用,微机的总体功能大大提高,性能上已达到或超过早期工作站的水平,更由于其低成本和拥有量大的特点,受到普通用户的欢迎.
而通过图象拼接算法,将基础数据经过处理建立起全景图象空间,再将这全景图象应用在345*67构造出的虚拟环境中,实现前进、后退、环视等动作,就能在普通的微机上实现虚拟场景的&'"度任意漫游.
345*67(345*6894:);.
7)物体和交互式&>应用的各种操作.
由于345*67具有着跨平台、简便、高效、功能完善等特性,目前已经成为了三维图形制作方法中事实上的工业标准.
基于345*67开发的许多应用系统已广泛地应用于科学计算可视化、@>A@B、图象处理、地理信息系统、虚拟现实等领域.
该文讨论如何采用基于像素匹配的方法来进行图象拼接,生成全景图象,并在此基础上通过345*67构造出虚拟环境,将345*67纹理映射技术应用于全景图象,在C机上实现虚拟场景的&'"度任意漫游.
!
全景图象及其实现方法全景图象是利用一系列局部图象拼接起来的、能够进行&'"度环视漫游的图象环境,相当于观察者站在一个固定的位置,在同一视点向四周转一圈所看到的景象.
全景图象的拼接可采用基于像素匹配的方法或基于特征值的方法,例如,拼接算法(B,.
9);.
@DE,8)F:G)自动拼接或通过图形软件手工拼接.
这里采用基于像素匹配的方法来进行拼接,这种方法相对比较简单,速度较快.
两张照片之间如果具有重合部分,通过拼接能够将两张照片之间的重合部分切除,将两张照片合成成为一张照片.
如果两张照片之间没有重合部分,也就失去了拼接的依据,这就需要在拍摄局部照片时注意相邻的照片间要有一定重叠的部分用于拼接,并且拍摄时应使用固定的光圈、焦距、曝光速度,以避免不同照片间的亮度、色度、对比度产生较大差异.
当然在拍摄的过程中,并不能保证几张照片没有丝毫的错位,例如,在水平拼接的过程中,照片之间高低会有一定的偏差,在拼接的过程中,应将照片中偏差的部分切除,只保留照片之间的共同部分.
因此,归根到底,两张照片的拼接就是要找出两张照片像素矩阵之间的最大重合的子矩阵.
!
$#循环比较如果两张照片的长和宽分别为7#、7!
、(#、(!
,则所需要进行比较的矩阵个数实际上有G)*H7#,7!
IJG)*H(#,(!
I,称其为匹配矩阵.
虽然实际有意义的比较矩阵并没有那么多,因为从一般的角度来考虑,两张相片不会完全相同,如果完全相同基于!
"和#$%&'(的全景图象)*+度漫游技术张涛陈一民薛广涛上海大学计算机工程与科学学院(上海!
"""%!
)KLG9)D:;:=)G)*MN,*D)*5$.
:$;*摘要讨论了利用345*67图形软件开发系统在C机上实现全景图象&'"度漫游.
,探讨了采用基于像素匹配的方法进行图象拼接来生成全景图象,并在此基础上利用345*67的纹理映射的技术,将全景图象的一部分作为纹理图象映射到由345*67预先构造出的虚拟视点空间上,通过改变纹理图象在C机上实现虚拟场景的&'"度任意漫游.
关键词虚拟现实全景图象图象拼接345*67纹理映射文章编号#""!
LO&L(!
""#)"%L""OOL"P文献标识码@中图分类号0C&1#$P#01234.
/30%05%67889.
%:1;3!
3&1=3/%1&!
"@53&/A31"5%&B.
=.
&/C7%'73&/031(Q;:,,D,R,G4SF58K*E)*558)*E9*+Q;)5*;5,Q:9*E:9)T*)U58.
)F=,Q:9*E:9)DE-00:0:).
49458+).
;S.
.
5.
:,-F,9;:)5U5F:5RSDDU)5-*9U)E9F),*,R949*,89G);)G9E5S.
)*E345*67(345*6894:);.
7)(()6>@(8);:4&6(8);;4&6>@(()6>@(8);其中8是映射的扫描线,(是水平旋转的角度,如图/所示.
图/球面曲面的生成*9A@'B中建立曲面是通过使用二维求值器,并将控制点连接起来形成网格的.
/$#定义求值器用*9A@'B函数CDEF9!
()定义二维求值器.
二维求值器提供了一种用控制点指定曲面的点的方法,并且可以任意精度提交曲面.
控制点通过如图/所示方法确定.
/$!
计算坐标并绘制曲面用函数CD)GFDH==IJ!
()来计算曲面上一个顶点的坐标.
该坐标可以是物体的顶点坐标,也可以是颜色、纹理或法线坐标.
也可以用函数CDEF9'IJ!
()和CD)GFDEA>K!
()自动生成等间隔的坐标值.
建立曲面的关键是控制点的生成,这里定义水平方向控制点个数为L个,垂直方向的控制点个数为M个,共L6M个控制点.
水平旋转的角度(的范围为N/!
OP,!
OPQ共!
O!
,垂直扫描线8的范围为NM!
OR,/!
ORQ共!
OP.
数组H=@SI=DNQ存放控制点坐标:T4";>SA94!
O#U;2=I(4";VM;55)W2=I(X4";XVL;X55)W84M!
ORY6>SA9;OO定义垂直扫描线角度8的大小RL!
""#$%计算机工程与应用01;))定义水平旋转角度&的大小234/5367899:';-);))计算坐标234/5367899:';-);))计算@坐标234/5367899:';-.
=4(&)-.
=4(>);))计算A坐标BB在建立了上述的球面空间后,再通过C104DE的纹理映射就可以实现将基于平面拼合的全景图象投影到球面空间上.
C104DE的纹理映射可以把图象粘贴到曲面上,并使得纹理在变换时与所附曲面保持适当的关系.
例如你可以将一幅砖块的图象(可能来自于真实墙的照片)粘贴到一多边形上,并将一整面墙视为一个多边形画出,纹理映射确保多边形在变形、恢复时产生相应正确的变化:当从远处观看此墙,如果墙离视点越远,则墙与其上的砖块尺寸就越小.
在获得了全景图象后,就可以将它作为纹理映射的图象.
由于视野范围的限制,观察者每次只能看到全景图象的一部分,所以每次显示的是从全景图象中提取的一个矩形区域作为纹理图象.
C104DE的纹理映射基本步骤为:($!
$#指定纹理指定用于纹理映射的图象信息.
程序中读取全景图象的一部分作为图象数据.
用函数F6G0HIJF0!
K()来定义.
($!
$!
定义使用纹理的方式印花方式(DELKM2>E)用纹理覆盖原有的像素;调节方式(DELNCKOE>GM)把光照和纹理化的效果结合起来;融合方式(DEL&EMPK)用基于纹理的固定颜色与物体表面颜色相融合.
($!
$(允许使用纹理映射用函数F6M4JQ60(DELGMRGO;ML!
K)或F6M4JQ60(DELGMRGO;ML#K)允许CSMPDE在绘制物体时进行纹理映射.
($!
$*绘制物体用几何坐标和纹理坐标绘制场景.
纹理坐标定义纹理图象在物体上的绘制位置.
若要在一个网格曲面上进行纹理映射,就要在建立样条曲面的同时提供纹理图象和纹理坐标.
用函数F6NJ1!
T(DELN>S!
LGMRGO;ML2CC;KL!
,$$$)定义纹理坐标求值器,函数F6M4JQ60(DELN>S!
LGMRGO;ML2CC;KL!
)开启纹理坐标自动计算功能.
综上所述,建立视点空间的过程如下:生成曲面的控制点;生成纹理坐标;F6NJ1!
T(DELN>S!
LUM;GMRL(,",#,(,V,",#,!
%,W,X234/5367":);))根据控制点计算二维求值器F6NJ1!
T(DELN>S!
LGMRGO;ML2CC;KL!
,$$$);))定义纹理坐标求值器F6M4JQ60(DELN>S!
LGMRGO;ML2CC;KL!
);))开启纹理坐标自动计算功能F6M4JQ60(DELN>S!
LUM;GMRL();))开启曲面坐标自动计算功能F6NJ1D5=Y!
T(!
","$",#$",!
","$",#$");F6MZJ6N0.
[!
(DEL\HEE,",!
",",!
");))自动生成等间隔的坐标值并绘制曲面*全景图象的空间漫游在利用全景图象的视点空间中可以进行(]"度环视、仰视、俯视、放大和缩小等基本的空间漫游动作.
*$#(]"度环视的实现正如前面所说的,每次显示的是从全景图象中提取的一个矩形区域作为纹理图象,如图*中虚线所示.
由于环视过程中要在水平方向上动态地改变显示的区域,这就需要不断地从全景图象中提取当前显示的矩形区域作为纹理图象.
如果采用直接从全景图象数据中复制,必然会影响到显示的效果,因为图形数据量比较大而且要不断地进行.
解决的方法如图W所示,将保存的纹理图象的长度放大到全景图象长度的!
倍,保存首尾相接的!
幅水平方向的图象数据,由一个指针标记当前要显示的位置.
从这位置起连续的、长度为实际显示长度的图象数据就是要作为纹理的实际数据.
图*纹理图象大小图W图象数据的存储和提取要实现上述方法首先需要改变图象数据的存储方式.
因为通常的图象文件中都是按照扫描线方向,即水平方向从左到右存放图象数据的,而要实现上述方法,使存放图象数据的数组中连续的、长度为实际显示长度的图象数据恰好为所需的纹理数据,必须采用垂直方向存储数据.
这可以通过读取图象文件后,再将读出的图象数据按垂直的格式存储到新的数据单元中来实现.
开辟两个数据存储区,一个用来存放全景图象数据,按垂直的格式存储数据,长度、高度分别为全景图象的长度和高度,当进行仰视和俯视的操作时需要从中读取原始数据;另一个用来存放要显示的图象数据,按垂直的格式存储数据,长度为全景图象长度的!
倍,高度为实际要显示的图象高度,在只进行(]"度环视过程中不需要改变其中的内容,当进行仰视和俯视的操作时需要从全景图象数据区中读取不同高度的原始数据.
在建立了这两个数据区后,就可以使用C104DE的纹理映射将图象数据映射到视点空间曲面上.
需要注意的是由于采用垂直格式存储数据,因此在纹理映射时,在函数F6G0HIJF0!
K()中参数^=Y/[、[0=F[/应与实际要显示的长度、高度相反,即参数^=Y/[填实际要显示的高度,而参数[0=F[/填实际要显示的长度.
在进行(]"度环视过程中,只需要随时间改变指示当前位置的指针,使它指向新的位置(范围从"—全景图象的长度),从而改变纹理数据,就能实现环视效果.
要实现仰视和俯视的操作时只需要从全景图象数据区中V"计算机工程与应用!
""#$%(上接%&页)'$!
$(负载平衡分析为简便起见,算法中以运行任务个数即极小解个数来作为描述负载信息的参数,初始负载分配是均衡的,每台处理机处理)列,在各处理机求本机的极小解过程中,可依据拟极小解的个数来估计执行时间.
由求极小解的方法可知,应尽早确定路径前面的分量,第一次选择进行杂交运算时,充分利用*#关于+,的信息,由*#作整体调度,将+,!
+-.
/的处理机*,与*-进行通信,并完成杂交运算.
若+,!
+-.
/且+,!
+).
/,则若0+,010+-020+,010+)0,则选取*,与*-进行通信.
对求出的所有极小解正规路径,再按3'4中方法分别求其极小解和最终的全部解.
&算法分析算法执行的计算复杂性和通信复杂性分别为:执行求解简化矩阵和最大解时,其计算量为5(6!
7)),求一个极小解的计算复杂性为5(6!
8)!
),杂交实际上是一种组合方法,在精确求解时,它是9*1完全算法,其计算量为5(!
6),但一般分量中的零元可能比较多,实际计算量较小.
通信次数为5(:).
(结束语该文提出了求解模糊线性方程组的一种并行分割算法,主要讨论了在;'!
$区奕勤,张先迪$模糊数学原理及应用3;4$成都:成都电讯工程学院出版社,#>>'$罗承忠$模糊集引论3;4$北京:北京师范大学出版社,#>>读取不同高度的原始数据存储到要显示的图象数据区中就可以了.
&$!
放大和缩小放大和缩小通过动态改变球面片曲面离视点的距离来实现.
使用@ABCDEFADGH(",",I)函数使物体在J轴方向进行平移,就能很方便地实现景物的JKK61,E,JKK61KLG的效果.
&$'实际运行效果是:程序自动或使用鼠标可在水平方向上动态地对在全景图象中选取纹理图象实现'M"度环视.
如图M、%、所示.
使用鼠标可在垂直方向上动态的对在全景图象中选取纹理图象实现仰视和俯视.
如图>、#"、##所示.
此程序的编写环境为N,FLDAO88M$",在奔腾!
级微机上运行,得到比较好的效果.
(小结该文采用基于像素匹配的方法进行图象拼接生成全景图象,并利用5:HEPQ的纹理映射技术,将生成的全景图象的一部分作为纹理图象映射到预先构造出的虚拟视点空间上,最终实现了在*O机上虚拟场景的'M"度任意漫游.
下一步希望进行基于数字化视频的研究,产生层次更复杂、质量更好的虚拟场景.
(收稿日期:!
"""年&月)参考文献#$贾志刚$精通5:HEPQ3;4$电子工业出版社!
$ODCKA,EDOCLI19HC,D$N,CGLDARHDA,GS5THCT,HU3O4$>',OKLCFH9KGHF,!
''$R,XYDCZ+IHA,F),$N,ZHK;KFD,XF[KCN,CGLDA\ET,CKE6HEGF3]4$>M$':!
!
1'"&$R,XYDCZ+IHA,F),,+YL6W^$OCHDGH_LAAN,HU*DEKCD6,X>%:!
(#1!
(%($;+=93;4$;,XCKFK[GOKC:$M$*HGHC9KCGKE,RK';XPCH@KC$;_O开发a,EZKUF>(b9B&应用程序3;4$清华大学出版社图M左端图象图%中间图象图跨边界图象图>平视图象图#"仰视图象图##俯视图象>#
火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...
速云怎么样?速云,国人商家,提供广州移动、深圳移动、广州茂名联通、香港hkt等VDS和独立服务器。现在暑期限时特惠,力度大。广州移动/深圳移动/广东联通/香港HKT等9折优惠,最低月付9元;暑期特惠,带宽、流量翻倍,深港mplc免费试用!点击进入:速云官方网站地址速云优惠码:全场9折优惠码:summer速云优惠活动:活动期间,所有地区所有配置可享受9折优惠,深圳/广州地区流量计费VDS可选择流量翻...
vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...
gfdh为你推荐
简体翻译成繁体简体字怎么换成繁体。。?中国电信互联星空电信的互联星空服务是什么?免费开通黄钻怎样能免费开通黄钻会员邮箱打不开怎么办126邮箱打不开怎么办如何建立自己的网站如何建立自己的网站godaddyGodaddy域名怎么接受淘宝网页显示不正常淘宝网显示不正常怎么升级ios6苹果IOS5怎么升级IOS6版本安装迅雷看看播放器迅雷看看播放器下了安装不了虚拟机软件下载那里可以下载虚拟系统,又该怎么安装呢??
虚拟主机测评 wordpress主机 腾讯云盘 阿里云邮箱登陆首页 国内免备案主机 fdcservers simcentric mediafire下载 韩国电信 回程路由 网络空间租赁 hkt 安徽双线服务器 工信部网站备案查询 php服务器 百度云空间 日本代理ip 谷歌台湾 申请免费空间 云服务是什么意思 更多