專利名稱:一種二維條形碼區(qū)域定位及類型判斷的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種二維條形碼區(qū)域定位及類型判斷的方法,屬于計算機視覺中條形碼識讀技術(shù)領(lǐng)域。
技術(shù)背景能夠在水平和垂直方向的二維空間存儲信息的條碼,稱為二維碼。二維碼中可直接存儲英文、中文、 數(shù)字、符號、圖形等信息,可由識讀設(shè)備直接讀取,無需數(shù)據(jù)庫支持。目前,已有多種二維條碼的編碼方 式。二維碼存儲信息的方式為在一個矩形空間內(nèi)通過黑、白像素在矩陣中的不同分布進行編碼。在矩陣 相應(yīng)元素位置上,用模塊的出現(xiàn)表示二進制"1",模塊的不出現(xiàn)表示二進制"O",模塊的排列組合確定了矩 陣式二維碼所代表的意義。已有定位二維碼區(qū)域的方法包括-1. 通過搜劣'全圖尋找相應(yīng)的二維碼區(qū)域定位圖像來確定二維碼區(qū)域。如QR Code 二維碼中的定位圖 像由位于二維碼四個角中三個角上的三個相同的定位圖形構(gòu)成。每一個圖形的模塊序列為黑色一白色一黑 色一黑色一黑色一白色一黑色次序構(gòu)成,各個序列寬度的比例為1:1:3:1:1。當(dāng)霜要定位二維碼區(qū)域時,對 全閣進行搜劣',尋找黑內(nèi)序列寬度為1:1:3:1:1的位置即為二維碼的定位閣像所處的位暨,進而定位二維碼 「《域。2. 分別向二值化后的二維碼圖像的X軸、Y軸投影,得到二維碼區(qū)域的中心點以中心點為起點, 向上、下、左、右四個方向進行掃描,得到二維碼區(qū)域的四個最外點;以任意個最外點為起點,順時針或 逆時針.得到一個新的最外點重復(fù)上述過程,得到精確定位的二維碼區(qū)域。上述已有算法不僅運算速度較慢,而且只能夠識別單一類型的二維條形碼。發(fā)明內(nèi)容本發(fā)明耍解決的技術(shù)問題是提供一種能夠同時完成二維條形碼區(qū)域定位及類型判斷的方法,簡化已有 的二條形碼識讀程序、提髙其識讀速度及識讀兼容性。 本發(fā)明提供的方法包含如下步鐮1) 將所采集到的待識別的二維碼的彩色位圖轉(zhuǎn)化為256級灰度位圖2) 將灰度位圖分為mXn個子區(qū)域,分別根據(jù)每個子區(qū)域的像素灰度值求取一個閾值,作為該子區(qū) 域的闡值。3) 將灰度位圖的每一個像素與該像素所處子區(qū)域的闊值相比較,若大于該閾值則將該像素賦值"O", 反之則賦值"l",得到二值化的圖像,4) 對二值化后的圖像進行連通區(qū)域標(biāo)記,為每個不同的連通區(qū)域內(nèi)的像素標(biāo)記好不同的值。5) 分別判斷每個連通區(qū)域的形狀特征,并與已有二維碼的定位圖形的形狀特征進行比較。若某個連 通區(qū)域的形狀特征與某種二維碼的定位圖形的形狀特征-致,即可判斷出該二維碼的類型并完成 二維碼區(qū)域的定位。上述步驟2中,m、 n可根據(jù)實際應(yīng)用中圖像的像素數(shù)及計算機的運算速度選擇,—般以每個子區(qū)域 為40X40個像素為好。上述步驟4中,連通區(qū)域標(biāo)記可以選擇目前已知的4連通區(qū)域標(biāo)記法、8連通區(qū)域 標(biāo)記法、或采用先進行邊緣提取、再進行輪廓跟蹤、最后為輪麻內(nèi)部標(biāo)記的連通區(qū)標(biāo)記法。上述步驟5中 的形狀特征判斷,可根據(jù)實際二維條形碼的定位圖形的形狀靈活選擇。由于采用了連通區(qū)域標(biāo)記法,將二維條形碼二值化后的圖像進行了分割,條形碼的定位圖形可以被從 背景中分割出來,因此只需對標(biāo)記后的圖像中每個圖形的形狀特征與已有的二維條形碼定位圖形進行比 較,即可判斷出二維條形碼的類型,同時也對二維條形碼的區(qū)域進行了定位,進而根據(jù)二維條形碼的類型 和區(qū)域選擇適合的譯碼程序完成二維條形碼的識讀。并且,由于采用了分區(qū)自動閾值二值化的方法,本發(fā) 明的方法能夠在識讀對象處于非常不均衡的光照強度條件下準(zhǔn)確識讀二維條形碼。
下面結(jié)合附圖介紹本發(fā)明的一個實施例閣1為二值化后的QRCode二維碼的圖像。圖2為進行連通區(qū)標(biāo)記后的QRCode 二維碼定位圖形的標(biāo)記結(jié)果。
具體實施方式
在本實施例中,彩色位圖轉(zhuǎn)化為256級灰度位圖的公式為 灰度=0.29X紅色分量+ 0.61X綠色分量+ O.IOX藍色分量在本實施例中,采集到的圖像為320X 240像素,將圖像分為8X6個子區(qū)域進行二值化,每個子區(qū)域 二值化的閾值為該子區(qū)域全部像素灰度的平均值。圖1為二值化后的QRCode二維碼的圖像,對該二值圖像進行4連通區(qū)域標(biāo)記后,可以為不同的連通 區(qū)域賦予不同的值,如圖2所示,QRCode二維碼的定位圖形,外側(cè)框形部分像素已被標(biāo)記為k,內(nèi)部方 形部分被標(biāo)記為i,其余部分的連通區(qū)域亦被標(biāo)記為不同值。從標(biāo)記后的圖像中取出像素標(biāo)記值為a的全部像素,即取出了標(biāo)記為a的連通區(qū)域。判斷該區(qū)域形狀 是否為框形,方法為該區(qū)域中心的標(biāo)記值與該區(qū)域的標(biāo)記值進行比較,如果不同則判定為框形;進而取 出標(biāo)記為該框形中心標(biāo)記值的連通區(qū)域,判斷該區(qū)域是否為方形,方法為,該區(qū)域中心像素的標(biāo)記值是否 與該區(qū)域中心像素點向上、下、左、右四個方向分別搜索2個像素,如所有像素的標(biāo)記值均與中心像素的 標(biāo)記值相同.即判斷中心區(qū)域為方形;最后判斷框形區(qū)域標(biāo)記與方形區(qū)域標(biāo)記是否相同,不同則認(rèn)為已搜索到QR Code 二維碼的定位圖形,方形區(qū)域中心即為定位圖形中心。如果按上述QR Code 二維碼判斷方式未找到定位圖形,則繼續(xù)采用Data Matrix 二維碼定位圖形形狀 判斷,從標(biāo)記后的圖像中取出像素標(biāo)記值為b的全部像素,即取出了標(biāo)記為b的連通區(qū)域。判斷該區(qū)域形 狀是否為"L"形,方法為將該連通區(qū)域與"L"模板進行模板匹配,如匹配相似性大于要求,即認(rèn)為已搜索 到Data Matrix 二維碼的定位圖形,該二維條形碼即為Dato Matrix 二維碼。
權(quán)利要求
1.一種二維條形碼區(qū)域定位及類型判斷的方法,包括以下步驟將彩色圖像轉(zhuǎn)化為灰度圖像、將灰度圖像轉(zhuǎn)化為二值化圖像、從二值化圖像中定位二維條形碼區(qū)域、判斷二維條形碼類型,其特征在于將灰度圖像轉(zhuǎn)化為二值化圖像時采用分區(qū)二值化及自動閾值二值化方法,并采用連通區(qū)域標(biāo)記方法將定位二維條形碼區(qū)域步驟和二維條形碼類型判斷步驟結(jié)合。
2. 根據(jù)權(quán)利耍求l所述,其特征是灰度圖像轉(zhuǎn)化為二值化圖像時將灰度圖像分為mXn個子區(qū)域,m、 n可根據(jù)實際情況自由設(shè)置。
3. 根據(jù)權(quán)利要求2所述,其特征是各子區(qū)域的閾值可以是該子區(qū)域所有像素灰度值的均值。
4. 根據(jù)權(quán)利要求l所述,其特征是連通區(qū)域標(biāo)記方法可采用4連通區(qū)域標(biāo)記法或8連通區(qū)域標(biāo)記法。
5. 根據(jù)權(quán)利耍求1所述,其特征是連通區(qū)域標(biāo)記方法可采用如下步驟進行邊緣提取,輪麻跟蹤,輪廓內(nèi)部標(biāo)記。
全文摘要
一種二維條形碼區(qū)域定位及類型判斷的方法,該方法的步驟為將所采集到的彩色位像轉(zhuǎn)化為256級灰度圖像;將灰度圖像分為m×n個子區(qū)域,自動求取出每個子區(qū)域的閾值;遍歷所有像素,如某一個像素的灰度值大于其所處子區(qū)域的閾值,則賦該像素值為“0”,反之賦其值為“1”;使用4連通區(qū)域標(biāo)記法對二值化后的圖像進行連通區(qū)域標(biāo)記;分別提取各個擁有不同標(biāo)記值的各個子連通區(qū)域,將各個連通區(qū)域的形狀特征與已有二維碼的定位圖形的形狀特征進行比較,如與某個已有二維碼定位圖形的形狀特征的相似度足夠大,即可判斷出該待識讀的二維碼的類型,并完成二維碼區(qū)域的定位。
文檔編號G06K9/00GK101154267SQ20061015276
公開日2008年4月2日 申請日期2006年9月28日 優(yōu)先權(quán)日2006年9月28日
發(fā)明者李振宇 申請人:李振宇