楊 飚,李錫放,張曾科
(1.北方工業(yè)大學,北京 100041;2.江蘇萬工科技集團有限公司,蘇州 215223; 3.清華大學 北京 100084)
織錦產(chǎn)品的每個色元都是一種紗線的顏色,由于受到機械結構和提花組織等因素的限制,提花織物所使用的紗線只能是3或4種顏色,最多5至6種顏色,因此在進行編織之前要對原始圖像進行分色,就是使用具有較少數(shù)目的顏色集來表示原彩色圖像,使得到的分色圖像與原彩色圖像在視覺上盡可能的接近,其技術特點是圖像處理中的顏色量化技術。但是紋織圖像的分色問題具有其自身獨特之處:首先,織物編織跟印刷不同,不能疊加,因此只能采用專色分色[1];其次,如前所述,使用的紗線顏色數(shù)很少,也就是說顏色量化后的顏色數(shù)很少,量化后的圖像顏色數(shù)越少,顏色量化難度也越大;第三,織錦表面與紙張、布料不同,并不是一個平面,而是凹凸的立體結構,顏色表現(xiàn)形式與印染有很大區(qū)別。實驗證明,采用一般的顏色量化算法處理這類問題,分色圖像與人工處理結果相差很大,存在顏色特征丟失、色彩飽和度不高、組織差異及色彩差異等缺點。
本文針對上述應用背景,重點針對織錦圖像的分色問題開展研究,提出符合噴氣織錦應用要求的紋織圖像分色算法,實現(xiàn)針對高速織錦行業(yè)的專門分色技術。
K均值聚類是一種非監(jiān)督學習算法,用于將給定的樣本集劃分為指定數(shù)目的聚類(假定為K類)。使用K均值聚類來決定圖像中每個點分色后的顏色值,其思想是:掃描圖像中各個像素點,計算該點與各個聚類中心的距離,歸入距離最小的類別中。用這種算法進行分色處理,能夠保存圖像的主要特征,但一些圖像的細節(jié)容易丟失,特別是色彩豐富、顏色過渡細膩的圖像,經(jīng)過這種算法處理后,圖像失真比較嚴重。因此加入抖動處理,即進行色差分散,對大多數(shù)的圖像處理效果會有明顯的改觀。
抖動處理技術是圖像處理中一項重要技術,主要用于分散色差,減少失真,最通用的帶濾波器[4]的抖動算法是由R.W.Floyd和L.Steinberg在1975年提出的。簡單來說,抖動處理技術就是跟據(jù)抖動模式圖將一點的色差分散到周圍幾個點上。我們使用如圖1所示的抖動算法模式圖[5]:
圖1 抖動算法模式圖
在該模式圖中,X周圍的數(shù)字表示X周圍各像素分配到X處顏色誤差的比例。模式圖中所有數(shù)字加起來為32,假設已知某像素與處理后的像素的色差為x,那么5/32×x將加到該像素右邊第1個像素上,3/32×x將加到該像素右邊第2個像素上,2/32×x將加到該像素左下第2個像素上,以此類推。
在進行聚類操作時要進行色差的度量,不同的色彩空間有不同的色差度量公式,這里選擇在RGB色彩空間中進行色差度量。每一種顏色在該色彩空間的位置,均由三個色彩空間坐標(R, G,B)表示,色彩空間的每個點均可以由一個向量表示:
兩個顏色向量xi=(ri,gi,bi)與xj=(rj,gj,bj)的相似度可以由其向量差E的范數(shù)距離D(xi, xj)表示:
其中,D(xi,xj)稱為色彩距離,為向量的范數(shù)。在聚類算法中,選擇何種范數(shù)是一個很重要的問題,經(jīng)過實際測試,選擇2-范數(shù),也就是歐式距離來計算兩種顏色的相似度:
范數(shù)越小,兩個色彩空間中的距離越短,即兩種色彩越相近。由于RGB色彩空間不是均勻線性空間,按照歐式距離最短原則得到的色彩分類并不完全符合人類的視覺對色彩的分類習慣,但歐式距離計算簡單,速度快,特別適合高分辨率的圖像,分色效果也滿足實際使用需要。
基于聚類算法和抖動處理技術的圖像分色處理算法的具體步驟如下:
1)指定分色目標m種顏色Ct(m≤6);
2)按行掃描圖像,計算當前點像素xi=(ri,gi,bi)與m個目標中心的距離,選擇其中最小的目標顏色的RGB向量Ctmin ;
3)計算Ctmin 與當前點RGB三個色彩通道的色差Diffi= xi?Ctmin ,用Ctmin 替換當前點 ;
4)按照前述抖動模式圖,分別對三個色彩通道進行單獨的抖動處理,將Diffi分散到周圍的點上;
5)掃描全圖結束,即得到分色后的結果圖。
下面以京劇頭像為例圖,該圖為20.7MB 的Bitmap圖像,含有2500×2895像素,原圖如圖3左上所示。在分色中選擇的聚類顏色為6種,分別為黑、白、黃、藍、紅、綠。
圖2右上所示為經(jīng)過直接K均值聚類后得到的圖像,即不進行抖動處理的結果圖??梢钥闯觯苯覭均值聚類只能得到原圖大概的輪廓,但是信息損失比較多,失去了原圖的層次和細節(jié)。
圖2左下為基于抖動矩陣的K均值聚類算法得到的分色圖像,即本算法的處理結果,距離公式采用的是歐式距離??梢钥闯?,該圖像保留了原圖大部分信息,能夠很好的體現(xiàn)出圖像的層次感和細節(jié)。
圖2 實驗圖與結果
圖3 局部放大
為了更好的說明圖像特性,將京劇頭像的右眼瞳孔部分放大,如圖3所示。其中圖3左上為原圖,右上為單純K均值聚類后效果,左下為K均值聚類結合抖動算法。從放大圖中可以更清晰地看到,經(jīng)過上述算法后得到的分色圖像雖然外觀與原圖非常近似,但圖像中每個點實際都是由黑、白、黃、藍、紅、綠這6種目標色組成的。
用該算法編制成圖像分色軟件,對二十幾幅圖像進行了分色,并根據(jù)分色結果編織出成品。平均分色時間小于10秒(P41.8G,512MB內(nèi)存),編制出的產(chǎn)品外觀與輸入圖像基本一致,顏色細節(jié)得到了很好的呈現(xiàn),色彩過度也十分自然。實際織造結果表明,該分色算法能夠滿足實際使用需要,并達到了國內(nèi)先進水平。
本文針對織錦行業(yè)的分色需要,提出了一種基于RGB空間色彩度量K均值聚類算法與抖動處理技術的紋織圖像分色算法。經(jīng)過實驗結果驗證表明,和單純K均值聚類算法相比,本算法在一定分色數(shù)量下可以大大提高分色圖像的質量。同時,將此算法運用到織錦工業(yè)的實際生產(chǎn)中,已經(jīng)取得滿意的效果。
[1]葛敏,孟祥旭,龔斌.面向專色工藝的彩色圖像分色及印制方法[J].北京:軟件學報, 2002, 13(12):2281-2285.
[2]徐汀榮.電腦分色系統(tǒng)幾個核心算法的設計[J].計算機科學,1999,26.
[3]韓世紅.抖動技術在紡織品CAD/CAM 中的應用[J].西安:西北紡織工學院學報,1995,9(2):141-143.
[4]史文革.微機圖像格式大全[M].北京:海洋出版社,1992.
[5]朱自蘭.基于視覺特性的色彩量化算法及其應用研究[M].北京:國防科學技術大學,2006.