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