專利名稱:基于投影紋理映射的斜投影失真校正方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視覺投影系統(tǒng)的投影圖像失真校正技術(shù)領(lǐng)域,更具體地說,涉及一 種投影儀斜投影至球面或非球面(包括正投影)顯示屏的圖像失真校正方法。
背景技術(shù):
視覺投影系統(tǒng)是一種圖像和視頻信息呈現(xiàn)的重要系統(tǒng),主要包括投影儀、投影 屏幕和計算機(jī)軟硬件設(shè)備。如圖1所示,投影儀2將計算機(jī)產(chǎn)生的圖像投影到屏幕1上 的過程稱為投影成像。投影成像過程可以看作是投影圖像3與屏幕圖像4之間的一種投 影變換。在理想的投影變換下,投影圖像與屏幕圖像保持視覺一致,圖像之間不存在幾 何變形。但是,由于投影儀自身的光學(xué)性質(zhì)、投影屏幕的幾何形狀以及投影儀和投影屏 幕之間相對的位置與角度關(guān)系等等,投影成像普遍存在幾何失真的現(xiàn)象。因此,為使觀 察者看到的是未變形的投影圖像,應(yīng)該對圖像進(jìn)行幾何校正以抵消由此類因素造成的圖 像失真。在目前的實際應(yīng)用中,常見的幾何失真類型有如下幾種1.線性失真現(xiàn)有的投影儀在設(shè)計時都是針對平面投影屏幕的,要求在使用時盡可能正投影 至投影屏幕才能保證投影效果,否則投影成像就會產(chǎn)生線性失真。此時投影圖像中的線 段在屏幕上依然呈現(xiàn)為線段,但是由于線段的長度和線段之間的夾角發(fā)生變化,從而導(dǎo) 致圖像失真。其中,最常見的是梯形失真(trapeziumdistortion),如圖2、3所示。目前, 對于梯形失真的校正方法通常有兩種,一種是光學(xué)梯形校正,通過調(diào)整鏡頭的物理位置 達(dá)到校正的目的,另一種是數(shù)碼梯形校正,通過投影變換參數(shù)估計和軟件插值算法對投 影圖像進(jìn)行形狀調(diào)整和補(bǔ)償實現(xiàn)校正。2.枕形失真(pincushion distortion)枕形失真又稱為弧形失真。如圖4所示,當(dāng)使用針對平面投影屏幕的投影儀把 圖像投影到弧形投影屏幕時,就會產(chǎn)生枕形失真,見投影屏幕正視圖5。這是一種非線性 失真,投影圖像中的線段在屏幕上不一定呈現(xiàn)為線段。3.桶形失真(barrel distortion)桶形失真又稱為球面失真。這是另一種常見的非線性失真,通常發(fā)生在球形投 影屏幕上,如圖6、7所示。以上兩種最常見的非線性失真還會因為投影儀與投影屏幕的之間相對位置與角 度關(guān)系,比如斜投影,而加劇變形程度。矩形的投影圖像將會投影成像為任意的曲邊四 邊形。目前的非線性失真校正方法大致可以分為兩類。一類方法是通過光學(xué)校正,即 通過具有獨特變形校正功能的特定投影儀來實現(xiàn)。這種方案的一個缺點就是投影儀成本 高,普通用戶難以承受。另一類方法是采用計算機(jī)非線性失真校正技術(shù)來實現(xiàn),其核心 思想是對矩形投影圖像進(jìn)行預(yù)變形處理,以抵消因斜投影和投影屏幕幾何形狀所造成的 非線性失真,使觀察者看到不失真圖像。一般的方法是先將矩形投影圖像的四條邊映射為屏幕圖像曲邊四邊形的四條邊,然后采用插值的方法計算曲邊四邊形內(nèi)部像素與投影 圖像內(nèi)部像素之間的映射關(guān)系。該方法必須使用三次以上的高階多項式表示曲線,計算 非常繁瑣,參數(shù)調(diào)節(jié)的靈活性較差。目前也有提出的圖像失真校正方法分成兩步定位 步驟和形變步驟。前者以圖像的四個頂點為基準(zhǔn),采用雙線性變換矩陣將矩形投影圖像 非線性映射為一個中間過渡的曲線四邊形;后者對該過渡曲線四邊形的每條曲邊應(yīng)用二 次曲線調(diào)整,通過兩個二次曲線產(chǎn)生的一組與該邊線方向垂直的偏移量,使得屏幕圖像 的曲線在觀眾的視覺平面上呈現(xiàn)為直線邊。該方法中雙線性變換和二次曲線調(diào)整非常耗 時,需要根據(jù)人的主觀感受進(jìn)行調(diào)整,因此操作難度大。此外,以上兩類方法都假設(shè)投 影圖像與屏幕圖像之間存在某種變換模型,在更為復(fù)雜的投影環(huán)境下,比如投影屏幕為 任意曲面,這些模型假設(shè)很可能不成立,導(dǎo)致不可消除的模型誤差。因此,具有較大的 局限性。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)存在的上述技術(shù)問題,本發(fā)明提出了基于投影紋理映射(Projective Texture Mapping)的斜投影失真校正方法,其是一種面向投影系統(tǒng)的圖像失真校正的低成 本且快速處理方法。本發(fā)明將投影圖像作為紋理,通過投影紋理映射獲取預(yù)變形圖像。紋理映射是 將紋理像素映射到物體表面的過程,因此通常需要在物體建模過程中通過手工指定紋理 和三維模型頂點的對應(yīng)關(guān)系,從而將紋理“貼”到了物體表面。投影紋理映射是一種特 殊的紋理映射方法,不需要手工指定紋理和頂點的對應(yīng)關(guān)系。實際上,投影紋理映射中 使用的紋理坐標(biāo)是在頂點著色過程中通過視點矩陣和投影矩陣自動計算得到的,是一個 將物體“投影”到紋理上的過程。因此,投影紋理映射具有兩大優(yōu)點其一,將紋理 與空間頂點進(jìn)行實時對應(yīng),不需要預(yù)先在建模過程中生成紋理坐標(biāo);其二,使用投影紋 理映射,可以有效的避免紋理扭曲現(xiàn)象。投影紋理映射的流程如下首先,根據(jù)投影儀 (視點相機(jī))的位置、投影角度,將物體每個頂點的空間坐標(biāo)轉(zhuǎn)換為對應(yīng)的紋理坐標(biāo),如 圖8所示;然后,依據(jù)該紋理坐標(biāo)獲取投影圖像上的紋理像素值;最后,形成投影圖像 紋理映射后整個物體的視覺效果。因此,投影紋理坐標(biāo)的求得,與紋理本身沒有關(guān)系, 而是由投影儀的位置、角度以及模型的頂點坐標(biāo)所決定的。本發(fā)明所提出的投影圖像幾何失真校正方法利用了投影紋理映射技術(shù)的優(yōu)點, 其基本原理是建立投影系統(tǒng)與觀察者模型,將物體(投影屏幕)投影到紋理(理想的投影 圖像)上,建立觀察者預(yù)期的場景;然后通過交換投影儀與觀察者之間的角色功能,獲 取預(yù)變形的投影圖像,實現(xiàn)投影圖像失真校正。本發(fā)明采取如下技術(shù)方案(參見圖9)第一步,構(gòu)建投影儀、投影屏幕和觀察者的模型。對于柱面、球面等規(guī)則曲 面的投影屏幕,可以直接通過數(shù)學(xué)公式建立其三維模型,以多個四邊形近似柱面或者球 面;對于其他非規(guī)則曲面屏幕,則可以采用如激光掃描等技術(shù)建立模型。普通的投影儀 和觀察者都可以近似為透視相機(jī)模型,如圖10所示,三維場景的渲染可視為近平面13和 遠(yuǎn)平面12所裁剪的視域角為θ的視域體11內(nèi)的物體14在相機(jī)模型10中投影成像15的 過程。對于投影儀,關(guān)鍵的模型參數(shù)有投影儀位置、投影方向、投影范圍的角度等,這 些參數(shù)可以通過投影儀說明書以及安裝投影儀后的設(shè)置和測量獲得。對于觀察者,關(guān)鍵的模型參數(shù)是觀察者相對于投影屏幕的位置,一旦位置確定,視線方向、視角大小等參 數(shù)都可以根據(jù)所應(yīng)觀察到的投影屏幕區(qū)域信息動態(tài)設(shè)置。第二步,將觀察者視為一個虛擬的投影儀,采用投影紋理映射技術(shù),首先,根 據(jù)虛擬投影儀的位置、投影角度,將物體每個頂點的空間坐標(biāo)轉(zhuǎn)換為對應(yīng)的紋理坐標(biāo); 然后,依據(jù)該紋理坐標(biāo)獲取投影圖像上的紋理像素值;最后,形成投影圖像紋理映射后 整個物體的視覺效果。上述物體即指投影屏幕。根據(jù)投影紋理映射的特點可知,此時以 觀察者(虛擬投影儀)和投影屏幕組成的投影系統(tǒng)中的屏幕圖像正是觀察者所應(yīng)觀察到的 理想圖像。該步驟中所使用的紋理圖像可以是三維場景的渲染結(jié)果,也可以是現(xiàn)有的平 面圖像。第三步,將投影儀視為一個虛擬的觀察者,利用透視相機(jī)模型成像原理,如圖 10所示,將投影紋理映射后的投影屏幕進(jìn)行渲染,獲取虛擬觀察者所觀察到的變形圖 像。將該變形圖像作為投影圖像,投影儀將能重現(xiàn)觀察者所應(yīng)觀察到的理想圖像,因此 該變形圖像就是投影系統(tǒng)進(jìn)行圖像校正所需的預(yù)變形圖像。第四步,將該預(yù)變形圖像作為投影圖像,由現(xiàn)實世界中的投影系統(tǒng)所使用,實 現(xiàn)了投影圖像的幾何失真校正。由上述描述內(nèi)容可以看出,本發(fā)明方法并沒有對投影圖像與屏幕圖像之間的變 換模型進(jìn)行假定和參數(shù)估計,而是建立投影系統(tǒng)與觀察者模型,通過交換觀察者和投影 儀的角色功能,利用投影紋理映射和圖形學(xué)渲染技術(shù),獲取預(yù)變形投影圖像。因此,本 發(fā)明方法避免了估計投影變換參數(shù)所存在的缺點和局限性,降低了成本。此外,本發(fā)明方法對投影類型、投影屏幕的形狀并沒有特殊要求,可以推廣到 球面和非球面一般投影(包括正投影)應(yīng)用中。本發(fā)明可以同時校正斜投影和球面屏所 引起的幾何失真,利用投影紋理映射技術(shù),避免復(fù)雜的變形參數(shù)估算與調(diào)整過程。
圖1是投影系統(tǒng)投影成像原理示意圖。圖2、3是平面斜投影產(chǎn)生梯形失真的示意圖。圖4、5是環(huán)幕正投影產(chǎn)生枕型失真的示意圖。圖6、7是球幕正投影產(chǎn)生桶形失真的示意圖。圖8是模型頂點的投影紋理坐標(biāo)的轉(zhuǎn)換流程圖。圖9是獲取投影圖像幾何失真校正的預(yù)變形圖像的流程圖。圖10是透視相機(jī)模型三維場景成像過程示意圖。圖11是一個實施例的投影系統(tǒng)和觀察者的模型構(gòu)建示意圖。圖12是該實施例的俯視圖。圖13是該實施例的左視圖。
具體實施例方式下面對本發(fā)明實施例作詳細(xì)說明。參見圖11-13,本實施例中,投影屏 幕是一個球幕,觀察者被限制于球幕的球心 處,而投影儀被置于觀察者上方、球幕的軸截面上,投影范圍覆蓋整個球面。本實施例基于投影紋理映射的斜投影失真校正方法按如下步驟第一步,構(gòu)建投影儀、投影屏幕和觀察者的計算機(jī)模型。如圖11所示,首先, 在球心(觀察者21所處位置)建立世界坐標(biāo)系,使得球幕中心20到球心的軸線方向為Z 方向,觀察者的頭頂方向為Y軸方向,觀察者的右手方向為X軸方向。該坐標(biāo)系滿足右 手法則。球幕是球面的一部分,對于球面上的任意一點22,其空間坐標(biāo)均可以參數(shù)化表 示為
χ = r sin(a) cos(β) z = r sin⑷ sin(β),
y = r cos(a)因此,可以通過劃分球幕α和β的取值范圍,利用四邊形逼近該球面,建立 球幕的三維模型。觀察者位置已經(jīng)限定于球心(0,0,0),其視線方向為-ζ方向,視
域角θ為球幕的視場角,近平面距離《 =遠(yuǎn)平面距離f=r。由于投影系統(tǒng)
的搭建過程已知,因此可以根據(jù)圖11和圖13,測量獲取投影儀2的空間位置(0,y,
ζ),計算投影儀2與球幕中心20的投影方向與Z軸的夾角7 = arctan^-^-j,近平面距離
=-COS7 rsin〔昏)tanz + r I-COS〔昏),為了避免復(fù)雜的計算,遠(yuǎn)平面距
離可以設(shè)置的稍大一些,比如r+y+z。至此就建立了投影系統(tǒng)和觀察者的計算機(jī)模型。第二步,將觀察者視為一個虛擬的投影儀,通過投影紋理映射技術(shù),首先,根 據(jù)虛擬投影儀的位置、投影角度,將物體每個頂點的空間坐標(biāo)轉(zhuǎn)換為對應(yīng)的紋理坐標(biāo); 然后,依據(jù)該紋理坐標(biāo)獲取投影圖像上的紋理像素值;最后,形成投影圖像紋理映射后 整個物體的視覺效果。上述物體即指投影屏幕。根據(jù)投影紋理映射的特點可知,此時以 觀察者(虛擬投影儀)和投影屏幕組成的投影系統(tǒng)中的屏幕圖像正是觀察者所應(yīng)觀察到的 理想圖像。該步驟中,用戶可以添加物體模型,通過三維場景的渲染獲取觀察者所需要 的理想圖像;也可以直接加載現(xiàn)成的平面圖像作為理想圖像。將該理想圖像作為紋理,根據(jù)觀察者模型,通過OpenGL(Open GraphicsLibrary, 一個硬件無關(guān)的三維圖形標(biāo)準(zhǔn)和廣泛使用的開放式軟件接口)所提供的 投影紋理映射技術(shù),將該紋理投影映射至球幕模型上。在此過程中,投影紋理映射的特 點保證了觀察者在球幕模型上所觀察到的是不失真的圖像。第三步,將投影儀視為一個虛擬的觀察者,根據(jù)透視相機(jī)模型,調(diào)用OpenGL 提供的gluLookAt()和gluPerspective()函數(shù),設(shè)置視點與物體的相對位置關(guān)系以及視域體 的遠(yuǎn)近平面和視場角的大小,從而將球幕模型的世界坐標(biāo)轉(zhuǎn)換為視口坐標(biāo),渲染帶有紋 理的球幕模型至一幅圖像。所獲得的圖像正是幾何失真校正所待求的預(yù)變形圖像。第四步,將第三步的預(yù)變形圖像作為投影圖像,交給現(xiàn)實中的投影系統(tǒng)所使用 并顯示,從而實現(xiàn)了投影圖像的幾何失真校正。本發(fā)明對于投影系統(tǒng)和觀察者的模型構(gòu)建過程只需要進(jìn)行一次,只要現(xiàn)實世界 中的投影系統(tǒng)和觀察者不變,模型就不需要因為投影圖像的不同而作任何變動。不同的 投影圖像需要產(chǎn)生相應(yīng)的預(yù)變形圖像,這個過程所涉及從觀察者位置的投影和從投影儀位置的渲染 操作只發(fā)生于模型中。因此,對于投影失真校正的操作簡便且高效。
本發(fā)明所提出的基于投影紋理映射的斜投影失真校正方法有效的利用了現(xiàn)有的 投影儀、投影屏幕和觀察者三者之間的空間關(guān)系,通過建立場景的三維模型,采用投影 紋理映射技術(shù)獲取預(yù)變形的投影圖像,從而校正斜投影和屏幕形狀所引起的圖像幾何失 真。該方法避免了投影變換的模型假設(shè)以及關(guān)于變換參數(shù)的估計與調(diào)整,因此解決了現(xiàn) 有校正方法存在的技術(shù)問題。
權(quán)利要求
1.基于投影紋理映射的斜投影失真校正方法,其特征是按如下步驟第一步,建立投影儀、投影屏幕和觀察者的模型;第二步,將觀察者視為一個虛擬的投影儀,首先,根據(jù)虛擬投影儀的位置、投影角 度,將投影屏幕每個頂點的空間坐標(biāo)轉(zhuǎn)換為對應(yīng)的紋理坐標(biāo);然后,依據(jù)該紋理坐標(biāo)獲 取投影圖像上的紋理像素值;最后,形成投影圖像紋理映射后整個投影屏幕的視覺效 果;第三步,將投影儀視為一個虛擬的觀察者,將投影紋理映射后的投影屏幕進(jìn)行渲 染,獲取虛擬觀察者所觀察到的變形圖像,該變形圖像就是投影系統(tǒng)進(jìn)行圖像校正所需 的預(yù)變形圖像;第四步,將第三步的預(yù)變形圖像作為投影圖像,由現(xiàn)實中的投影系統(tǒng)所使用,實現(xiàn) 投影圖像的幾何失真校正。
2.如權(quán)利要求1所述的基于投影紋理映射的斜投影失真校正方法,其特征是第 一步中,投影儀近似為針孔模型,模型參數(shù)包括投影儀位置、投影方向、投影范圍的角 度;觀察者視為針孔模型,模型參數(shù)包括觀察者的位置、視線方向、視角大小。
3.如權(quán)利要求1所述的基于投影紋理映射的斜投影失真校正方法,其特征是第二 步中所使用的紋理圖像是三維場景的渲染圖像或者是直接加載現(xiàn)有的平面圖像。
4.如權(quán)利要求1所述的基于投影紋理映射的斜投影失真校正方法,其特征是所述 的投影屏幕是柱面或球面。
全文摘要
本發(fā)明公開了基于投影紋理映射的斜投影失真校正方法,其按如下步驟第一步,建立投影儀、投影屏幕和觀察者的模型;第二步,將觀察者視為一個虛擬的投影儀,通過投影紋理映射,將紋理圖像映射到投影屏幕上;第三步,將投影儀視為一個虛擬的觀察者,將投影紋理映射后的投影屏幕進(jìn)行渲染,獲取虛擬觀察者所觀察到的變形圖像,該變形圖像就是投影系統(tǒng)進(jìn)行圖像校正所需的預(yù)變形圖像;第四步,將第三步的預(yù)變形圖像作為投影圖像,由現(xiàn)實中的投影系統(tǒng)所使用,實現(xiàn)投影圖像的幾何失真校正。本發(fā)明方法避免了估計投影變換參數(shù)所存在的缺點和局限性,降低了成本。
文檔編號G03B21/00GK102014259SQ201010549188
公開日2011年4月13日 申請日期2010年11月17日 優(yōu)先權(quán)日2010年11月17日
發(fā)明者張維澤, 王麗萍, 邱啟倉, 邱飛岳 申請人:杭州華泰醫(yī)療科技有限公司