摘 要:現(xiàn)代高新技術(shù)的發(fā)展,促進(jìn)了條碼識(shí)別技術(shù)的迅猛發(fā)展,一維條碼受信息容量的限制,只能對(duì)物品進(jìn)行標(biāo)識(shí),二維條碼不僅具有一維條碼的優(yōu)點(diǎn),還同時(shí)具有信息容量大、可靠性高、保密防偽懷強(qiáng)、易于制作、成本低等優(yōu)點(diǎn)。本文介紹了QR Code二維條碼技術(shù),研究了圖像預(yù)處理及相關(guān)的圖像處理知識(shí),包括圖像灰度化、圖像二值化、中值濾波和QR譯碼等方法在二維條碼識(shí)別上的應(yīng)用。實(shí)驗(yàn)表明,該識(shí)別算法能有效地去除背景和噪聲的干擾,達(dá)到準(zhǔn)確、快速識(shí)別的目的。
關(guān)鍵詞:QR Code二維條碼;圖像處理;QR譯碼;識(shí)別
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2014) 02-0000-02
隨著3G網(wǎng)絡(luò)的迅猛發(fā)展,甚至現(xiàn)在4G也開始在國內(nèi)試點(diǎn)運(yùn)行,手機(jī)已經(jīng)成為人們即時(shí)獲取信息的不可或缺的工具。相信在手機(jī)上安裝條碼識(shí)別系統(tǒng)將會(huì)是一種趨勢(shì),條碼識(shí)別系統(tǒng)會(huì)讓人們隨時(shí)隨地的了解商品信息、產(chǎn)家信息,還可以下載音樂、圖文、視頻以及手機(jī)閱讀等等。相信條碼識(shí)別系統(tǒng)能夠給人們的日常生活帶來極大的便利,具有非常廣泛的應(yīng)用前景。
條碼分為一維條碼(One Dimensional Barcode,1D)和二維碼(Two-dimensional Code,2D)。人們?cè)谏唐钒b袋上看到的條碼就是一維條碼,但是受信息容量的限制,一維條碼只能對(duì)物品進(jìn)行標(biāo)識(shí),而不是對(duì)物品描述。人們迫切希望發(fā)明一種新的條碼,它不僅要具有一維條碼的優(yōu)點(diǎn),還同時(shí)要具有信息容量大、可靠性高、保密防偽懷強(qiáng)、易于制作、成本低等優(yōu)點(diǎn)。在這種需求下,二維條碼產(chǎn)生了。它的信息密度和容量都較一維條碼要大,而且它不僅可以用數(shù)字、字母進(jìn)行編碼,還能對(duì)圖片、漢字、聲音、指紋等進(jìn)行編碼。現(xiàn)在二維條碼已經(jīng)應(yīng)用于軍事、公安等部門對(duì)各種證件的管理,郵局對(duì)政局包裹的管理,儲(chǔ)存運(yùn)輸業(yè)對(duì)各類商品和貨物的運(yùn)輸?shù)墓芾淼鹊龋远S條碼在未來具有著更廣闊的應(yīng)用前景。
一、QR 碼圖形結(jié)構(gòu)
QR Code 符號(hào)由尋像圖形(3個(gè))、定位圖形(2個(gè))、格式信息(2個(gè))、版本信息(2個(gè))和若干個(gè)校正圖形組成。圖1為QR Code符號(hào)結(jié)構(gòu)圖。
圖1 QR Code的符號(hào)結(jié)構(gòu)圖
二、QR 碼的圖像預(yù)處理
條碼圖像的預(yù)處理就是將圖片進(jìn)行灰度化、中值濾波、二值化等。圖像預(yù)處理流程是通過反復(fù)實(shí)驗(yàn)測(cè)試得出的,具體流程如圖2所示。
圖2 圖像預(yù)處理流程圖
(一)圖像的灰度化
因?yàn)榛叶葓D像所含的信息量比RGB圖像小很多,而且QR碼都是由“0”和“1”組成,因此條碼識(shí)別對(duì)彩色信息起不到識(shí)別的作用,所以我們?cè)谧R(shí)別二維條碼前對(duì)它進(jìn)行灰度化處理[1][2],這樣可以降低我們?cè)趫D像處理時(shí)候的計(jì)算量[3]。
設(shè)某像素的RGB的彩色各分量值為(R、G、B),其中0≤R≤255,0≤G≤255,0≤B≤255,則灰度值W為:W=0.30R+0.59G+0.11B
(二)中值濾波
二維條碼圖像一般都會(huì)含有噪聲,我們這時(shí)要做的工作就是要從圖像中提取出條碼圖像。通過反復(fù)實(shí)驗(yàn)測(cè)試比較,選擇中值濾波的方法對(duì)QR碼圖像進(jìn)行濾波來減少噪聲,條碼圖像的一般都是正方形,所以這里采用3×3的矩形窗口對(duì)圖像進(jìn)行濾波,實(shí)驗(yàn)表明,這個(gè)窗口取得了較好的效果。
(三)圖像二值化
本文采用的是最優(yōu)閾值法對(duì)灰度圖像進(jìn)行二值化處理。圖像包含目標(biāo)灰度值和背景灰度值,s(z)表示目標(biāo)單峰密度函數(shù)與表示背景單峰密度函數(shù)之和。
公式1為混有加性高斯噪聲圖像的混合概率密度:
s(z)=S1s1(z)+S2s2(z)= (1)
公式(1)中有5個(gè)未知的參數(shù),分別為:背景區(qū)域灰度值先驗(yàn)概率S1,目標(biāo)區(qū)域灰度值先驗(yàn)概率S2,S1+ S2=1;背景區(qū)域關(guān)于均值均方差 ,目標(biāo)區(qū)域關(guān)于均值均方差 ;背景區(qū)域平均區(qū)域值 ,目標(biāo)區(qū)域平均區(qū)域值 。T表示閾值。
可求出公式(4)誤差最小的閾值,得到下式(5):
將公式(1)代入,得到二次式(6):
一般情況下,如果 = ,只能求出一個(gè)最優(yōu)閾值(7):
當(dāng)S1=S2時(shí),可以求出最優(yōu)閾值:
公式(9)則可得出s(z)中的5個(gè)未知參數(shù):
公式(2-9)中n為灰度級(jí)數(shù),h(z)為函數(shù),s(z)為混合概率密度函數(shù)。
經(jīng)過最優(yōu)閾值法后圖像明顯效果較好,如圖4所示。
(三)圖像定位
在條碼識(shí)別過程中,由于攝像頭是任意角度拍攝的,所以采集到的圖像一般會(huì)發(fā)生偏轉(zhuǎn),這時(shí)需要將圖像先進(jìn)行旋轉(zhuǎn)校正。圖像的邊緣存在于目標(biāo)與背景的交界處,是一幅圖像最基本的特征,并且是圖像局部區(qū)域亮度變化最明顯的部分[1]。邊緣檢測(cè)基本原理是利用求導(dǎo)算子增強(qiáng)圖像邊緣,然后通過響應(yīng)的閾值判定并提取圖像邊緣。經(jīng)典的邊緣檢測(cè)算子有 Sobel 算子、Roberts 算子、Krisch 算子、Prewitt 算子、Gauss-Laplacian算子。通過反復(fù)實(shí)驗(yàn)測(cè)試,Sobel算子它對(duì)于孤立噪聲能夠起一定的抑制作用。
Sobel算子:
(四)QR 碼的譯碼
由圖5可知,譯碼主要有以下步驟:
(1)定位尋像圖形
a)攝像頭會(huì)先掃描圖像,對(duì)圖像的所有像素都進(jìn)行一次探測(cè),直到探測(cè)出所有中線。如圖7所示。
b)重復(fù)步驟a),在尋像圖形的縱軸方向,識(shí)別出所有豎線。
c)確定尋像圖形的中心,把A、B兩點(diǎn)用一條直接相連,以同樣的方法在縱軸方向上也連接一條直線,這樣兩線的交點(diǎn)就是圖形中心點(diǎn)。
d)重復(fù)a),b),c),確定其他兩個(gè)位置探測(cè)圖形的中心位置。
如圖8所示,我們需要計(jì)算出D的距離、 的寬度, 的寬度。
如果版本不大于6(包括6),則將這個(gè)確定為版本號(hào)。
(3)對(duì)格式信息譯碼,得到版本。
(4)消除掩模,恢復(fù)數(shù)據(jù)碼字。
(5)糾錯(cuò)檢查,還原信息,進(jìn)行譯碼。
三、結(jié)束語
本文研究了QR Code 的圖像預(yù)處理、識(shí)讀和譯碼流程。譯碼系統(tǒng)完成了對(duì)采集來的圖像預(yù)處理然后譯碼的過程。主要研究了圖像預(yù)處理及相關(guān)的圖像處理知識(shí),包括圖像灰度化、圖像二值化、中值濾波和QR譯碼等方法在二維條碼識(shí)別上的應(yīng)用。實(shí)驗(yàn)表明,該識(shí)別算法能有效地去除背景和噪聲的干擾,達(dá)到準(zhǔn)確、快速識(shí)別的目的。
參考文獻(xiàn):
[1]周長發(fā).精通 Visual C++.net 圖像處理編程[M].北京:電子工業(yè)出版社,2002.
[2]歐陽偉.QR 二維條碼自動(dòng)識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2006.
[3]Timothy R. Tuinstra. Reading Barcodes from Digital Imagery [J].Cedarville University,2000.
[4]袁遠(yuǎn)松,趙小敏,楊東勇.Data Matrix 條碼的畸變校正[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(10):47-50.
[作者簡(jiǎn)介]鄧瀟瀟(1989.11-),女,湖北仙桃人,碩士研究生,研究方向:數(shù)據(jù)挖掘。