徐愛鵬 朱杰 陳葉明



摘 要:主要針對谷歌二維碼識別開源項目Zxing項目進行改進,提出了Improve-Zxing算法。其一,不同于Zxing項目在全圖上面尋找二維碼的三個定位點來做二維碼的定位,利用形態學等決策對二維碼進行定位;其二,不同于Zxing項目使用最大類間方差算法(OTSU)對圖片全域進行二值化處理,僅對圖片中二維碼區域進行二值化計算。利用835張模糊發票二維碼進行驗證,發現改進的算法不僅能夠減少二維碼識別計算的時間,并且還能有效地提升模糊發票二維碼圖片的識別精度。
關鍵詞:QR Code;模糊二維碼識別;發票
中圖分類號:TB 文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.30.105
1 引言
隨著當前信息技術的發展與變革,通過特定信息識別產品技術已經廣泛地應用在人們的生產生活之中。例如超市中商品上的條形碼,以及顧客在進行支付時掃描的二維碼(Quick Response Code,QR碼)等等,這些技術加快了信息獲取速度,不僅節約了時間同時給人們生活帶來了便利。二維碼技術是綜合信息編碼、信息傳遞、數據加密等技術的綜合體,其具有編碼適用范圍廣、譯碼快而精準,生產快低成本等優點,因而發展迅速,應用廣泛。目前二維碼應用技術是中國信息社會中不可或缺的存在,社會的生產生活中已經愈發離不開二維碼技術,快速識別二維碼中的信息更為重要,因此開展二維碼精準識別的研究,是有必要的。
目前中國使用發票作為單位和個人在交易過程中所開具或者收取的業務憑證,其可以作為公司繳納稅務的憑證也可以作為員工進行報銷的憑證。發票極其重要,其不僅是會計核算的原始憑證,也是審計機關、稅務機關執法檢查的重要依據。因此發票上的信息,對個人與公司都十分重要。目前中國發票存在兩種形式,一種是紙質發票目前在慢慢過渡到等同性質的電子發票。但是電子發票目前尚不能完全取代紙質發票,因此快速識別紙質發票上的信息成了需要研究的焦點。從圖1展示的增值稅專用發票樣例圖上可以清楚的看到,在發票的左上角有一處二維碼圖樣,該二維碼就編碼存儲了該發票記錄的信息,因此只需要使用二維碼識別技術就能夠將發票信息自動獲取到電子設備上。然而由于當前仍然有許多紙質發票,這些紙質發票可能會經過一定程度的磨損,導致二維碼圖像變模糊,嚴重影響到二維碼中信息的識別。因此針對模糊發票二維碼的識別場景,本文對模糊QR二維碼的識別技術展開了研究。
2 相關技術
QR Code是一種矩陣式二維碼,1994年誕生于日本。由于QR Code信息存儲量大、可針對文字、圖像等符號進行編碼、并且加密性強、糾錯程度高、成本低廉、便于使用等優點,獲得了各領域廣泛使用。QR Code二維碼一般為規則矩形,主要由編碼區以及功能圖形組成,其中編碼區域主要用于對數據編碼存儲,包含了數據、格式、版本等信息;功能圖形用于定義固定格式的信息,包括探測、定位、校正識別等。QR Code二維碼結構如圖2所示。
當前有眾多關于二維碼的學術研究,甘嵐等人提出了基于亞像素邊緣檢測的二維碼識別算法,該算法解決了二維碼因邊緣模糊導致的識別率下降問題。李軍采用掃描邊界點來確定畸變控制點的方法,實現了對QR Code二維碼的曲面變形校正,使用該算法對曲面變形的QR Code二維碼進行校正后,能夠顯著提高識別率。Chu等人在智能手機上實現了運動模糊QR Code二維碼的恢復,但是該算法耗時太大,難以在物流分揀中應用。這些算法應用場景很少有使用到模糊發票二維碼識別中的,因此本文將針對模糊發票二維碼的識別展開研究。
3 改進方法與實驗
3.1 改進的Improve-Zxing算法
(1)關鍵點定位,本文先對二維碼整體區域定位,然后再對關鍵點定位。Zxing算法探測到1個定位點或者2個定位點,就停止定位點檢測。本研究針對該缺陷修改了關鍵點定位,當關鍵點只定位到1個或者2個定位點時,會根據一個關鍵點到邊緣的位置,推算到其他兩個關鍵點的大概位置,然后根據連通域算法精確定位到關鍵點中心位置。
(2)圖片預處理,本研究去掉模糊二維碼圖像中出現的較小空洞以及連絲,同時針對圖像二維碼中的殘缺,會檢查邊緣是否齊全,如果不齊全則會加上一條道當作邊緣。不同于Zxing項目使用最大類間方差算法(OTSU)對圖片全域進行二值化處理,本文僅對圖片中二維碼區域進行二值化計算。
3.2 實驗與分析
為了驗證算法的精準度,本文選取835張模糊的發票QR Code二維碼進行測驗數據樣本,二維碼樣例圖參見圖3。另外使用改進前算法與改進后的算法對模糊發票二維碼數據樣本依次進行實驗,并以運行時間與識別結果作為評價指標。
針對835張模糊二維碼圖片的識別過程中,其中Zxing算法運行時間為652.219秒,Improve-Zxing算法耗時592.342秒,總耗時Improve-Zxing降低了59.877秒,接近一分鐘;在識別精度上,Zxing成功識別了367張模糊發票二維碼,識別率為43.95%。而Improve-Zxing成功識別了529張模糊發票二維碼,識別率為63.35%,識別率提升了19.4%。實驗表明Improve-Zxing算法具有更高的精準度與更優的處理性能。
4 總結
本文主要針對模糊發票二維碼識別場景,對模糊QR Code二維碼的識別技術展開了研究。根據谷歌二維碼識別開源項目Zxing項目進行改進,并通過使用835張模糊發票二維碼進行實驗,結果表明本文改進的算法不僅能夠減少二維碼識別計算的時間,并且還能有效地提升模糊發票二維碼圖片的識別精度,這對模糊QR Code二維碼識別技術進行了一個知識補充,同時給模糊發票的識別帶來了更多的便利。
參考文獻
[1]田洪娜.QR碼研究及其在機器人自定位上的應用[D].沈陽:東北大學,2014.
[2]李國棟,田國會,薛英花.基于QR Code技術的家庭服務機器人視覺伺服抓取操作研究[J].東南大學學報(自然科學版),2010,(S1):30-36.
[3]張興華.矩陣式快速QR碼的研究和應用[D].成都:電子科技大學,2015.
[4]蒲策.QR二維碼編碼譯碼算法研究及應用[D].成都:成都理工大學,2016.
[5]于英政.QR二維碼相關技術的研究[D].北京:北京交通大學,2014.
[6]于英政,許宏麗.基于QR二維碼的多級融合加密算法的設計與實現[J].計算機與數字工程,2014,(12):2362-2364.
[7]劉子鳴,林家駿.一種適用于QR碼的抗打印掃描的水印算法[J].華東理工大學學報,2018,(1).