999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-09-14 07:26:43陳元枝史紹亮姜文英
桂林電子科技大學學報 2016年4期

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

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

?

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

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

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

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

彩色QR碼;數據容量;編碼;條碼識別;Zxing

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

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

1 彩色QR碼簡介

1.1PM碼

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

1.2CQR碼

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

1.3HCC2D碼

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

2 彩色QR碼的生成與識別

2.1彩色QR碼的設計思路

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

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

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

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

表1 低版本黑白QR碼和彩色QR碼的數據容量

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

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

2.3彩色QR碼生成舉例

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

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

2)根據待編碼內容選擇編碼模式為數字模式。

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

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

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

6)采用Reed-Solomon算法對數據碼字流進行分塊糾錯,形成糾錯碼字流。塊1的數據碼字為{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的數據碼字為{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)根據QR碼符號中字符的布置規則,構造信息的最終碼字序列。

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

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

10)對數據和糾錯碼字區域進行掩膜。

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

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

2.4彩色QR碼識別舉例

編碼內容為“12345678”的4色QR碼的解碼步驟為:

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

2)將圖像二值化。

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

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

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

6)根據預設的顏色映射表,識讀格式信息和版本信息。

7)消除掩膜,恢復數據碼字和糾錯碼字。

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

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

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

11)根據數據碼字譯碼結果,輸出源數據信息流。

12)結束解碼。

3 性能比較與分析

3.1數據容量

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

表3 黑白QR碼與彩色QR碼版本40-L的數據容量

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

表4 6種二維碼的最大數據容量

3.2顏色識別

隨機選取RGB顏色立方體的4個對角線平面WYBK(white、yellow、blue、black)、WGMK(white、green、magenta、black)、WCRK(white、cyan、red、black)、YCRB(yellow、cyan、red、blue)對“桂林電子科技大學”采用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與顏色映射表中顏色一一對應,而編碼生成的彩色QR碼圖片保存為無損壓縮格式PNG,確保解碼能精確地識別每個模塊的RGB值,并將RGB值與預先設定的顏色映射表中數值一一對應,4色QR碼每次讀取2位二進制數,并將其轉化為1位十進制數,能精確地識別顏色,且編碼顏色可任意選取。

3.3計算復雜度

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

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

4 結束語

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

[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]關濤.彩色Data Matrix條碼的設計以及若干問題的研究[D].北京:清華大學,2006:47-49.

[9]賈華國,袁遠松,劉志.一種面向漢字的高壓縮比彩色二維條碼的設計與實現[J].浙江工業大學學報,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

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

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

TP311

A

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

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

主站蜘蛛池模板: 免费一级毛片在线播放傲雪网| 国产一级无码不卡视频| 91久久偷偷做嫩草影院电| 日本尹人综合香蕉在线观看| 欧美人人干| 美女一级毛片无遮挡内谢| 色综合婷婷| 精品国产91爱| 一本一本大道香蕉久在线播放| 青青热久免费精品视频6| 欧美成人午夜视频免看| 亚洲日本中文字幕天堂网| 久精品色妇丰满人妻| 亚洲人成网站色7799在线播放| 欧美视频在线播放观看免费福利资源 | 精品人妻无码区在线视频| 亚洲成年人网| 久久人妻系列无码一区| 99视频在线免费| 精品成人一区二区三区电影| 亚洲a级在线观看| 国产人人干| 欧美日韩国产在线人| 国产鲁鲁视频在线观看| WWW丫丫国产成人精品| 亚洲第一极品精品无码| 免费看黄片一区二区三区| 夜夜操国产| 少妇精品网站| 亚洲男人的天堂视频| 欧美性精品| 欧美激情网址| 五月婷婷综合在线视频| 亚洲美女一级毛片| 嫩草国产在线| 成人精品视频一区二区在线| 色综合中文字幕| 国产精品久久精品| 正在播放久久| 国产自在线拍| 色综合婷婷| 亚洲婷婷六月| 亚洲an第二区国产精品| 久久窝窝国产精品午夜看片| 久久免费精品琪琪| 波多野结衣国产精品| 国产精品久久久久久久久kt| 色婷婷综合激情视频免费看| 日韩黄色大片免费看| 色综合成人| 久久这里只有精品66| 中文字幕在线欧美| 激情六月丁香婷婷四房播| 中文字幕一区二区视频| 国产乱子伦视频在线播放| 天天干天天色综合网| 午夜日本永久乱码免费播放片| 毛片一区二区在线看| 亚洲高清资源| 人妻丰满熟妇av五码区| 成人福利一区二区视频在线| 亚洲天堂网2014| 在线观看国产黄色| 亚洲中文字幕精品| 国产成人精品一区二区免费看京| 精品三级在线| 久久a毛片| 麻豆国产原创视频在线播放| 青青青国产视频| www.国产福利| 丰满的熟女一区二区三区l| 亚洲Va中文字幕久久一区| 国产福利免费视频| 日本AⅤ精品一区二区三区日| 午夜高清国产拍精品| 欧美高清三区| 中文成人无码国产亚洲| 亚洲色图在线观看| 尤物午夜福利视频| 午夜精品区| 人妻一本久道久久综合久久鬼色| 区国产精品搜索视频|