林 靜,王薇婕,關(guān)丹丹,景軍鋒
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
浮雕是在平面上雕刻出凹凸起伏形狀的一種雕塑,它是介于平面繪畫與三維浮雕之間的一種藝術(shù)表現(xiàn)形式,能很好地保持三維物體基于某個觀測角度的外形輪廓和視覺效果,因此也越來越受到人們的喜愛。國內(nèi)外對浮雕進行了大量的研究,在這些研究中,有的是從三維模型出發(fā)[1-2],其基本方法是對三維幾何模型在某給定視覺方向的深度值進行壓縮來獲得浮雕。有的是從圖像出發(fā),主要是從圖像的灰度與視覺的映射關(guān)系出發(fā)[3],從圖像中提出灰度信息,并轉(zhuǎn)化成為深度值,從而生成三維浮雕模型。而將圖像表面分為高頻與低頻兩個分量進行處理,且利用先驗函數(shù)定義浮雕的高低起伏[4]來恢復(fù)3D浮雕效果也可取得很好的成效。
為了達(dá)到更好的藝術(shù)效果,考慮到浮雕的深度、視覺效果和突出主題等,一些研究學(xué)者從浮雕的細(xì)節(jié)出發(fā)對浮雕進行處理,取得了不錯的效果。本文從二維浮雕圖像出發(fā),用一種不那么復(fù)雜的算法顯示出3D浮雕效果,使圖像更有立體感與觀賞性。
為了實現(xiàn)3D浮雕效果,本文將二維圖像看是一個二維的網(wǎng)格平面,利用目標(biāo)區(qū)域圖像(去除背景)的顏色值作為物體的高度值進行三維網(wǎng)格化繪制,為了得到更好的視覺效果,將得到的圖像進行光照處理,實驗結(jié)果表明了這種方法在實現(xiàn)3D浮雕效果的有效性與快速性。算法流程可以分為圖像分割、給目標(biāo)區(qū)域增加一個高度值和設(shè)置光照3個部分。
圖像分割是數(shù)字圖像處理的重要技術(shù)之一,圖像分割的目的是將圖像中的目標(biāo)區(qū)域與偽目標(biāo)區(qū)域及其背景分開來,因為只有目標(biāo)區(qū)域才能可以提供有用的信息。圖像分割技術(shù)主要包括區(qū)域分割、閾值分割、差分運動分割及邊緣檢測4大類。然而,由于浮雕圖像內(nèi)部的目標(biāo)區(qū)與背景區(qū)的紋理、灰度和色彩等特征相同(如圖1所示),若采用一般的圖像分割方法很難得到滿意的效果,因此可在Photoshop中手動抽出目標(biāo)圖像[5]。
經(jīng)過分割處理后,圖像的背景色是白色,由于目標(biāo)區(qū)域相對于白色背景而言像素值差異較大,但也不排除目標(biāo)區(qū)域中一些較亮的點,為了確保最好效果,將背景色換為黑色。具體步驟為:(1)分別求出彩色圖像的R、G、B 分量;(2)設(shè)置閾值求出新的 r、g、b 分量;(3)將新的 r、g、b分量所代表的 3個矩陣合并成 1個代表彩色圖像的三維數(shù)組。經(jīng)過多次實驗,將閾值設(shè)置為200,即當(dāng)原圖像的 R、G、B分量值均大于 200時, 則令 r、g、b的值為0。圖像處理后的效果如圖2所示。
圖1 輸入圖像
圖2 處理后的目標(biāo)圖像
只有給目標(biāo)區(qū)域增加不同的高度值后,才更能反映出浮雕的凹凸起伏,其思想是:圖像中物體的顏色是由該點經(jīng)過反射得到的,所以顏色信息在一定程度上也反映了物體的形狀信息,顏色淺的往往深度值較小,顏色深的地方往往相對深度值較大,這樣就可以把物體上的顏色信息看成加到2D圖像網(wǎng)格上的高度場。
1.2.1將圖像進行矩陣運算
將圖像看作是由一個個像素點組成的矩陣,充分利用MATLAB強大的矩陣運算能力進行以下處理:
for i=1:im_size(1)
for j=1:im_size(2)
Image1(i,j)=Image0(i,j)×1.0+K×j/n;
end
end
其中,im_size(1)與 im_size(2)分別是待處理圖像的長和寬,Image0(i,j)是原圖像中的一個采樣點,K與 n是調(diào)節(jié)因子。經(jīng)過運算后,Image1成為一個二維的矩陣。Image1(i,j)是 Image0(i,j)經(jīng)過上述算法后的圖像采樣點,本文所說的給目標(biāo)區(qū)域圖像加高度值也是指在這些Image1(i,j)采樣點上加高度值。
1.2.2平滑化處理
經(jīng)過矩陣運算之后,對原圖像數(shù)據(jù)進行一個平滑化處理。處理函數(shù)為:
其中,V是需要平滑的數(shù)據(jù);W是平滑后的數(shù)據(jù);filter是使用的卷積核,可為‘gaussian’或‘box’(默認(rèn)值);size 是卷積核大小。本文所要處理的數(shù)據(jù)是圖像Image0,即經(jīng)過運算后的圖像矩陣,filter為‘box’,size為 3。
1.2.3三維圖形繪制
在進行三維圖形繪制時,首先要將圖形的定義區(qū)域分成若干網(wǎng)格,然后計算這些網(wǎng)格節(jié)點上的二元函數(shù)值,在本文中,這些網(wǎng)格節(jié)點上的二元函數(shù)值就是加在網(wǎng)格節(jié)點上的高度值。在MATLAB中,生成網(wǎng)格使用meshgrid函數(shù),而在眾多的三維繪制函數(shù)中使用meshz進行繪制,這是因為它在繪制三維網(wǎng)格圖的同時在網(wǎng)格圖周圍繪制垂直水平面的參考平面。
人們之所以能夠看得見物體,是因為物體的表面對光進行了反射,反射光進入人眼。為了使物體的圖形更具有真實感,需要給物體加上細(xì)膩的光照效果。而給物體加光照效果,最好的辦法是對物體可見面上的每一點都添加亮度與顏色。但是這種方法工作量大,不易實現(xiàn),因此,要充分利用物體的形狀與連接信息來添加光照效果。
本文采用了在點[1,1,0]處設(shè)置一個點光源,使用Phong光照模型[6]來實現(xiàn)光照效果。Phong模型是一種最基礎(chǔ)卻很重要的光照模型,它分為鏡面反射光、漫反射光和環(huán)境反射光3個累加階段。
1.3.1鏡面反射光
鏡面反射光遵循反射定律。產(chǎn)生鏡面反射的條件是入射光一般是平行光,并且物體表面比較平滑。事實上,沒有絕對光滑的物體表面,因此反射光一般散布在反射光方向周圍的局部范圍內(nèi)。PHONE B T模擬鏡面反射光的空間分布為:
其中,IS表示觀察者接收到的鏡面反射光亮度;IP表示入射光亮度;β表示鏡面反射光與視線方向的夾角;n表示物體的光滑度,一般取整數(shù);KS表示鏡面反射系數(shù)。改變n的值,可以調(diào)節(jié)反射光的亮度。
1.3.2漫反射光
不光滑的物體在受到光照向多個方向反射,這樣的反射叫漫反射。漫反射的強度可以用朗伯定律來計算,朗伯定律敘述如下:
設(shè)物體表面在P點的法向量為N,從P點指向光源的向量為L,兩者夾角為θ。點P處的漫反射光強度為:
其中,Id表示漫反射的亮度;IP表示入射光亮度;Kd表示是漫反射系數(shù),0≤Kd≤1;θ為入射光與法線間的夾角,0≤θ≤π/2。
1.3.3環(huán)境反射光
環(huán)境反射光是由周圍物體多次反射后照射在該物體的上的光。其亮度可以表示為:
其中,Ie表示物體的環(huán)境光反射亮度,Ia表示環(huán)境光的亮度,Ka表示物體表面的環(huán)境光反射系數(shù)。
1.3.4 Phong光照模型
為了真實地表現(xiàn)光照效果,從視點觀察到的物體表面上每點的亮度應(yīng)該為鏡面反射光、漫反射光以及環(huán)境光的總和,即:
根據(jù)上述流程進行實驗,實驗結(jié)果如圖3和圖4所示。其中圖3(a)是圖1經(jīng)過算法恢復(fù)的3D浮雕效果模型不加光照處理的效果,圖 3(b)、圖 3(c)是經(jīng)過加光照處理在不同視角下的效果。 圖 4(b)、圖 4(c)是圖 4(a)經(jīng)過算法恢復(fù)的3D浮雕效果加光照處理的不同視角效果圖。從效果圖可以看出,進行光照設(shè)置后的效果更具有立體感。
圖3 實驗結(jié)果1
圖4 實驗結(jié)果2
本文利用單幅浮雕圖像實現(xiàn)3D浮雕效果,雖然思路不是很復(fù)雜,但是卻能很好地達(dá)到目標(biāo)。本文所實現(xiàn)的是一種偽3D效果,即浮雕的高度值并不是其真正的物理高度值,這也是接下來要完成的任務(wù)。
[1]SONG W, BELYAEV A, SEIDEL H P.Automatic generation of bas-reliefs from 3D shapes[C].Proceedings of IEEE InternationalConference on Shape Modeling and Applications, 2007: 211-214.
[2]趙鵬,邊哲.曲面淺浮雕生成算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2010,22(7)1126-1131.
[3]葉新東,王章野,湯鋒.一種基于圖像的 3D浮雕效果繪制算法[J].計算機應(yīng)用研究,2005,22(2):227-228.
[4]王松,李著文,于金輝.利用拓片恢復(fù)漢畫像的浮雕效果[J].計算機輔助設(shè)計學(xué)與圖形學(xué)學(xué)報,2011,23(5):784-789.
[5]朱曉麗,吳中福,李穎.基于 MATLAB實現(xiàn)石刻浮雕圖像 “數(shù)字拓片”技術(shù)的研究 [J].計算機科學(xué),2009,36(2):268-270.
[6]于萬波.基于MATLAB的計算機圖形與動畫技術(shù)[M].北京:清華大學(xué)出版社,2007.