林 靜,王薇婕,關丹丹,景軍鋒
(西安工程大學 電子信息學院,陜西 西安 710048)
浮雕是在平面上雕刻出凹凸起伏形狀的一種雕塑,它是介于平面繪畫與三維浮雕之間的一種藝術表現形式,能很好地保持三維物體基于某個觀測角度的外形輪廓和視覺效果,因此也越來越受到人們的喜愛。國內外對浮雕進行了大量的研究,在這些研究中,有的是從三維模型出發[1-2],其基本方法是對三維幾何模型在某給定視覺方向的深度值進行壓縮來獲得浮雕。有的是從圖像出發,主要是從圖像的灰度與視覺的映射關系出發[3],從圖像中提出灰度信息,并轉化成為深度值,從而生成三維浮雕模型。而將圖像表面分為高頻與低頻兩個分量進行處理,且利用先驗函數定義浮雕的高低起伏[4]來恢復3D浮雕效果也可取得很好的成效。
為了達到更好的藝術效果,考慮到浮雕的深度、視覺效果和突出主題等,一些研究學者從浮雕的細節出發對浮雕進行處理,取得了不錯的效果。本文從二維浮雕圖像出發,用一種不那么復雜的算法顯示出3D浮雕效果,使圖像更有立體感與觀賞性。
為了實現3D浮雕效果,本文將二維圖像看是一個二維的網格平面,利用目標區域圖像(去除背景)的顏色值作為物體的高度值進行三維網格化繪制,為了得到更好的視覺效果,將得到的圖像進行光照處理,實驗結果表明了這種方法在實現3D浮雕效果的有效性與快速性。算法流程可以分為圖像分割、給目標區域增加一個高度值和設置光照3個部分。
圖像分割是數字圖像處理的重要技術之一,圖像分割的目的是將圖像中的目標區域與偽目標區域及其背景分開來,因為只有目標區域才能可以提供有用的信息。圖像分割技術主要包括區域分割、閾值分割、差分運動分割及邊緣檢測4大類。然而,由于浮雕圖像內部的目標區與背景區的紋理、灰度和色彩等特征相同(如圖1所示),若采用一般的圖像分割方法很難得到滿意的效果,因此可在Photoshop中手動抽出目標圖像[5]。
經過分割處理后,圖像的背景色是白色,由于目標區域相對于白色背景而言像素值差異較大,但也不排除目標區域中一些較亮的點,為了確保最好效果,將背景色換為黑色。具體步驟為:(1)分別求出彩色圖像的R、G、B 分量;(2)設置閾值求出新的 r、g、b 分量;(3)將新的 r、g、b分量所代表的 3個矩陣合并成 1個代表彩色圖像的三維數組。經過多次實驗,將閾值設置為200,即當原圖像的 R、G、B分量值均大于 200時, 則令 r、g、b的值為0。圖像處理后的效果如圖2所示。

圖1 輸入圖像

圖2 處理后的目標圖像
只有給目標區域增加不同的高度值后,才更能反映出浮雕的凹凸起伏,其思想是:圖像中物體的顏色是由該點經過反射得到的,所以顏色信息在一定程度上也反映了物體的形狀信息,顏色淺的往往深度值較小,顏色深的地方往往相對深度值較大,這樣就可以把物體上的顏色信息看成加到2D圖像網格上的高度場。
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是調節因子。經過運算后,Image1成為一個二維的矩陣。Image1(i,j)是 Image0(i,j)經過上述算法后的圖像采樣點,本文所說的給目標區域圖像加高度值也是指在這些Image1(i,j)采樣點上加高度值。
1.2.2平滑化處理
經過矩陣運算之后,對原圖像數據進行一個平滑化處理。處理函數為:

