張宏橋,曾曉華,郭旭升,李翔
(湘南學(xué)院電子信息與電氣工程學(xué)院,郴州423000)
針對(duì)彩圖的顏色量化是圖像處理領(lǐng)域的基本技術(shù),它主要是從真彩圖的上萬(wàn)種顏色中分析并提取出較少數(shù)目的代表性顏色,并利用其作為圖像特征或者作為調(diào)色板重構(gòu)出對(duì)應(yīng)的索引圖,最終目標(biāo)是使索引圖與原圖之間的差距最小[1]。顏色量化在圖像處理領(lǐng)域有著很多的重要作用,如圖像壓縮、圖像存儲(chǔ)、圖像分割[2]、圖像復(fù)原等。
圖像色彩量化的關(guān)鍵是獲取圖片中人類直覺(jué)上感興趣區(qū)域的相關(guān)信息,這類區(qū)域往往有著較高的顯著度,人們希望這些區(qū)域具有較好的質(zhì)量,而其他顯著度較低區(qū)域的圖像質(zhì)量可以容忍一定程度上的降低[3]。本文主要對(duì)顏色數(shù)遠(yuǎn)大于256 種的RGB 真彩圖進(jìn)行索引圖生成,將提取的索引色限制在256 種以內(nèi)。主要過(guò)程如下:首先針對(duì)色彩空間提出了一種新的顏色顯著度模型,并利用該模型生成原圖的顯著度圖;然后結(jié)合量化灰度、邊緣紋理等信息進(jìn)行索引色的提取與優(yōu)化,最后對(duì)索引圖用抖動(dòng)算法進(jìn)行平滑處理。
本文基于HSV 彩色空間提出了一種針對(duì)彩色信息的顯著度模型:
其中,s 與v 分別為歸一化的飽和度和明度分量,圖1 顯示了不同顏色對(duì)應(yīng)的顯著度,上半部分為彩色圖,下半部分為對(duì)應(yīng)的顯著度,顯著度接近1 越亮,接近0 越暗,可以看出該模型對(duì)灰度并不敏感。
圖1 不同顏色下的顯著度
為了降低雜色的影響,首先對(duì)原圖I 的RGB 三通道Ir、Ig、Ib分別做9×9 窗口的中值濾波,然后重新合成濾波通道得到濾波彩圖I1[4]。記圖像的長(zhǎng)寬為h×w 像素,最后利用式(1)對(duì)I1每個(gè)像素進(jìn)行計(jì)算,并得到顯著圖P,需要注意濾波后的某些顏色不屬于原圖。處理效果如圖2、3、4 所示(本文所處理的圖片均來(lái)自免版權(quán)圖片網(wǎng)站streetwill.co),其中圖2 有126278 種顏色,寬高為1000×666。
圖2 待處理原圖I
圖3 中值濾波圖I1
圖4 對(duì)應(yīng)顯著度圖P
紋理是反映一個(gè)圖像信息的重要內(nèi)容,為保留更多紋理處的色彩信息,本文利用原圖I 對(duì)應(yīng)的灰度圖G來(lái)獲取邊緣紋理圖E,其中G 與E 的計(jì)算方式如下所示:
其中e1、e2為當(dāng)前與左上位置、正上與左側(cè)位置的灰度差值圖,E 的效果如圖6 所示。
圖5 灰度圖G
圖6 紋理圖E
對(duì)于彩色圖片中大量的顏色,本文首先利用灰度直方圖對(duì)灰度進(jìn)行量化[5],然后按量化后灰度進(jìn)行顏色分類,最后按類別進(jìn)行顏色提取。首先記圖G 的256級(jí)灰度直方圖為H256,利用H256重心的水平位置將自身劃分為左右兩部分,完成256 級(jí)到2 級(jí)灰度的量化,接著對(duì)分割出的左右子直方圖用同樣的方式劃分,重復(fù)此過(guò)程則可得到4 級(jí)、8 級(jí)、16 級(jí)、32 級(jí)、64 級(jí)、128 級(jí)的量化灰度,圖7 展示了基于子直方圖重心把灰度級(jí)從256 量化到8 級(jí)的過(guò)程。
圖7 直方圖灰度量化過(guò)程
對(duì)于灰度級(jí)為N 的直方圖HN,其重心水平位置C的計(jì)算方法如式(4)所示,其中floor 為取整運(yùn)算,c(i)為HN橫軸第i 個(gè)位置的灰度級(jí),HN(i)為該灰度級(jí)下像素的個(gè)數(shù)。
本文將G 量化為16 個(gè)灰度級(jí),并把量化圖記作G16,量化圖中各像素的取值范圍為[0,15],對(duì)應(yīng)的量化灰度區(qū)間如圖8 所示,灰度歸一化后的量化效果如圖9所示??梢钥闯隽炕髨D片與圖G 較為接近,但在玻璃處灰度漸變部分已經(jīng)出現(xiàn)龜裂。
圖8 灰度H256與量化灰度H16
圖9 量化灰度圖G16
本文按16 個(gè)量化灰度級(jí)對(duì)顏色分類,產(chǎn)成16 個(gè)待取色列表Qn,n∈[0,15],每個(gè)列表存放相應(yīng)量化灰度的顏色,并按照顯著度從大到小排序。具體取色過(guò)程如下:掃描圖E,對(duì)于非零位置(x,y),其對(duì)應(yīng)的G16(x,y)即為取色列表的分類,記作n,將I1(x,y)的顏色按P(x,y)的大小插入到Qn中,記列表Qn的長(zhǎng)度為L(zhǎng)Qn。掃描完成后,每個(gè)列表從第一個(gè)位置進(jìn)行取色,其中Qn的取色間隔為floor(LQn/16),若間隔為0,則不在該列表取色,否則在當(dāng)前列表按間隔距離取色16 次。索引色提取期間將所有采樣顏色記錄在索引色表CT 中,注意在采樣過(guò)程中不記錄重復(fù)色,CT 顏色的數(shù)目記作LCT且
由于CT 中某些顏色可能不在原圖I 中,所以需要使用上一步得到的CT 對(duì)I 進(jìn)行索引圖J 的重構(gòu),并在重構(gòu)后刪除CT 中未使用的顏色。具體過(guò)程如下:掃描圖I 所有位置,對(duì)于顏色I(xiàn)(x,y),在CT 中找到與其距離Dist 最近的索引色CT(idx),則J(x,y)為最近距離顏色在CT 中的下標(biāo)idx,最后在CT 中刪掉此過(guò)程中沒(méi)有用到的顏色。其中顏色[r1,g1,b1]與[r2,g2,b2]距離Dist 的計(jì)算方法如下:
圖10 初次重構(gòu)的索引圖J
若經(jīng)上步后LCT仍小于256,則需從圖I 中補(bǔ)充最多256-LCT個(gè)顏色到CT 中。過(guò)程如下:首先根據(jù)I 與J獲取色差二值圖D。D(x,y)的計(jì)算方法如式(6),其中max 為取最大值運(yùn)算,Thr 為二值化閾值,本文為58。此外,為了減少孤立點(diǎn)的干擾,需進(jìn)一步對(duì)D 進(jìn)行7×7窗口的中值濾波,效果如圖12 所示。
圖11 色差二值圖D
圖12 中值濾波后的圖D
然后掃描濾波后的圖D,若D(x,y)非零,則將I(x,y)加入到補(bǔ)充顏色列表R 中,列表長(zhǎng)度記作LR。同Qn類似,列表R 也按顏色的顯著度從大到小排序,不同的是要將所有灰度級(jí)的顏色均插入到R 中。
最后,若LR>0,則從R 的第一個(gè)位置開(kāi)始采樣,且采樣間隔為max(1,floor(LR/(256-LCT)),采樣次數(shù)為floor(LR/采樣間隔)。
在補(bǔ)充過(guò)程中,如果R 中采樣到的顏色已在CT中,則忽略該顏色,所以該過(guò)程結(jié)束后,LCT仍有可能小于256。
至此,本文對(duì)原圖I 完成了最終索引色的提取,并利用最后的CT 再次重構(gòu)索引圖J。圖13 為圖2 最終提取到的256 色調(diào)色板,重新生成的J 如圖14 所示,可看出在亮度與色彩上J 與I 基本一致。
圖13 索引色調(diào)色板
圖14 抖動(dòng)處理前的索引圖J
如需獲取視覺(jué)效果較好的索引圖,則還要對(duì)漸變色進(jìn)行抖動(dòng)處理。由于灰度級(jí)的減少,圖像的漸變效果會(huì)變差,甚至產(chǎn)生龜裂現(xiàn)象。為解決這個(gè)問(wèn)題,本文采用網(wǎng)格抖動(dòng)技術(shù)對(duì)邊緣過(guò)渡段進(jìn)行處理,具體過(guò)程如下:
首先,根據(jù)CT 生成LCT×LCT大小的抖動(dòng)顏色表DT,計(jì)算方式見(jiàn)式(7),其中i 與j 均為大于等于0 且小于LCT的整數(shù)。
然后,以網(wǎng)格的形式掃描圖E,即掃描位置(x,y)滿足x%2==y%2 且1≤x 最后在J(x,y),J(x-1,y-1),J(x-1,y),J(x,y-1)四個(gè)位置,等概率的隨機(jī)選擇一處,并將索引值替換為jm即可。最終抖動(dòng)后的效果如圖15 所示,可以看出與圖2所示的紋理與顏色均較為接近。 圖15 抖動(dòng)后的索引圖J 包含圖2,本文主要處理了四類不同風(fēng)格的圖像,大小均為1000×666,處理效果如下所示,左側(cè)為原圖,右側(cè)為生成的索引圖。 表1 中列出了原圖I 與抖動(dòng)索引圖J 之間的不同通道的色差,使用均方誤差MSE 進(jìn)行計(jì)算[6]。計(jì)算方式如式(9)所示,其中MSEr、MSEg、MSEb與MSEall分別為紅色、綠色、藍(lán)色通道以及所有通道的平均色差。 圖16 遠(yuǎn)景圖索引化 圖17 城市夜景圖索引化 圖18 植物近景圖索引化 表1 索引圖與原圖色差表 從主觀視覺(jué)上看,顏色量化后的索引圖對(duì)原圖色彩的損失度還在可以接受的范圍內(nèi)。從客觀數(shù)據(jù)表1可以看出,生成的索引圖對(duì)人眼較為敏感的綠色通道色差較小,而對(duì)人眼不敏感的藍(lán)色通道色差一般較大,總體上符合人類對(duì)顏色的感知情況且通道色差均較小,證明了該算法的有效性與實(shí)用性。 本文首先對(duì)濾波彩圖利用自定義的顏色顯著度計(jì)算得到顯著度圖,同時(shí)獲取原圖的灰度圖及其量化灰度圖;接著針對(duì)灰度圖的紋理位置處對(duì)應(yīng)的彩色信息,按照量化灰度與顯著度進(jìn)行分類排序,生成待取色列表并從中獲取索引色表;然后再次利用以上信息對(duì)索引色表進(jìn)行優(yōu)化;最后用優(yōu)化后的索引色表對(duì)原圖進(jìn)行重構(gòu),并利用網(wǎng)格抖動(dòng)算法處理邊緣位置的龜裂現(xiàn)象。實(shí)現(xiàn)了從一個(gè)多顏色種類圖像到256 索引色圖像的一套生成方法,并通過(guò)索引圖與原圖的顏色距離對(duì)比,驗(yàn)證了該算法在圖像信息壓縮、索引色提取等相關(guān)技術(shù)上的可用性與有效性。3實(shí)驗(yàn)結(jié)果
4 結(jié)語(yǔ)