• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Zxing的彩色QR碼生成與識別方法

      2016-09-14 07:26:43陳元枝史紹亮姜文英
      關(guān)鍵詞:碼字二進制條碼

      陳元枝,鄧 艷,史紹亮,姜文英

      (1.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004;2.中國科技開發(fā)院廣西分院,南寧 530012)

      ?

      基于Zxing的彩色QR碼生成與識別方法

      陳元枝1,鄧艷1,史紹亮2,姜文英1

      (1.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林541004;2.中國科技開發(fā)院廣西分院,南寧530012)

      針對黑白條碼數(shù)據(jù)容量小、信息嵌入能力不足等問題,在Zxing的基礎(chǔ)上設(shè)計了一種彩色QR碼的生成和識別方法。該方法利用2k種二進制組合對數(shù)據(jù)信息進行編碼,對應(yīng)k種不同的編碼顏色,利用二進制值與十進制值之間的轉(zhuǎn)換實現(xiàn)準確的顏色識別,編碼顏色可任意選取,不需要利用參考顏色處理顏色模塊邊緣的混疊效應(yīng),計算復(fù)雜度大幅降低。實驗結(jié)果表明,基于Zxing的彩色QR碼不僅擴充了數(shù)據(jù)容量,而且保留了黑白QR碼的可靠性和魯棒性。

      彩色QR碼;數(shù)據(jù)容量;編碼;條碼識別;Zxing

      近年來,彩色條碼成為信息嵌入技術(shù)之一,顏色的使用大大提高了黑白條碼的數(shù)據(jù)容量。研究者為了提高二維碼的數(shù)據(jù)容量進行了大量的研究。Han[1]首次提出了彩色二維碼ColorCode,利用參考顏色克服了顏色保真度的問題,為區(qū)分每種顏色提供了標準的顏色參考,為彩色二維碼的發(fā)展奠定了基礎(chǔ)。微軟公司開發(fā)了高容量的彩色條碼[2](high capacity color barcode,簡稱HCCB),HCCB碼采用不同顏色的三角形編碼數(shù)據(jù),提高了數(shù)據(jù)容量并減小了條碼元素的尺寸,但HCCB碼掃描的魯棒性較差。彩色PM(paper memory)碼[3]利用獨特的層狀結(jié)構(gòu)提高了數(shù)據(jù)容量,但解碼時對設(shè)備分辨率要求過高。Kato等[4]提出的移動多彩色復(fù)合碼(mobile multi-color composite,簡稱MMCC)選取的編碼顏色最大限度地分離RGB顏色立方體的黑、紅、青、白平面,數(shù)據(jù)容量增加至黑白QR碼的4倍,但MMCC碼無法正確解碼褶皺或邊緣彎曲的失真符號。Querini等[5]在黑白QR碼的基礎(chǔ)上研發(fā)了高容量的彩色二維碼(high capacity colored 2-dimensional code,簡稱HCC2D),它將調(diào)色板均勻分布在QR碼的四周,解決了HCCB碼的檢測和校準問題,但其數(shù)據(jù)容量略小于HCCB碼,解碼的正確率取決于彩色打印機的分辨率。

      由于彩色條碼觀察到的顏色取決于條碼表面的反射率和未知光源的光譜,彩色二維碼主要利用參考顏色處理偏色問題,導(dǎo)致計算復(fù)雜度明顯增加、解碼正確率不高。為了避免顏色模塊邊緣的混疊效應(yīng),要求編碼顏色在RGB空間相距最遠,以提高顏色的辨識度。為此,在Zxing[6]的基礎(chǔ)上設(shè)計了一種彩色QR碼的生成和識別方法,彩色QR碼的數(shù)據(jù)容量相比黑白二維碼和同類型的彩色二維碼均有明顯的優(yōu)勢。將生成的彩色QR碼保存為PNG格式后,編碼顏色可以任意選取,無須利用參考顏色處理彩色QR碼的偏色問題,計算復(fù)雜度明顯降低。

      1 彩色QR碼簡介

      1.1PM碼

      2005年,日本專利局提出彩色PM碼。PM碼利用獨特的層狀結(jié)構(gòu)顯著地提高了數(shù)據(jù)容量,PM碼有多層且每層都是單色的QR碼,PM碼表層的顏色模塊可能呈現(xiàn)2種顏色,一種是單個碼層的顏色,另一種是多層疊加后合成的顏色。當合成的顏色與單層的顏色一樣時,合成的顏色將根據(jù)PM碼的轉(zhuǎn)換算法,在RGB和HSB兩個顏色空間之間將其轉(zhuǎn)換成指定的顏色。PM碼的顏色轉(zhuǎn)換算法連同包含在條碼表層的索引信息,使解碼軟件能夠檢測每層顏色模塊是否存在,繼而解碼每層的數(shù)據(jù),最終解碼PM碼。

      1.2CQR碼

      受PM碼多層二維碼的啟發(fā),Nurwono等[7]提出了CQR碼(color quick response code),CQR碼將待編碼的數(shù)據(jù)分成3組,采用第三方編碼軟件分別生成3個黑白QR碼,并設(shè)定第1層QR碼為紅色,第2層QR碼為綠色,第3層QR碼為藍色,用Adobe Photoshop將3個單色QR碼疊加,疊加后同一像素點的顏色值相加,最后將整個圖像的顏色值反轉(zhuǎn)生成CQR碼。解碼時,遍歷由手機采集的CQR碼,得到每個像素點的RGB值,分離并解碼單層QR碼,最后將3個單色QR碼的解碼結(jié)果級聯(lián),顯示解碼結(jié)果。雖然CQR碼能儲存9 KB數(shù)據(jù),但是在保證光源、拍攝角度、拍攝距離、手機像素等實驗條件下平均解碼正確率僅為63%。

      1.3HCC2D碼

      Grillo和Querini共同研發(fā)了HCC2D碼,HCC2D碼在擴充條碼容量的同時,保留了黑白QR碼的可靠性和魯棒性。HCC2D碼能支持不同類型和不同長度的數(shù)據(jù),根據(jù)輸入數(shù)據(jù)的長度自適應(yīng)選擇條碼的維度。因為HCC2D碼的位置探測圖形、分隔符、定位圖形、校正圖形、格式信息以及版本信息均與黑白QR碼一致,所以HCC2D與黑白QR碼兼容。HCC2D碼的數(shù)據(jù)容量僅次于HCCB碼,但其解決了HCCB碼的檢測和校準問題。

      2 彩色QR碼的生成與識別

      2.1彩色QR碼的設(shè)計思路

      黑白QR碼每個模塊只能容納1位二進制數(shù)據(jù),通常白色用“0”表示,黑色用“1”表示。若每個模塊放入2位二進制數(shù)據(jù),則有4種不同的組合,“00”、“01”、“10”、“11”分別表示4種顏色。例如,二進制數(shù)據(jù)為11001100,若采用黑白QR碼,則需要存入8個模塊,但采用4色QR碼,每次讀取2位二進制數(shù)據(jù),并將其轉(zhuǎn)換為1位十進制數(shù)據(jù),即11→3,00→0,11→3,00→0,然后將4位十進制數(shù)據(jù)存入4個模塊,即4色QR碼的數(shù)據(jù)容量為黑白QR碼的2倍。將這個結(jié)論推廣,若每個模塊放入k(k≥2)位二進制數(shù)據(jù),則彩色QR碼采用2k種顏色表示,數(shù)據(jù)容量為黑白QR碼的k倍。

      2.2彩色QR碼相對黑白QR碼的變化

      為了確保彩色QR碼的可靠性和魯棒性,4色QR碼保留了黑白QR碼的功能圖形、格式信息和版本信息區(qū)域,由于3個區(qū)域占QR碼的面積比例很小,提高QR碼的數(shù)據(jù)容量僅在數(shù)據(jù)和糾錯碼字區(qū)域進行。隨著顏色種類的增加,單位面積的數(shù)據(jù)容量隨之增大。假設(shè)編碼采用的顏色數(shù)為2k種,則每個模塊可儲存的比特數(shù)為k。

      碼字總數(shù)、剩余位、數(shù)據(jù)碼字數(shù)、糾錯碼字數(shù)、糾錯塊數(shù)等均為黑白QR碼的k倍。當k=1時,QR碼采用黑白兩色編碼;當k=2時,QR碼采用4種顏色編碼,以此類推。為了簡化計算,彩色QR碼以4種顏色為例,低版本黑白QR碼和彩色QR碼的數(shù)據(jù)容量如表1所示。

      表1 低版本黑白QR碼和彩色QR碼的數(shù)據(jù)容量

      與黑白QR碼相比,彩色QR碼的數(shù)據(jù)密度更高,因此彩色QR碼的字符計數(shù)指示符的位數(shù)需要相應(yīng)增加。如表2所示,彩色QR碼數(shù)字模式、字母數(shù)字模式、中國漢字模式的字符計數(shù)指示符位數(shù)為n+[k/2],其中,n為黑白QR碼的字符計數(shù)指示符的位數(shù)。彩色QR碼8位字節(jié)模式的字符計數(shù)指示符的位數(shù)均為16。

      表2 黑白QR碼和彩色QR碼字符計數(shù)指示符的位數(shù)

      2.3彩色QR碼生成舉例

      將“12345678”編碼為版本1-L的4色QR碼的步驟為:

      1)根據(jù)表1和表2擴充4色QR碼的數(shù)據(jù)容量和字符計數(shù)指示符的位數(shù)。

      2)根據(jù)待編碼內(nèi)容選擇編碼模式為數(shù)字模式。

      3)根據(jù)QR碼數(shù)字模式的編碼規(guī)則,將“12345678”編碼為27位二進制數(shù)據(jù),即12345678→000111101101110010001001110。

      4)由數(shù)據(jù)碼字流的字節(jié)數(shù)為4,確定彩色QR碼的版本號為1、糾錯等級為L、碼字總數(shù)為52、數(shù)據(jù)碼字數(shù)為38、糾錯碼字數(shù)為14以及糾錯的塊數(shù)為2。

      5)連接數(shù)字模式的模式指示符0001、字符計數(shù)指示符00000001000和二進制數(shù)據(jù),適當添加終止符0000、填充位00和填充碼字。

      6)采用Reed-Solomon算法對數(shù)據(jù)碼字流進行分塊糾錯,形成糾錯碼字流。塊1的數(shù)據(jù)碼字為{16,16,61,-71,19,-128,-20,17,-20,17,-20,17,-20,17,-20,17,-20,17,-20};塊1的糾錯碼字為{-32,21,90,-1,-45,121,1};塊2的數(shù)據(jù)碼字為{17,-20,17,-20,17,-20,17,-20,17,-20,17,-20,17,-20,17,-20,17,-20,17};塊2的糾錯碼字為{-47,8,-15,30,-67,103,0}。

      7)根據(jù)QR碼符號中字符的布置規(guī)則,構(gòu)造信息的最終碼字序列。

      8)填充功能圖形區(qū)域,包括尋像圖形、分隔符、定位圖形、校正圖形區(qū)域,黑色用3填充,白色用0填充。

      9)填充格式信息和版本信息,黑色用3填充,白色用0填充。

      10)對數(shù)據(jù)和糾錯碼字區(qū)域進行掩膜。

      11)根據(jù)QR碼符號字符的排列規(guī)則,在步驟9)、10)的基礎(chǔ)上填充數(shù)據(jù)碼字和糾錯碼字,每次讀取2位二進制數(shù)據(jù),將其轉(zhuǎn)換為十進制數(shù)據(jù),填充到矩陣元素aij=0,1,2,3的21×21階矩陣。

      12)根據(jù)顏色映射表,將矩陣元素0映射為白色、1映射為青色、2映射為紅色、3映射為黑色,生成4色QR碼,并將4色QR碼圖像保存為PNG格式的圖像。

      2.4彩色QR碼識別舉例

      編碼內(nèi)容為“12345678”的4色QR碼的解碼步驟為:

      1)加載并遍歷4色QR碼圖像。由于圖像保存為PNG格式,可得到每個像素點的RGB值,并將90 000個像素點的RGB值一一映射為0、1、2、3。

      2)將圖像二值化。

      3)檢測尋像圖形是否存在。若成功檢測尋像圖形,則返回3個位置探測圖形中心點的坐標,進入步驟4),否則進入步驟12)結(jié)束本次解碼。

      4)由3個位置探測圖形中心點的坐標,計算每邊的模塊數(shù),即版本號,若版本號大于等于2,則返回校正圖形中心點的坐標。

      5)利用透視變換得到柵格化的QR碼,矩陣元素僅為0、1、2、3。

      6)根據(jù)預(yù)設(shè)的顏色映射表,識讀格式信息和版本信息。

      7)消除掩膜,恢復(fù)數(shù)據(jù)碼字和糾錯碼字。

      8)采用糾錯碼字進行錯誤檢查。若發(fā)現(xiàn)錯誤,則進入步驟9);否則進入步驟10)。

      9)根據(jù)接收碼字多項式,計算伴隨式并求解錯誤位置,對每個錯誤位置取反,以實現(xiàn)分塊糾錯。

      10)根據(jù)模式指示符和字符計數(shù)指示符,將數(shù)據(jù)碼字劃分為多個部分,按照使用的模式譯碼。

      11)根據(jù)數(shù)據(jù)碼字譯碼結(jié)果,輸出源數(shù)據(jù)信息流。

      12)結(jié)束解碼。

      3 性能比較與分析

      3.1數(shù)據(jù)容量

      黑白QR碼與彩色QR碼版本40-L的數(shù)據(jù)容量見表3。由于4色QR碼每個模塊儲存了2位二進制數(shù)據(jù),而黑白QR碼每個模塊僅儲存1位二進制數(shù)據(jù),隨著彩色二維碼字符計數(shù)指示符位數(shù)的增加,4色QR碼的數(shù)據(jù)容量約為黑白QR碼的2倍。

      表3 黑白QR碼與彩色QR碼版本40-L的數(shù)據(jù)容量

      6種二維碼的最大數(shù)據(jù)容量見表4。由表4可知,4色QR碼的數(shù)據(jù)容量遠大于Data Matrix、PDF417以及黑白QR碼。與關(guān)濤[8]設(shè)計的4色DM碼和賈華國等[9]設(shè)計的具有高壓縮比漢字編碼能力的6色DM碼相比也有明顯的優(yōu)勢。

      表4 6種二維碼的最大數(shù)據(jù)容量

      3.2顏色識別

      隨機選取RGB顏色立方體的4個對角線平面WYBK(white、yellow、blue、black)、WGMK(white、green、magenta、black)、WCRK(white、cyan、red、black)、YCRB(yellow、cyan、red、blue)對“桂林電子科技大學(xué)”采用4種不同顏色編碼生成的彩色QR碼,如圖1所示。圖1均為版本1、糾錯等級為L的4色QR碼。

      圖1 彩色QR碼示例Fig.1 Example of color QR code

      從圖1可看出,4色QR碼的編碼顏色可以任意選取,不要求編碼顏色在RGB顏色立方體中的距離最遠以提高顏色的辨識度,任意4種顏色均可正確解碼。這是因為編碼后的矩陣元素0、1、2、3與顏色映射表中顏色一一對應(yīng),而編碼生成的彩色QR碼圖片保存為無損壓縮格式PNG,確保解碼能精確地識別每個模塊的RGB值,并將RGB值與預(yù)先設(shè)定的顏色映射表中數(shù)值一一對應(yīng),4色QR碼每次讀取2位二進制數(shù),并將其轉(zhuǎn)化為1位十進制數(shù),能精確地識別顏色,且編碼顏色可任意選取。

      3.3計算復(fù)雜度

      主流的彩色條碼利用參考顏色作為調(diào)色板來辨別顏色模塊,并采用一種自適應(yīng)的顏色閾值算法處理偏色問題,將每個顏色模塊與參考顏色對比得到偏色范圍,然后定義顏色區(qū)間,最后對圖像進行偏色糾正,彩色條碼的計算復(fù)雜度相對黑白條碼大幅增加,且顏色區(qū)間決定了解碼正確率的高低。顏色區(qū)間過大,不同色調(diào)的顏色將歸為同種顏色;顏色區(qū)間過小,不同光照條件下的同種顏色將解碼為不同顏色。編碼顏色在RGB顏色空間中相距越遠,顏色的辨識度越高,因此主流彩色條碼的編碼顏色數(shù)受到限制。主流的彩色條碼圖片保存為有損壓縮格式JPEG,相鄰顏色模塊容易受到顏色混疊的影響,將調(diào)色板作顏色匹配容易造成解碼錯誤。

      為了減小計算復(fù)雜度,提高數(shù)據(jù)容量和解碼正確率,不進行偏色處理。彩色QR碼從電子檔變成紙質(zhì)檔涉及顏色空間的轉(zhuǎn)換,色域的不同將導(dǎo)致顏色信息的丟失,雖然該方法不支持掃描紙質(zhì)檔的彩色QR碼,但能夠準確地識別顏色,無需采用參考顏色處理顏色模塊邊緣的混疊效應(yīng),導(dǎo)致計算量顯著減少,且編碼顏色可任意選取。編碼顏色數(shù)目也將不受限制,隨著編碼顏色種類的增多,數(shù)據(jù)容量將顯著提升。

      4 結(jié)束語

      在Zxing的基礎(chǔ)上設(shè)計了一種彩色QR碼的生成和識別方法,該方法生成的4色QR碼的數(shù)據(jù)容量為黑白QR碼的2倍,等于4色HCCB碼,略大于4色HCC2D碼,數(shù)據(jù)容量與4色或6色的DM碼相比有明顯的優(yōu)勢。彩色QR碼的編碼顏色可以任意選取,彩色QR碼解碼對環(huán)境光照無特殊要求,通過二進制數(shù)據(jù)與十進制數(shù)據(jù)的相互轉(zhuǎn)換,能準確地識別顏色,無需采用調(diào)色板匹配顏色模塊,計算復(fù)雜度大大降低。

      [1]CHEOL-HO C,EUN-DONG S,NAM-KYU L,et al.Machine readable code image and method of encoding and decoding the same:United States,7020327[P].2002-03-07.

      [2]Microsoft Research.High capacity color barcode [EB/OL].(2007-03-19)[2015-11-25].http://research.microsoft.com/projects/hccb.

      [3]ONODA T,MIWA K.Hierarchized two-dimensional code, creation method thereof, and read method thereof:European,1916619[P].2011-05-25.

      [4]KATO H, TAN K T, CHAI D. Novel colour selection scheme for 2D barcode[C]//IEEE International Symposium on Intelligent Signal Processing and Communication Systems,2009:529-532.

      [5]QUERINI M,GRILLO A,LENTINI A,et al. 2D color barcodes for mobile phones[J].International Journal of Computer Science and Applications,2011,8(1):136-155.

      [6]CROSSING Z.Multi-format 1d/2d barcode image processing library with clients for android [EB/OL].(2012-03-15)[2015-11-25].http://code.google.com/p/zxing.

      [7]NURWONO K A H,KOSALA R.Color quick response code for mobile content distribution[C]//The 7th ACM International Conference on Advances in Mobile Computing and Multimedia,2009:267-271.

      [8]關(guān)濤.彩色Data Matrix條碼的設(shè)計以及若干問題的研究[D].北京:清華大學(xué),2006:47-49.

      [9]賈華國,袁遠松,劉志.一種面向漢字的高壓縮比彩色二維條碼的設(shè)計與實現(xiàn)[J].浙江工業(yè)大學(xué)學(xué)報,2010,38(5):561-565.

      編輯:曹壽平

      Generation and recognition method of color QR codes based on Zxing

      CHEN Yuanzhi1, DENG Yan1, SHI Shaoliang2, JIANG Wenying1

      (1.School of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin 541004, China;2.Guangxi Branch of Institute of Chinese Science and Technology Development, Nanning 530012, China)

      In view of black-and-white barcode’s defects such as small data capacity and insufficient information embedding capacity, a generation and recognition method of color quick response (QR) codes based on Zxing was designed, which used 2kkinds of binary combination to encode data information, corresponding toktypes of encoding colors which could be arbitrarily selected. A conversion between binary and decimal is used to achieve accurate color recognition. The method was not necessary to use any reference color to deal with the aliasing effect on the edge of the color module, therefore the computational complexity was reduced greatly. Experimental results show that the color QR codes based on Zxing not only expand data capacity, but also retain the reliability and robustness properties of QR.

      color QR code; data capacity; encoding; barcode recognition; Zxing

      2016-01-12

      廣西自動檢測技術(shù)與儀器重點實驗室主任基金(YQ14102)

      陳元枝(1968-),男,吉林長春人,教授,博士,研究方向為光電檢測、圖像處理。E-mail:chenyz001@126.com

      TP311

      A

      1673-808X(2016)04-0333-05

      引文格式:陳元枝,鄧艷,史紹亮,等.基于Zxing的彩色QR碼生成與識別方法[J].桂林電子科技大學(xué)學(xué)報,2016,36(4):333-337.

      猜你喜歡
      碼字二進制條碼
      中國條碼技術(shù)與應(yīng)用協(xié)會
      條碼微站
      用二進制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
      有趣的進度
      二進制在競賽題中的應(yīng)用
      放 下
      揚子江詩刊(2018年1期)2018-11-13 12:23:04
      數(shù)據(jù)鏈系統(tǒng)中軟擴頻碼的優(yōu)選及應(yīng)用
      放下
      揚子江(2018年1期)2018-01-26 02:04:06
      基于固定條碼與電子標簽比對設(shè)備的設(shè)計
      矽感: 打造我國自主知識產(chǎn)權(quán)的二維條碼
      分析儀器(2013年5期)2013-10-27 03:58:24
      石景山区| 靖宇县| 清新县| 西盟| 银川市| 孝感市| 中超| 铜陵市| 固阳县| 疏附县| 疏勒县| 德安县| 定兴县| 甘南县| 刚察县| 普宁市| 武鸣县| 潼关县| 高平市| 剑阁县| 江门市| 永善县| 莱西市| 瑞昌市| 青岛市| 南郑县| 宝鸡市| 建水县| 汉阴县| 岳阳市| 宁远县| 安远县| 大丰市| 石楼县| 肥城市| 枝江市| 洪泽县| 邹平县| 江山市| 都安| 平南县|