其中,V是需要平滑的數據;W是平滑后的數據;filter是使用的卷積核,可為‘gaussian’或‘box’(默認值);size 是卷積核大小。本文所要處理的數據是圖像Image0,即經過運算后的圖像矩陣,filter為‘box’,size為 3。
1.2.3三維圖形繪制
在進行三維圖形繪制時,首先要將圖形的定義區域分成若干網格,然后計算這些網格節點上的二元函數值,在本文中,這些網格節點上的二元函數值就是加在網格節點上的高度值。在MATLAB中,生成網格使用meshgrid函數,而在眾多的三維繪制函數中使用meshz進行繪制,這是因為它在繪制三維網格圖的同時在網格圖周圍繪制垂直水平面的參考平面。
人們之所以能夠看得見物體,是因為物體的表面對光進行了反射,反射光進入人眼。為了使物體的圖形更具有真實感,需要給物體加上細膩的光照效果。而給物體加光照效果,最好的辦法是對物體可見面上的每一點都添加亮度與顏色。但是這種方法工作量大,不易實現,因此,要充分利用物體的形狀與連接信息來添加光照效果。
本文采用了在點[1,1,0]處設置一個點光源,使用Phong光照模型[6]來實現光照效果。Phong模型是一種最基礎卻很重要的光照模型,它分為鏡面反射光、漫反射光和環境反射光3個累加階段。
1.3.1鏡面反射光
鏡面反射光遵循反射定律。產生鏡面反射的條件是入射光一般是平行光,并且物體表面比較平滑。事實上,沒有絕對光滑的物體表面,因此反射光一般散布在反射光方向周圍的局部范圍內。PHONE B T模擬鏡面反射光的空間分布為:

其中,IS表示觀察者接收到的鏡面反射光亮度;IP表示入射光亮度;β表示鏡面反射光與視線方向的夾角;n表示物體的光滑度,一般取整數;KS表示鏡面反射系數。改變n的值,可以調節反射光的亮度。
1.3.2漫反射光
不光滑的物體在受到光照向多個方向反射,這樣的反射叫漫反射。漫反射的強度可以用朗伯定律來計算,朗伯定律敘述如下:
設物體表面在P點的法向量為N,從P點指向光源的向量為L,兩者夾角為θ。點P處的漫反射光強度為:

其中,Id表示漫反射的亮度;IP表示入射光亮度;Kd表示是漫反射系數,0≤Kd≤1;θ為入射光與法線間的夾角,0≤θ≤π/2。
1.3.3環境反射光
環境反射光是由周圍物體多次反射后照射在該物體的上的光。其亮度可以表示為:

其中,Ie表示物體的環境光反射亮度,Ia表示環境光的亮度,Ka表示物體表面的環境光反射系數。
1.3.4 Phong光照模型
為了真實地表現光照效果,從視點觀察到的物體表面上每點的亮度應該為鏡面反射光、漫反射光以及環境光的總和,即:

根據上述流程進行實驗,實驗結果如圖3和圖4所示。其中圖3(a)是圖1經過算法恢復的3D浮雕效果模型不加光照處理的效果,圖 3(b)、圖 3(c)是經過加光照處理在不同視角下的效果。 圖 4(b)、圖 4(c)是圖 4(a)經過算法恢復的3D浮雕效果加光照處理的不同視角效果圖。從效果圖可以看出,進行光照設置后的效果更具有立體感。

圖3 實驗結果1

圖4 實驗結果2
本文利用單幅浮雕圖像實現3D浮雕效果,雖然思路不是很復雜,但是卻能很好地達到目標。本文所實現的是一種偽3D效果,即浮雕的高度值并不是其真正的物理高度值,這也是接下來要完成的任務。
[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].計算機輔助設計與圖形學學報,2010,22(7)1126-1131.
[3]葉新東,王章野,湯鋒.一種基于圖像的 3D浮雕效果繪制算法[J].計算機應用研究,2005,22(2):227-228.
[4]王松,李著文,于金輝.利用拓片恢復漢畫像的浮雕效果[J].計算機輔助設計學與圖形學學報,2011,23(5):784-789.
[5]朱曉麗,吳中福,李穎.基于 MATLAB實現石刻浮雕圖像 “數字拓片”技術的研究 [J].計算機科學,2009,36(2):268-270.
[6]于萬波.基于MATLAB的計算機圖形與動畫技術[M].北京:清華大學出版社,2007.