梁瀟
(延安大學(xué) 魯迅藝術(shù)學(xué)院,陜西 延安 716000)
基于分段Bezier曲線的手繪雕刻圖案矢量化
梁瀟
(延安大學(xué) 魯迅藝術(shù)學(xué)院,陜西 延安 716000)
手繪雕刻圖案有著復(fù)雜性的特點(diǎn),傳統(tǒng)的矢量化方法有著一定的局限性,基于以上,本文提出了一種基于分段Bezier曲線的手繪雕刻圖案矢量化方法,探討圖像邊界提取、圖像輪廓分析及矢量化的各個(gè)過程和技術(shù)要點(diǎn),旨在為相關(guān)研究和實(shí)踐提供參考.
分段Bezier曲線;角點(diǎn);曲線擬合;矢量化技術(shù)
在圖像處理和模式識(shí)別領(lǐng)域,圖像矢量化技術(shù)是重點(diǎn)和難點(diǎn),國內(nèi)對工程圖紙矢量化研究較多,但對手繪雕刻圖案矢量化的研究相對較少,尤其對于曲線不光滑、易受噪聲干擾的復(fù)雜手繪雕刻圖案來說,其曲線擬合計(jì)算量較大,擬合精度的控制難度較大,這就給其矢量化技術(shù)提出了更高的要求.解決手繪雕刻圖案矢量化問題對于傳統(tǒng)雕刻藝術(shù)的傳承和藝術(shù)雕刻數(shù)字化的實(shí)現(xiàn)等方面有著積極的意義,傳統(tǒng)的矢量化方法有著計(jì)算量大、算法不適合的局限性.基于以上,本文以分段Bezier曲線為基礎(chǔ),探討了手繪雕刻圖案矢量化的實(shí)現(xiàn)過程,旨在為相關(guān)研究和實(shí)踐提供參考.
以手繪雕刻圖案的特點(diǎn)為基礎(chǔ),將手繪雕刻圖案分為兩類信息,分別是區(qū)域圖案信息和線條圖案信息.對圖案進(jìn)行預(yù)處理,以自適應(yīng)方法來提取二值圖像區(qū)域和粗線條的邊界,設(shè)定5×5的矩陣算子S如下:
利用該算子對二值圖像進(jìn)行區(qū)域搜索匹配,設(shè)搜索到的相應(yīng)的大小區(qū)域?yàn)镾,,則其中心點(diǎn)為0,可以得到以下關(guān)系式:
在式中,T0代表設(shè)定的閾值,則可以認(rèn)為搜索到的該區(qū)域?yàn)閰^(qū)域圖案.
將區(qū)域中心點(diǎn)作為種子,以八連通算法為基礎(chǔ),確定與之相關(guān)聯(lián)的整個(gè)區(qū)域圖案,找出邊界點(diǎn)并置0,找出非邊界點(diǎn)并置1,這樣就可以得到區(qū)域圖案輪廓.從種子點(diǎn)出發(fā)進(jìn)行搜索和匹配不斷進(jìn)行圖像處理,從而獲得整個(gè)區(qū)域圖案的輪廓.如果區(qū)域不滿足上述關(guān)系式,則將此區(qū)域看作為線條圖案,對算子S和閾值T0大小進(jìn)行調(diào)整,這樣就能夠獲得不同屬性的區(qū)域輪廓圖案以及線條圖案[1].
在完成上述操作步驟之后,進(jìn)行圖像的細(xì)化處理工作,可以獲取整個(gè)圖像的輪廓邊界,這種圖像邊界提取方法能夠很好地暴露原圖像區(qū)域信息、邊界信息及線條信息,同時(shí)為后續(xù)矢量化處理奠定了基礎(chǔ).
以像素連續(xù)性為依據(jù)劃分圖案輪廓,分為多條獨(dú)立邊界,進(jìn)行邊界逐點(diǎn)跟蹤,提取數(shù)據(jù)點(diǎn)坐標(biāo),之后以角點(diǎn)檢測算法為基礎(chǔ),結(jié)合數(shù)據(jù)點(diǎn)坐標(biāo),檢測出每一條邊界的角點(diǎn).之后將邊界劃分為若干條線段,輪廓分段算法主要包括以下幾個(gè)步驟:
(1)對圖案二值圖像數(shù)據(jù)矩陣進(jìn)行處理之后,按照行列進(jìn)行逐點(diǎn)掃描,看像素值和背景像素是否相同,如果不同則轉(zhuǎn)到(2),如果相同則判斷下一個(gè)像素點(diǎn),在所有像素點(diǎn)都掃描判斷完成之后,轉(zhuǎn)到(4).
(2)以方向鏈碼為依據(jù),從得到的點(diǎn)開始來尋找下一個(gè)點(diǎn),如果該點(diǎn)在八鄰域中有≥兩個(gè)的目標(biāo)點(diǎn),即像素值和背景像素不一致的點(diǎn),則在數(shù)組中保存這個(gè)點(diǎn),如果只有一個(gè)鄰接目標(biāo)點(diǎn),則抹去該點(diǎn),并按照順時(shí)針或逆時(shí)針順序選取第一個(gè)目標(biāo)點(diǎn)作為下一個(gè)檢測點(diǎn)進(jìn)行檢測,進(jìn)入到(3).
(3)檢測得到的數(shù)據(jù)沒有鄰接點(diǎn),在數(shù)組中保存該點(diǎn)之后抹去,插入分隔符.
(4)得到若干條獨(dú)立線段,所有的輪廓信息都保存在這些線段中.相較于直接曲線擬合方式,這種分段擬合方法能夠有效降低時(shí)間維度的復(fù)雜度.
3.1 Bezier曲線控制點(diǎn)的定位
以三次Bezier曲線對數(shù)據(jù)點(diǎn)集合進(jìn)行表述,數(shù)據(jù)點(diǎn)集合設(shè)為P0,P1,P2……Pn,希望曲線與數(shù)據(jù)點(diǎn)之間的距離最小,三次Bezier曲線方程如下:
但是生活總是變化多端。原以為這樣的日子云淡風(fēng)輕,平淡到無人搭理,穩(wěn)定便是必然。卻不料平淡中也有風(fēng)云突起。
在公式中,Vk代表控制點(diǎn)集合,k的取值范圍為(0,1,2,3),假定P0和Pn是曲線通過的兩個(gè)點(diǎn),則可以得到P0=V0,PN=VN.對數(shù)據(jù)點(diǎn)到曲線的偏移量進(jìn)行定義,表示出一段曲線的總偏移量.將一個(gè)點(diǎn)集擬合為三次Bezier曲線Q(t,V),為了保證曲線與數(shù)據(jù)點(diǎn)之間的距離最小,求出D(t,V)的極小值,則可以計(jì)算出控制點(diǎn)V1和V2的值[2].
3.2 分段擬合與光滑連接
一般來說,利用一條Bezier曲線對一條復(fù)雜線段擬合的過程中,其數(shù)據(jù)點(diǎn)數(shù)量是達(dá)不到要求的,而在增加曲線控制點(diǎn)的過程中,則會(huì)導(dǎo)致Bezier曲線的階次提升,這就大大增加了計(jì)算量,提升了計(jì)算難度[3].對于手繪雕刻圖案來說,其大多有著復(fù)雜的線段,基于以上,本文決定采用三次Bezier樣條曲線來進(jìn)行描述,擬合曲線的過程中,通過設(shè)定的閾值來對曲線擬合精度進(jìn)行控制,具體算法步驟如下:
(1)以圖像大小和分辨率為基礎(chǔ),結(jié)合經(jīng)驗(yàn)來獲取總偏移量閾值T1,對T1進(jìn)行初始化,則可以將第一條線段數(shù)據(jù)點(diǎn)集合提取出來.
(2)根據(jù)一段曲線總偏移量公式計(jì)算出每一段曲線的總偏移量D(t,V),將D(t,V)與T1進(jìn)行對比,如果D(t,V)較大,則根據(jù)數(shù)據(jù)點(diǎn)到曲線偏移量定義公式來對該段每個(gè)數(shù)據(jù)點(diǎn)與曲線的偏移量di進(jìn)行計(jì)算,求出di的最大值對應(yīng)的數(shù)據(jù)點(diǎn),將其作為新的連接點(diǎn),以新的連接點(diǎn)為基礎(chǔ)將線段細(xì)分,分為兩端線段,對數(shù)據(jù)點(diǎn)集進(jìn)行保存,對新的連接點(diǎn)進(jìn)行記錄,之后轉(zhuǎn)到(2)中,進(jìn)一步細(xì)分,并記錄數(shù)據(jù).如果D(t, V)較小,則不需要再進(jìn)行細(xì)分步驟,直接轉(zhuǎn)到(3)中.
(3)對此線段控制點(diǎn)進(jìn)行計(jì)算之后可以得到一條擬合曲線,轉(zhuǎn)到(4).
(4)對下一條數(shù)據(jù)點(diǎn)集進(jìn)行提取,轉(zhuǎn)到(2)中,如果擬合完畢圖像中的所有線段,則轉(zhuǎn)入到(5)的結(jié)束環(huán)節(jié).
(5)結(jié)束環(huán)節(jié)中,利用分段三次Berzier曲線進(jìn)行擬合,曲線段Qi-1(t)連接點(diǎn)Pj處切線矢量為Qi-1(1)=Vi-1,2-Pj.曲線段Qi(t)連接點(diǎn)Pj處的切線矢量為Qi90)=Vi,1-Pj[4].要保證兩個(gè)曲線段在Pj點(diǎn)實(shí)現(xiàn)C1連續(xù)光滑連接,則需要調(diào)整控制點(diǎn)Vk-1,2和Vk,1,以此來保證Vk-1,2和Vk,1與Pj在同一條直線之上,本文以相對Pj點(diǎn)旋轉(zhuǎn)控制點(diǎn)為基礎(chǔ),獲取調(diào)整后的點(diǎn)V'k-1,2和V'k,1.
本文對手繪雕刻圖案矢量化的實(shí)驗(yàn)在Matlab6.5中實(shí)現(xiàn),以一個(gè)由1156個(gè)點(diǎn)的曲線為例,其圖像大小為289×244,利用坐標(biāo)跟蹤和角點(diǎn)提取算法,能夠得到20個(gè)角點(diǎn),并將曲線進(jìn)行分割,分割為20條線段進(jìn)行上述分段擬合算法,實(shí)現(xiàn)各個(gè)線段擬合,可以得到84個(gè)曲線連接點(diǎn),之后以調(diào)整算法為基礎(chǔ),保證曲線的光滑,在分段擬合和調(diào)整完成之后,將總偏移量閾值設(shè)為10,經(jīng)過擬合之后的曲線能夠?qū)υ€段的信息進(jìn)行真實(shí)、全面、有效的反映,視覺誤差符合要求[5].
綜上所述,手繪雕刻圖案有著復(fù)雜多變、曲線眾多的特點(diǎn),本文以分段三次Bezier曲線來進(jìn)行擬合,利用自適應(yīng)邊界提取方法來提取區(qū)域圖案和線條圖案的邊界,得到的圖像輪廓能夠充分反映出原圖像的幾何特征.在圖案矢量化的過程中,保證曲線段與最小偏移量擬合的光滑連接,實(shí)驗(yàn)證明,基于分段Bezier曲線的矢量化方法能夠較好的實(shí)現(xiàn)中國傳統(tǒng)手繪雕刻圖案的矢量化,矢量化速度和效果都符合要求,能夠?qū)崿F(xiàn)復(fù)雜手繪雕刻圖案的數(shù)字化加工,對后續(xù)3D建模也有著積極的意義.
〔1〕陳宇拓,韋冰,邱自華,丁燦劍.基于分段Bezier曲線的手繪雕刻圖案矢量化[J].計(jì)算機(jī)工程,2008(09):208-210.
〔2〕韋冰.手繪復(fù)雜雕刻圖案的矢量化研究[D].中南林業(yè)科技大學(xué),2007.
〔3〕沈惠芬.圖像區(qū)域的曲線描述及應(yīng)用研究[D].江南大學(xué), 2014.
〔4〕苗江波.基于圖像矢量化的機(jī)械手繪圖的研究[D].哈爾濱工業(yè)大學(xué),2008.
〔5〕安亞敏.新疆維吾爾族手工地毯圖案矢量化技術(shù)研究[D].新疆大學(xué),2013.
TP391.41
A
1673-260X(2017)02-0045-02
2016-12-11
省級課題2015年福建省高校藝術(shù)設(shè)計(jì)繁榮計(jì)劃類項(xiàng)目(4CX14108G)