林釗羽,曾旺紅
武漢理工大學
基于圖像處理的彩色漢信碼擴容研究
林釗羽,曾旺紅
武漢理工大學
漢信碼具有超強的漢字表示能力,信息容量高,抗污損能力強。本文以四進制為例,選取了色差較大的白、紅、藍、黑生成四色漢信碼,提高了信息容量。在彩色漢信碼譯碼過程中,通過RGB加權計算將色彩轉化成灰度值,利用自適應中值濾波算法去除噪聲且防止圖像失真。經(jīng)計算,四色漢信碼的信息容量為黑白漢信碼的兩倍,可用于編碼含大量漢字的隱秘信息。
彩色漢信碼;RGB模型;灰度化;自適應中值濾波
漢信碼是中國第一個具有完全自主知識產(chǎn)權的二維碼。相對市場上流通的二維碼,漢信碼有其優(yōu)越性:其漢字編碼能力超強,漢字信息編碼效率在現(xiàn)有二維碼中最高;信息密度大,編碼大量漢字字符時,相同內(nèi)容的漢信碼面積為快速響應二維碼面積的90%、數(shù)據(jù)矩陣碼的63.7%,是編碼漢字信息的首選碼制[3,4];抗污損、抗畸變能力強,漢信碼在碼圖放置和糾錯識讀算法方面進行了優(yōu)化。因此,漢信碼適合于中國市場。
二維碼的信息容量較一維碼有了可觀的提升,能描述更多的商品信息,但是其信息容量還是在一定程度上限制了其部分應用。漢信碼的獨特優(yōu)勢使其成為擴容的理想二維碼,為漢信碼增加更多顏色能達到擴容的效果。
2、彩色漢信碼的編碼設計
由于通用移動設備的分辨率限制,如果二維碼的圖片尺寸和密度過大,識別效率、識別結果將會受到影響。識別時間過長也會導致人們失去耐心。當然,對于尺寸大、密度高的二維碼,可以將位圖傳到電腦或移動設備的識讀器上進行解碼,不受設備精度影響,這樣一來,二維碼更多地起到加密的作用。
在研究編碼方案前,首先要明確編碼容量與數(shù)據(jù)容量的區(qū)別。編碼容量是指二維碼最多能表示的字符集中的字符數(shù)。而數(shù)據(jù)容量是指二維碼能夠存儲的最大信息量?,F(xiàn)有的二維碼中,QR碼、漢信碼均足已能夠表示常用漢字,提高編碼容量意義不大,而提高數(shù)據(jù)容量則為本論文研究重點。
2.1擴容方案
方案一:原本1個碼字包含8個模塊,每個模塊放置1個二進制位,改進為每個模塊放置更多的二進制位[3,4]。以每個模塊放入2個二進制位為例,則僅用一個碼字便可以表示原來兩個碼字才能表示的信息。每個模塊的數(shù)字位的可能取值為:00、01、10、11,普通漢信碼的黑白兩色不夠,需要增加到四種顏色表示這些可能的取值。
方案二:原本黑白兩色代表二進制數(shù)字0和1,現(xiàn)在更改編碼規(guī)則,使用n(n=2k,k=2、3、4…)種顏色代表n進制,即在將輸入信息轉換為數(shù)字位流的過程中,按一定規(guī)則編碼后,生成n進制序列作為字符編碼,模式指示符和結束符。每k位二進制數(shù)可以轉換為1位n進制數(shù),改進后彩色漢信碼的容量將為原來的k倍。漢信碼用手持設備掃描時,k不宜過大。本論文選取四進制(n=4)進行論述,二進制到四進制的數(shù)值轉換對應關系為:(00)bin-(0)qua、(01)bin-(1)qua、(10)bin-(2)qua、(11)bin-(3)qua。
兩種擴容方案的區(qū)別:方案一是在數(shù)據(jù)排布時進行空間壓縮,信息位流并沒有改變;方案二則通過使用更高的進制對信息位流進行壓縮,數(shù)據(jù)排布規(guī)則不變。方案二可同時提高編碼容量和信息容量,分別變?yōu)樵瓉淼模╪/2)k倍和k倍。本論文選用方案二。
2.2顏色的選取
顏色的選取是彩色二維碼研究的重要部分,既要保證圖像預處理對色彩易于分辨,即顏色區(qū)分度大,又要考慮顏色的協(xié)調性和美觀性。本文需要四種填充顏色,因此可以在普通漢信碼黑、白兩色的基礎上,添加兩種易于識別且相互之間不易干擾的顏色構成彩色二維碼。
我們知道,光的三原色是紅、綠、藍。這三種顏色不能由任何其他顏色混合產(chǎn)生,無法被分解,而且RGB顏色值差距大,任意兩種都可以作為彩碼的顏色填充顏色。為了確保識讀的準確性,本文選取相關性大的四種顏色——白、藍、紅、黑作為彩色二維碼的填充顏色,分別對應數(shù)據(jù)位流值0、1、2、3。
2.3彩色漢信碼編碼過程
漢信碼數(shù)據(jù)編碼模式有八種,包括:數(shù)字模式、Text模式、二進制字節(jié)模式、常用漢字一區(qū)模式、常用漢字二區(qū)模式、GB 18030雙字節(jié)區(qū)模式、GB 18030四字節(jié)區(qū)模式和ECI模式[1]。每種模式有對應的模式指示符和模式結束符,全部應轉換為四進制。
以常用漢字一區(qū)模式為例說明編碼規(guī)則。彩色漢信碼常用漢字一區(qū)模式的模式指示符為(10)qua,模式結束符為(333333)qua。其編碼對象共4074個,為GB 18030雙字節(jié)二區(qū)里第一字節(jié)在B0hex~D7hex、第二字節(jié)在A1hex~FEhex(共3760個)范圍內(nèi)的漢字或字符,以及GB 18303雙字節(jié)一區(qū)里第一字節(jié)在A1hex~A3hex、第二字節(jié)在A1hex~FEhex(共282個)和A8A1hex~A8C0hex(共32個)范圍內(nèi)的漢字或字符。
編碼步驟如下:
Ⅰ.若編碼對象在GB 18030雙字節(jié)二區(qū)里第一字節(jié)在B0hex~D7hex、第二字節(jié)在A1hex~FEhex范圍內(nèi):
(1)第二字節(jié)減去A1hex,得到結果a;
(2)第一字節(jié)減去B0hex,得到結果b;
(3)b乘以5Ehex,得到結果c;
(4)a與c相加,得到結果d;
(5)將d轉換為六位四進制序列。
Ⅱ.若編碼對象在GB 18303雙字節(jié)一區(qū)里第一字節(jié)在A1hex~A3hex、第二字節(jié)在A1hex~FEhex范圍內(nèi):
(1)第二字節(jié)減去A1hex,得到結果a;
(2)第一字節(jié)減去A1hex,得到結果b;
(3)b乘以5Ehex,得到結果c;
(4)a與c相加,再加上EB0hex,得到結果d;
(5)將d轉換為六位四進制序列。
Ⅲ.若編碼對象在GB 18303雙字節(jié)一區(qū)里在A8A1hex~A8C0hex范圍內(nèi):
(1)第二字節(jié)減去A1hex,得到結果a;
(2)a加上FCAhex,得到結果b;
(5)將b轉換為六位四進制序列。
計算出屬于常用漢字一區(qū)模式的漢字二進制序列后,按輸入順序依次連接,在其首尾分別加模式指示符和模式結束符,即構成常用漢字一區(qū)模式的信息位流[2]。
例如:讀取字符“全”,其字節(jié)值為C8ABhex,編碼過程如下:
(1)ABhex減去A1hex,得到結果0Ahex;
(2)C8hex減去B0hex,得到結果18hex;
(3)18hex乘以5Ehex,得到結果8D0hex;
(4)0Ahex與8D0hex相加,得到結果8DAhex;
(5)將8DAhex轉換為六位四進制序列(203122)qua。
3.1圖像預處理
彩色漢信碼的譯碼包括圖像預處理、功能尋像與符號定位、功能信息編碼、建立取樣網(wǎng)絡、恢復數(shù)字碼字序列、糾錯譯碼和信息譯碼等七個主要步驟[3]。由于顏色的增多,彩色漢信碼的圖像預處理相較普通漢信碼有所改變,其他的步驟基本等同于普通漢信碼的處理方式。
圖像預處理是條碼識別系統(tǒng)中不可或缺的一步。譯碼設備在對彩色二維碼譯碼前,需要對原圖進行獲取,這個步驟大多由光學鏡頭拍攝完成,因此,不可避免地會出現(xiàn)圖像失真。為了提高彩碼的識讀率,通過對圖像進行一系列的預處理,包括彩色圖像灰度化、降噪處理、邊緣檢測、輪廓提取等環(huán)節(jié)來解決圖像失真問題[6]。
3.2彩碼灰度化
在RGB模型中有三個顏色通道R(紅)、G(綠)、B(藍),三種顏色按不同比例疊加可以得到各種顏色。當三種顏色比例相同時,得到的就是一種灰度顏色,三種顏色比例相同時的值叫灰度值。三種顏色分量值的取值范圍是0-255,因此灰度值范圍為0-255。RGB顏色空間中過坐標原點的對角線就是灰度值線。
本文選用的四種顏色白、藍、紅、黑的亮度區(qū)分大,在灰度化后容易區(qū)分,灰度化處理簡化了譯碼過程,因此彩色圖像灰度化是一種可行而有效的圖像預處理方式。
人眼對不同的顏色有著不同程度的敏感度,根據(jù)實際情況對三種分量進行加權平均,得到灰度值W的計算公式,如公式1所示:
W=0.30R+0.59G+0.11B(公式1)
從上式可知,白色的灰度值是255,黑色的灰度值是0。
3.3降噪處理
光學設備所采集到的圖像一般會含有噪聲,干擾主要來自兩個方面:圖像的污損和光學采集設備的性能。由于目前的光學采集設備的硬件功能比較完善,這方面的干擾并不大。我們主要處理漢信碼圖像中的噪聲,常用的方法是中值濾波。中值濾波是一種典型的非線性濾波方法,能夠有效地處理脈沖信號。傳統(tǒng)的中值濾波其基本原理是把數(shù)字圖像中像素點的值用該點鄰域中各點的中值代替,從而消除噪聲點[3]。該方法濾波窗口大小固定,通常尺寸為3×3或5×5,濾波結果難以兼顧平滑性和圖像的細節(jié)性。
為了使采集的圖像能夠保持原圖細節(jié),我們選用改進后的自適應中值濾波算法。
首先定義如下符號:
Wxy:濾波窗口工作區(qū)域,設像素點坐標為(x,y);
Wmax:可選取的最大窗口;
Gxy:像素點(x,y)的灰度;
Gmax:Wxy中像素點灰度最大值;
Gmin:Wxy中像素點灰度最小值;
Gmed:Wxy中像素點灰度中值;
自適應中值濾波步驟:
(1)若Gmin (2)若Wxy (3)若Gmin 該算法通過判斷Gmin 很多人有這樣的經(jīng)歷,在書店看到感興趣的書,想要試讀一番以決定是否購買,但書店的書往往封裝良好,我們無法獲知圖書的更多信息。彩色漢信碼可以解決這一問題,為讀者提供圖書預覽功能。 圖書預覽是將圖書的部分信息轉換成二維碼印刷在書的封面上,讀者在不能拆封新書而想了解圖書的情況下,通過手持設備掃描彩色二維碼閱讀圖書信息。由于彩色漢信碼的信息容量在普通漢信碼的基礎上擴大了幾倍,例如本文中的四色漢信碼最多能存儲一千多個漢字,封面上的彩色漢信碼可以摘取書中的重點片段或圖書的目錄提供一定信息供讀者參考。 圖書預覽只是彩色漢信碼應用的一個領域。彩色漢信碼具有漢字壓縮表達能力強、保密性高、信息容量大、抗污損能力強等特點,適合于存儲大量漢字的場景,在信息傳輸、信息追蹤、信息管理等方面都有廣闊的應用前景。 本文提出兩種彩色漢信碼擴容思想,對比了兩種思想的差異,選取了可同時提高編碼容量的方案二,將編碼規(guī)則中的二進制改為四進制。在顏色選取方面,本文選取了區(qū)分度較大的四種顏色。譯碼時,通過將色彩灰度化簡化譯碼操作。本文采用了自適應中值濾波算法去除圖像中的噪音,防止圖片失真。實驗結果表明,擴容后的四色漢信碼信息容量為普通漢信碼的兩倍,有效提高了信息容量。從長遠看來,彩色漢信碼還可以編碼音頻和圖片信息,以實現(xiàn)更加廣泛的應用,這也是我們進一步的研究目標。 [1]中國物品編碼中心.GB/T 21049-2007中華人民共和國國家標準——漢信碼[S].北京:中國標準出版社,2007. [2]吳昊.國標漢信碼的分析與實現(xiàn)——編碼過程的設計與實現(xiàn)[D].北京:北京航空航天大學,2010. [3]李朝輝.基于圖像處理的彩色二維條碼的研究[D].天津:天津工業(yè)大學,2010. [4]袁遠松.具有高壓縮比漢字編碼能力的彩色二維條碼的設計與實現(xiàn)[D].杭州:浙江工業(yè)大學,2008. [5]張霞,葛蘆生.自適應中值濾波算法的研究與應用[J]微計算機信息,2007,06:217-218+237. [6]何成平,龔益民,俞亞珍.漢信碼圖像預處理技術及實現(xiàn)[J].包裝工程,2010,01:72-75. 林釗羽(1995-),女,民族:漢,湖北孝感人,學歷:本科在讀,主要研究方向:二維碼生成與識別; 曾旺紅(1994-),女,民族:漢,湖南常德人,學歷:本科在讀,主要研究方向:二維碼生成與識別。4 彩色漢信碼的應用
5 結束語