首頁 > 文章中心 > 正文

          自適應LIC繪制法

          前言:本站為你精心整理了自適應LIC繪制法范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          1算法思想

          流體藝術風格的一個顯著特點就是整個畫面呈現出活潑的流體波動感•為了模擬這一特征,我們從圖像結構著手,計算圖像亮度分量的切矢量場•由于切矢量場中存在一些不連續的流線,連續的流線可能呈現尖銳的轉角,因此,對切矢量場進行增強、平滑處理以獲得連續、平滑的結構矢量場v•我們用結構矢量場控制整個繪制過程•由于畫家創作時并非嚴格按照特定的方向繪制,尤其流體藝術圖的隨意性更加強烈,為了模擬這種創作手法,本文對源圖像增加一定的隨機擾動產生紋理參考圖像IR,使得繪制并非嚴格按照結構矢量場進行,體現一定的隨意性,同時整個畫面顏色也能呈現出跳躍、變化的效果•在結構矢量場控制下進行LIC繪制時,為了追求油畫繪制的細膩感,根據圖像局部特征自適應地產生可變的lic積分步長、步數•

          2本文算法

          2•1繪制結構矢量場

          非真實感繪制中已經廣泛應用圖像切矢量場指導畫筆的走向并獲得了不錯的繪制效果[1-2,4],我們亦以源圖像亮度分量的切矢量場為基礎,對其進行增強、平滑處理獲得結構矢量場v•具體可分4個步驟:Step1•計算源圖像的亮度分量L•亮度分量的值由源圖像IS中各像素的R,G,B三通道的值按照式(1)進行加權平均獲得[5]:L=red×0•299+green×0•587+blue×0•114•(1)Step2•計算切矢量場•切矢量場以亮度圖像的梯度場為基礎產生,梯度場使用3×3的Sobel梯度算子對亮度分量中各像素進行處理獲得[2]•點(x,y)的梯度(Gx,Gy)可采用水平和垂直方向的檢測子Sh,Sv與該點做卷積得到,即Gx=Lhx;Gy=Lhy•(2)則點(x,y)切矢量可簡單地通過X軸、Y軸的梯度交換得到,即v(x,y)=ΔL⊥=(-Gy,Gx)•(3)則該點梯度模(|ΔL|)定義為|Δ|G2y+G2x•(4)切矢量方向為α=tan-1(Gx/(-Gy))•Step3•增強切矢量場•應用圖像切矢量場指導繪制時,在平坦區域往往不能獲得很好的流體效果,這是由于這些區域非常平滑,矢量值很小甚至為零•為了避免這種情況,使得整個畫面充滿豐富的流體效果,需要對方向信息很弱的點進行增強•假定當前點的鄰域為adjecent(p,R)(以p為中心,半徑為R的圓域,如所示),則當前點的切矢量方向值由其鄰域內所有點的加權和來增強:v′(x,y)=∑ni=1wi×vi•(5)增強時希望與中心點距離越大的點貢獻越大,因此按如下方式定義權值:wi=Di/minD,(6)其中,Di為鄰域內點pi與中心點p間的距離,minD為鄰域內點與中心點間的最短距離,距離定義為RGB三通道間的歐氏距離Di=(Ri-Rp)2+(Gi-Gp)2+(Bi-Bp)2•(7)Step4•平滑切矢量場•由于切矢量場中存在呈現尖銳轉角的流線,直接用增強后的矢量場作為結構矢量場控制繪制往往使得繪制效果不夠平滑,因此需要對增強后的矢量場進行平滑處理•本文利用8-鄰域內點的切矢量值來平滑當前點的方向,令v(x,y)為當前點p(x,y)的切矢量值,則按如下方式平滑:v1(x,y)={v(x-1,y+1)+v(x,y)+v(x+1,y-1)}{|v(x-1,y+1)+v(x,y)+v(x+1,y-1)|},(8)v2(x,y)={v1(x-1,y-1)+v1(x,y)+v1(x+1,y+1)}{|v1(x-1,y-1)+v1(x,y)+v1(x+1,y+1)|},(9)v3(x,y)={v2(x-1,y)+v2(x,y)+v2(x+1,y)}{|v2(x-1,y)+v2(x,y)+v2(x+1,y)|},(10)v′(x,y)={v3(x,y-1)+v3(x,y)+v3(x,y+1)}{|v3(x,y-1)+v3(x,y)+v3(x,y+1)|},(11)其中,v1(x,y),v2(x,y)分別為點p的兩個對角鄰域的點對其平滑后的結果;v3(x,y)分別為點p水平近鄰點對其平滑后的值;v′(x,y)為最后平滑后的矢量場;||表示對切矢量取模運算•

          2•2產生紋理參考圖像

          實驗發現,進行LIC繪制時,如果嚴格按照結構矢量場數據處理源圖像,繪制效果并不能呈現很強的流體波動感•在實際創作中,畫筆在具有一定走勢的情形下又帶有隨意性,在流體藝術圖中這種隨意性更加顯著•因此為了更好地模擬這種創作的隨意性,本文對源圖像進行隨機擾動,以一定百分比加入高斯噪聲獲得紋理參考圖像,這樣就使得繪制在結構矢量場控制下又能保證一定的自由度,同時整個畫面顏色也能呈現活潑、跳躍的效果•

          2•3自適應流體藝術圖的LIC繪制

          1993年,Cabral等人[4]提出了經典的LIC算法,該算法的基本思想是把圖像矢量場v和紋理參考圖像IR作為輸入,根據矢量場數據對參考圖像進行卷積,獲得輸出圖像Iout•假定σ(s)是一條經過點p0且長度為2L的流線,則p0處的輸出值為流線所經點按照卷積核函數進行積分得到.利用LIC算法產生流體藝術圖,積分步長steplen和積分步數w是影響算法效率和精度的兩個主要因素:步長太大結果很快就會發散而導致不可用;步數越多則會降低計算效率;同時固定的步長和步數又會使得整個流線軌跡過于生硬,缺乏變化•本文考慮到算法執行效率和精度要求,提出了一種自適應LIC方法,使積分步數和步長能夠根據圖像的局部特征自適應地變化•

          2•3•1可變的積分步數、積分步長本文基本思路是根據結構矢量場數據變化的劇烈程度動態地改變相鄰樣本點間的積分步長[6],在方向變化較平坦的區域采用較長的積分步長,而在方向變化較劇烈的地方則相應地減小積分步長•由于結構矢量場中各點的梯度能夠較好地表達矢量場中曲線的傾斜程度,因此我們選用x方向的導數來表征結構矢量場中矢量變化的劇烈程度,表示為函數E(v)=dv/dx•設定方向變化閾值為Emax,最大步長為maxsteplen,則下一樣本點距離當前點的步長為steplen=maxsteplen×E/Emax•(14)對于積分步數,我們采用圖像局部細節分布情況加以控制:當前點的鄰域內細節越豐富則積分步數越小;鄰域越平滑積分步數越大•由于區域標準差std(p)能較好地描述鄰域內細節豐富程度,本算法通過函數w(p)產生當前點p0所需的積分.

          2•3•2生成樣本點計算出積分步長和步數后便可產生卷積所需的樣本點•假定當前處理點為p0,其積分步數為w(p0),則共需w(p0)+1個采樣點,記為集合:pi|i=-w2,-w-12,…,-1,0,1,…,w2•我們根據結構矢量場數據產生這w(p0)+1個點,假定p0點在結構矢量場中的方向為α(p0)(如所示),p-1,p1點分別為沿方向π+α(p0),α(p0)產生的兩個樣本點,且距離p0為steplen(p0):xp-1=steplen(p0)×cos(π+α(p0)),yp-1=steplen(p0)×sin(π+α(p0))•(18)xp1=steplen(p0)×cos(α(p0)),yp1=steplen(p0)×sin(α(p0))•(19)其余樣本點按如下規則產生:當1<i<w(p0)/2時,pi+1為沿方向α(pi)且距離pi為steplen(pi)產生的點,即xpi+1=steplen(pi)×cos(α(pi)),ypi+1=steplen(pi)×sin(α(pi))•(20)當-w(p0)<i<-1時,沿方向α(pi)且距離pi為steplen(pi)產生pi-1,即xpi-1=steplen(pi)×cos(α(pi)),ypi-1=steplen(pi)×sin(α(pi))•(21)當w(p0)+1個樣本點確定后,算法在RGB空間三通道中分別對紋理參考圖像中這w(p0)+1個點進行卷積,獲得p0點在輸出圖像中的新值.

          2•4顏色模擬

          自適應LIC繪制結束后雖能獲得流體效果,但因源圖像顏色可能過于單一,不能獲得油畫般豐富、生動的顏色效果,為此,需要對源圖像進行渲染,模擬油畫的顏色特征•本文采用Erik等人[7]的方法模擬流體藝術參考圖像的顏色特征:首先將LIC繪制效果和流體藝術參考圖IFlow從RGB空間轉換到ιαβ空間,降低各通道間的相關性;再對繪制效果的亮度通道和彩色通道分別進行統計逼近,使其近似于流體藝術參考圖的分布;最后再把渲染效果轉換到RGB空間獲得輸出圖像Iout•渲染方式如下:ι*=ι-〈ιout〉,α*=α-〈αout〉,β*=β-〈βout〉,(26)ι′=σιFlow/σιout+〈ιFlow〉,(27)α′=σαFlow/σαoutα*+〈αFlow〉,(28)β′=σβFlow/σβ*out+〈βFlow〉,(29)其中,〈ιout〉,〈αout〉,〈βout〉,〈ιFlow〉,〈αFlow〉,〈βFlow〉,σιout,σαout,σβout,σιFlow,σαFlow,σβFlow分別為LIC繪制結果圖像和流體藝術參考圖IFlowι,α,β通道的均值和方差•

          3實驗結果

          本文選取多幅彩色圖片來驗證本文方法的可行性和有效性,運行環境是:Matlab6•5,P733CPU,256MB內存•模擬繪制1、模擬繪制2均采用梵高的自畫像作為流體藝術參考圖像,如(a)所示•(b)為模擬繪制1的源圖像,大小為175×227;(c)為結構矢量場;(d)為對源圖像隨機擾動后的效果,共隨機產生175×227×19%個高斯噪聲•圖6(e),(f)分別為設置不同參數后的LIC繪制效果,(e)中nummin=2,nummax=16,(f)中nummin=2,nummax=6•可以看出,兩幅圖的整個畫面都能夠呈現出活潑的流體波動感,但(f)中由于采樣點范圍更小,因此繪制效果顯得更加細膩,(e)整個畫面則更加粗獷、狂野•但兩幅圖像顏色仍比較單一,表現力不夠強烈•(g),(h)分別為繪制效果1、繪制效果2的顏色渲染效果,可以看出渲染后兩幅圖像的畫面顏色更加豐富,色彩更加鮮明、突出,表現力更加強烈•4結論本文應用LIC算法進行非真實感繪制,對源圖像亮度分量的切矢量場進行增強、平滑處理獲得結構矢量場,用結構矢量場控制整個LIC繪制過程•同時隨機擾動源圖像產生紋理參考圖像,使得整個繪制畫面充滿靈動、活潑的波動感•在繪制過程中自適應地調整步長、步數,使得繪制效果粗糙感和細膩感獲得不同程度的體現•最后對繪制效果進行顏色渲染,模擬出油畫豐富的顏色效果•由于該算法無需模擬真實的畫筆,對于不懂繪畫技巧的人更容易學習、掌握•在未來工作中,我們將把該算法擴展到視頻動畫處理方面,開發出一種能夠對視頻動畫進行快速風格渲染的軟件.

          文檔上傳者