專利名稱:一種用于二維碼識(shí)別的二維碼區(qū)域精確定位方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,屬于信息存儲(chǔ)、定位和識(shí)別技術(shù)領(lǐng)域。
背景技術(shù):
已有的如圖1所示的二維碼,在水平和垂直方向的二維空間存儲(chǔ)信息的條碼,稱為二維碼(2-dimensional bar code),可直接顯示英文、中文、數(shù)字、符號(hào)、圖型;貯存數(shù)據(jù)量大,可存放1K字符,可用掃描設(shè)備直接讀取內(nèi)容,無需另接數(shù)據(jù)庫。
二維碼可以分為堆疊式/行排式二維碼和矩陣式二維碼,其中堆疊式/行排式二維碼形態(tài)上是由多行短截的一維條碼堆疊而成;矩陣式二維碼以矩陣的形式組成,在矩陣相應(yīng)元素位置上用“點(diǎn)”表示二進(jìn)制“1”,用“空”表示二進(jìn)制“0”,由“點(diǎn)”和“空”的排列組成代碼。
矩陣式二維碼又稱棋盤式二維碼,它是在一個(gè)矩形空間通過黑、白像素在矩陣中的不同分布進(jìn)行編碼。在矩陣相應(yīng)元素位置上,用點(diǎn)(方點(diǎn)、圓點(diǎn)或其他形狀)的出現(xiàn)表示二進(jìn)制“1”,點(diǎn)的不出現(xiàn)表示二進(jìn)制的“0”,點(diǎn)的排列組合確定了矩陣式二維碼所代表的意義。矩陣式二維碼是建立在計(jì)算機(jī)圖像處理技術(shù)、組合編碼原理等基礎(chǔ)上的一種新型圖形符號(hào)自動(dòng)識(shí)讀處理碼制。
已有定位二維碼區(qū)域的方法包括1、現(xiàn)有的二維碼區(qū)域定位是通過尋像圖形確定二維條碼的目標(biāo)區(qū)域,QR碼中的尋像圖形由位于二維碼圖形的4個(gè)角中的3個(gè)角上的3個(gè)相同的位置探測(cè)圖形組成。每一個(gè)探測(cè)圖形的模塊序列由深色-淺色-深色-淺色-深色次序構(gòu)成,各元素的相對(duì)寬度的比例是1∶1∶3∶1∶1。
2、當(dāng)探測(cè)到預(yù)選區(qū)時(shí),檢測(cè)圖像中一行像素與位置探測(cè)圖形的外邊緣相遇的第一點(diǎn)和最后一點(diǎn)。對(duì)該圖像中的相鄰象素行與位置探測(cè)圖形的外邊緣相遇的第一點(diǎn)和最后一點(diǎn)探測(cè)圖形的直線被全部識(shí)別。
3、重復(fù)以上步驟,在圖像的Y軸方向,識(shí)別穿過位置探測(cè)圖形中心方塊的所有像素行。
4、確定探測(cè)圖形中心,通過在X軸方向穿過位置探測(cè)圖形中心塊的最外層的像素線上A、B兩點(diǎn)連線的中心點(diǎn)連一直線,用同樣的方法在另一垂直方向上畫一直線,兩條直線的交點(diǎn)就是位置探測(cè)圖形的中心。
5、重復(fù)步驟1-3,確定其他兩個(gè)位置探測(cè)圖形的中心位置。
6、通過分析位置探測(cè)圖形中心的坐標(biāo),識(shí)別哪一個(gè)位置探測(cè)圖形是左上角圖形以及符號(hào)的旋轉(zhuǎn)角度來確定符號(hào)的方位。
上述已有方法是通過尋找目標(biāo)區(qū)域內(nèi)的特定圖形而實(shí)現(xiàn)定位的,尋找目標(biāo)區(qū)域消耗的時(shí)間長(zhǎng),而定位精度又低。
發(fā)明目的本發(fā)明的目的是提出一種用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,以提高二維碼的識(shí)別速度和精度。
本發(fā)明提出的用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,包括以下步驟(1)將所采集的待識(shí)別二維碼的彩色位圖轉(zhuǎn)換為256色灰度位圖;(2)設(shè)定一個(gè)閾值,將上述灰度位圖的每一個(gè)象素的灰度值與閾值相比較,若大于閾值,則賦值1,若小于閾值,則賦值0,得到二值化圖像,閾值為大于零小于255的正整數(shù);(3)分別向上述二值化圖像的X軸、Y軸投影,記錄跳變頻率最高區(qū)域的X值、Y值,將此X,Y值的組合作為二維碼區(qū)域的中心點(diǎn);(4)從上述中心點(diǎn)為起點(diǎn),向上、下、左、右四個(gè)方向依次進(jìn)行掃描,當(dāng)淺色區(qū)域和深色區(qū)域發(fā)生跳變,且淺色區(qū)域的累積長(zhǎng)度小于一長(zhǎng)度域值時(shí),結(jié)束掃描,得到二維碼區(qū)域的四個(gè)原始最外點(diǎn);(5)以上述任意一個(gè)原始最外點(diǎn)為起點(diǎn)按照逆時(shí)針或順時(shí)針方向,按上述四個(gè)最外點(diǎn)形成的方形框的軌跡經(jīng)過其余三點(diǎn),最后回到起始點(diǎn),進(jìn)行掃描,若所經(jīng)過的最外點(diǎn)的一邊有淺色區(qū)域和深色區(qū)域發(fā)生跳變,則將該最外點(diǎn)按一定步長(zhǎng)向二值化圖像邊緣移動(dòng),得到一個(gè)新的最外點(diǎn),并以該新的最外點(diǎn)替代相應(yīng)的原始最外點(diǎn);(6)以上述原始最外點(diǎn)和新的最外點(diǎn)中的任意一點(diǎn)為起點(diǎn),重復(fù)步驟(5),直至所述的方形框的每條邊都沒有淺色區(qū)域和深色區(qū)域之間的跳變,得到四個(gè)最后的最外點(diǎn),由該四個(gè)最后的最外點(diǎn)形成的方形框即為二維碼的區(qū)域。
上述方法中,彩色位圖轉(zhuǎn)換為256色灰度位圖的公式為灰度=0.2126×紅色分量+0.7152×綠色分量+0.0722×藍(lán)色分量本發(fā)明提出的用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,其優(yōu)點(diǎn)是,由于在尋找二維碼區(qū)域的過程中沒有采用尋像圖形,間接提高了碼圖的數(shù)據(jù)容量,使識(shí)別效率提高了一倍。二維碼區(qū)域的確定過程不需要對(duì)輸入的圖像逐行掃描,因此區(qū)域定位速度更快。
圖1是二維碼的結(jié)構(gòu)示意圖。
圖2和圖3分別是本發(fā)明方法中區(qū)域定位的中間過程示意圖。
圖1~圖3中,1是空白區(qū),2是顏色區(qū),3是向上第一次掃描確定的上部最外點(diǎn),4是向左第一次掃描確定的左部最外點(diǎn),5是經(jīng)過投影確定的二維碼區(qū)域的中心點(diǎn),6是向下第一次掃描確定的下部最外點(diǎn),7是向右第一次掃描確定的右部最外點(diǎn),8是第一次掃描所確定的最外點(diǎn)組成的方形框,即第一次掃描得到的粗略估計(jì)的二維碼區(qū)域,9是由于7所在邊有跳變向右移動(dòng)N個(gè)像素所確定的最外點(diǎn),10是最外點(diǎn)3、4、6、9所確定的方形框,即第二次掃描得到的估計(jì)的二維碼區(qū)域,11是最終所確定的上部最外點(diǎn),12是最終所確定的左部最外點(diǎn),13是最終所確定的右部最外點(diǎn),14是最終所確定的下部最外點(diǎn),15是為最外點(diǎn)11、12、13、14所確定方形框。
具體實(shí)施例方式
本發(fā)明提出的用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,首先將所采集的待識(shí)別二維碼的彩色位圖轉(zhuǎn)換為256色灰度位圖;設(shè)定一個(gè)閾值,將上述灰度位圖的每一個(gè)象素的灰度值與閾值相比較,若大于閾值,則賦值1,若小于閾值,則賦值0,得到二值化圖像,閾值為大于零小于255的正整數(shù);分別向二值化圖像的X軸、Y軸投影,記錄跳變頻率最高區(qū)域的X值、Y值,將此X,Y值的組合作為二維碼區(qū)域的中心點(diǎn);從上述中心點(diǎn)為起點(diǎn),向上、下、左、右四個(gè)方向依次進(jìn)行掃描,當(dāng)淺色區(qū)域和深色區(qū)域發(fā)生跳變,且淺色區(qū)域的累積長(zhǎng)度小于一長(zhǎng)度域值時(shí),結(jié)束掃描,得到二維碼區(qū)域的四個(gè)原始最外點(diǎn);以任意一個(gè)原始最外點(diǎn)為起點(diǎn)按照逆時(shí)針或順時(shí)針方向,按上述四個(gè)最外點(diǎn)形成的方形框的軌跡經(jīng)過其余三點(diǎn),最后回到起始點(diǎn),進(jìn)行掃描,若所經(jīng)過的最外點(diǎn)的一邊有淺色區(qū)域和深色區(qū)域發(fā)生跳變,則將該最外點(diǎn)按一定步長(zhǎng)向二值化圖像邊緣移動(dòng),得到一個(gè)新的最外點(diǎn),并將該新的最外點(diǎn)替代相應(yīng)的原始最外點(diǎn);以上述原始最外點(diǎn)和新的最外點(diǎn)中的任意一點(diǎn)為起點(diǎn),重復(fù)上述過程,直至方形框的每條邊都沒有淺色區(qū)域和深色區(qū)域之間的跳變,得到四個(gè)最后的最外點(diǎn),由該四個(gè)最后的最外點(diǎn)形成的方形框即為二維碼的區(qū)域。。
上述方法中,彩色位圖轉(zhuǎn)換為256色灰度位圖的公式為灰度=0.2126×紅色分量+0.7152×綠色分量+0.0722×藍(lán)色分量本發(fā)明方法中,第一次從上述中心點(diǎn)為起點(diǎn),向上、下、左、右四個(gè)方向依次進(jìn)行掃描過程,得到的二維碼區(qū)域是對(duì)二維碼區(qū)域的粗略估計(jì),每完成一次掃描,都會(huì)有一個(gè)最外點(diǎn)向外移動(dòng),移動(dòng)后的最外點(diǎn)替代原來的最外點(diǎn),而其余的最外點(diǎn)位置不變。接下去的掃描,以替代后的最外點(diǎn)與原來的最外點(diǎn)形成方形框。
以下結(jié)合附圖2、3、4、5介紹本發(fā)明方法的一個(gè)實(shí)施例將所采集的彩色圖像轉(zhuǎn)化成的二值化圖像,如圖2所示,由投影法確定的二維碼區(qū)域的中心點(diǎn)5,以中心點(diǎn)5為起點(diǎn)向上、下、左、右四個(gè)方向掃描確定四個(gè)原始最外點(diǎn)3、4、6、7,8是第一次掃描所確定的最外點(diǎn)組成的方形框,即第一次掃描得到的粗略估計(jì)的二維碼區(qū)域,如圖3所示。以點(diǎn)7為起點(diǎn)按逆時(shí)針方向沿方形框的軌跡依次經(jīng)過點(diǎn)3、4、6,最后回到點(diǎn)7,在7點(diǎn)所在方形框的邊上有跳變,將點(diǎn)7向右移動(dòng)N象素,即為圖4的新最外點(diǎn)9,10是最外點(diǎn)3、4、6、9所確定的方形框,即第二次掃描得到的估計(jì)的二維碼區(qū)域。再以點(diǎn)9為起點(diǎn),按逆時(shí)針方向沿方形框的軌跡依次經(jīng)過點(diǎn)3、4、6,并檢測(cè)由每個(gè)點(diǎn)所在的邊是否有跳變,如果有,則向外移動(dòng)此點(diǎn),如此循環(huán),直到最后所確定的四個(gè)最外點(diǎn)11、12、13、14所在的邊都沒有跳變?yōu)橹梗?5是最后的最外點(diǎn)11、12、13、14所確定的方形框,即為精確定位的二維碼區(qū)域,如圖5所示。
權(quán)利要求
1.一種用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,其特征在于該方法包括以下步驟(1)將所采集的待識(shí)別二維碼的彩色位圖轉(zhuǎn)換為256色灰度位圖;(2)設(shè)定一個(gè)閾值,將上述灰度位圖的每一個(gè)象素的灰度值與閾值相比較,若大于閾值,則賦值1,若小于閾值,則賦值0,得到二值化圖像,域值為大于零小于255的正整數(shù);(3)分別向上述二值化圖像的X軸、Y軸投影,記錄跳變頻率最高區(qū)域的X值、Y值,將此X,Y值的組合作為二維碼區(qū)域的中心點(diǎn);(4)從上述中心點(diǎn)為起點(diǎn),向上、下、左、右四個(gè)方向依次進(jìn)行掃描,當(dāng)淺色區(qū)域和深色區(qū)域發(fā)生跳變,且淺色區(qū)域的累積長(zhǎng)度小于一長(zhǎng)度域值時(shí),結(jié)束掃描,得到二維碼區(qū)域的四個(gè)原始最外點(diǎn);(5)以上述任意一個(gè)原始最外點(diǎn)為起點(diǎn)按照逆時(shí)針或順時(shí)針方向,按上述四個(gè)最外點(diǎn)形成的方形框的軌跡經(jīng)過其余三點(diǎn),最后回到起始點(diǎn),進(jìn)行掃描,若所經(jīng)過的最外點(diǎn)的一邊有淺色區(qū)域和深色區(qū)域發(fā)生跳變,則將該最外點(diǎn)按一定步長(zhǎng)向二值化圖像邊緣移動(dòng),得到一個(gè)新的最外點(diǎn),并以該新的最外點(diǎn)替代相應(yīng)的原始最外點(diǎn);(6)以上述原始最外點(diǎn)和新的最外點(diǎn)中的任意一點(diǎn)為起點(diǎn),重復(fù)步驟(5),直至所述的方形框的每條邊都沒有淺色區(qū)域和深色區(qū)域之間的跳變,得到四個(gè)最后的最外點(diǎn),由該四個(gè)最后的最外點(diǎn)形成的方形框即為二維碼的區(qū)域。
2.如權(quán)利要求1所述的方法,其特征在于其中所述的彩色位圖轉(zhuǎn)換為256色灰度位圖的公式為灰度=0.2126×紅色分量+0.7152×綠色分量+0.0722×藍(lán)色分量。
全文摘要
本發(fā)明涉及一種用于二維碼識(shí)別的二維碼區(qū)域精確定位方法,屬于信息存儲(chǔ)、定位和識(shí)別技術(shù)領(lǐng)域。首先將所采集的待識(shí)別二維碼的彩色位圖轉(zhuǎn)換為256色灰度位圖,將灰度位圖轉(zhuǎn)換成二值化圖像,分別向二值化圖像的X軸、Y軸投影,得到二維碼區(qū)域的中心點(diǎn);從中心點(diǎn)為起點(diǎn),向上、下、左、右四個(gè)方向進(jìn)行掃描,得到二維碼區(qū)域的四個(gè)最外點(diǎn);以任意一個(gè)最外點(diǎn)為起點(diǎn)按照逆時(shí)針或順時(shí)針方向,得到一個(gè)新的最外點(diǎn);重復(fù)上述過程,得到精確定位的二維碼的區(qū)域。本發(fā)明方法由于在尋找二維碼區(qū)域的過程中沒有采用尋像圖形,間接提高了碼圖的數(shù)據(jù)容量,使識(shí)別效率提高了一倍。二維碼區(qū)域的確定過程不需要對(duì)輸入的圖像逐行掃描,因此區(qū)域定位速度更快。
文檔編號(hào)G06K9/00GK1818926SQ200610064938
公開日2006年8月16日 申請(qǐng)日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者侯琰霖 申請(qǐng)人:北京紫光捷通科技有限公司