亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于連通域的二維條碼識(shí)別方法及系統(tǒng)的制作方法

文檔序號(hào):10512695閱讀:317來源:國(guó)知局
一種基于連通域的二維條碼識(shí)別方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于連通域的二維條碼識(shí)別方法及系統(tǒng),方法包括:對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像;對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域;根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域;在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。本發(fā)明通過二值化處理以及根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正的方法,提高了識(shí)別率;同時(shí)采用了改進(jìn)的KMP算法,圖形檢測(cè)速度高,實(shí)時(shí)性好。本發(fā)明可廣泛應(yīng)用于條碼識(shí)別領(lǐng)域。
【專利說明】
一種基于連通域的二維條碼識(shí)別方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及條碼識(shí)別領(lǐng)域,尤其是一種基于連通域的二維條碼識(shí)別方法及系統(tǒng)。
【背景技術(shù)】
[0002]二維條碼識(shí)別技術(shù)屬于圖形標(biāo)識(shí)技術(shù),其在物流、票據(jù)、移動(dòng)支付等領(lǐng)域有著廣泛的應(yīng)用。二維碼與一維碼不同,它在橫向和縱向兩個(gè)方向存儲(chǔ)信息,信息存儲(chǔ)量大,存儲(chǔ)種類多,存儲(chǔ)密度高,安全性好,并且不需要聯(lián)機(jī),即可獲取其內(nèi)容。因此,現(xiàn)在圖形標(biāo)識(shí)技術(shù)主要使用二維碼。QR Code,英文全稱為Quick Response Code (即快速相應(yīng)矩陣碼),是目前最具有代表性的二維條碼之一,是由日本Denso公司于1994年9月研制的,除具有一維條碼及其它二維條碼的優(yōu)點(diǎn)外,還具有超高速識(shí)讀、全方位識(shí)讀和能夠同時(shí)表示中國(guó)漢字和日本漢字的特點(diǎn)。
[0003]從終端獲取到的二維碼圖片一般會(huì)出現(xiàn)光照不均、存在額外的背景以及存在傾斜等情況,如果仍按照傳統(tǒng)的識(shí)別過程來處理這些圖片,那么其識(shí)別率將大受影響。此外,對(duì)于二維碼來說,二維碼圖形檢測(cè)是解碼過程中一個(gè)重要步驟。由于技術(shù)的發(fā)展,從終端獲取到的圖片質(zhì)量越來越高,因此,二維碼圖形檢測(cè)的重點(diǎn)是滿足其實(shí)時(shí)性要求,即提高其檢測(cè)速度。

【發(fā)明內(nèi)容】

[0004]為解決上述技術(shù)問題,本發(fā)明的目的在于:提供一種識(shí)別率高和實(shí)時(shí)性好的,基于連通域的二維條碼識(shí)別方法。
[0005]本發(fā)明的目的在于:提供一種識(shí)別率高和實(shí)時(shí)性好的,基于連通域的二維條碼識(shí)別系統(tǒng)。
[0006]本發(fā)明所采取的技術(shù)方案是:
一種基于連通域的二維條碼識(shí)別方法,包括以下步驟:
51、對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像;
52、對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域;
53、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
54、在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。
[0007]進(jìn)一步,所述步驟SI包括:
511、從終端獲取含有二維碼的彩色圖像;
512、對(duì)含有二維碼的彩色圖像進(jìn)行灰度化,得到灰度圖像;
513、采用大津法對(duì)灰度圖像進(jìn)行二值化處理,得到二值圖像。
[0008]進(jìn)一步,所述步驟S2具體為:
對(duì)二值圖像進(jìn)行取反操作,然后對(duì)取反操作后的圖像進(jìn)行連通區(qū)域劃分,并標(biāo)記劃分出的連通區(qū)域。
[0009]進(jìn)一步,所述步驟S3包括:
531、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo);
532、根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域。
[00?0]進(jìn)一步,所述步驟S31具體為:
根據(jù)連通區(qū)域的值以及長(zhǎng)度,以行為檢測(cè)對(duì)象,對(duì)二值圖像進(jìn)行檢測(cè),判斷當(dāng)前檢測(cè)行是否符合QR碼尋像圖形的包含關(guān)系且符合包含關(guān)系時(shí)QR碼尋像圖形的白色區(qū)域長(zhǎng)度是否相等,若是,則記錄當(dāng)前檢測(cè)行起始位置點(diǎn)行和列的坐標(biāo),然后根據(jù)設(shè)定的檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷,直至所有行檢測(cè)完畢;反之,則直接根據(jù)檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷。
進(jìn)一步,所述步驟S4包括:
541、確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置0,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到;
542、將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值;
543、根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn);
544、根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。
[0011]進(jìn)一步,所述步驟S43包括:
5431、判斷當(dāng)前尋標(biāo)元素X是否大于設(shè)定閾值N,若是,則結(jié)束尋找過程,反之,則執(zhí)行步驟S432,其中,元素X為第二數(shù)組f (X)中的任一元素;
5432、判斷當(dāng)前尋標(biāo)元素X是否滿足f(x+2).len/f (X).len=3,若是,則執(zhí)行步驟S433,反之,則執(zhí)行步驟S435,其中,f(x+2).len為第二數(shù)組f(x)中元素x+2游程編碼的游程長(zhǎng)度,f (X).1en為第二數(shù)組f (X)中元素X游程編碼的游程長(zhǎng)度,元素x+2由元素X向后移動(dòng)2步得到;
5433、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).len/f (x+4).1en=I,若是,則執(zhí)行步驟S434,反之,則執(zhí)行步驟S436,其中,f(x+4).len第二數(shù)組f(x)中元素x+4游程編碼的游程長(zhǎng)度,元素x+4由元素X向后移動(dòng)4步得到;
5434、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).val/f (x+4).val=l,若是,則標(biāo)記當(dāng)前尋標(biāo)元素X的位置并以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則直接以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,其中,f(x)
?val為第二數(shù)組f (X)中元素X的實(shí)際數(shù)值,f(x+4).val為第二數(shù)組f (x)中元素x+4的實(shí)際數(shù)值;
5435、判斷當(dāng)前尋標(biāo)元素是否滿足f(x+2).len/f (X).1en大于I,若是,貝Ij以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)2步得到的元素x+2作為當(dāng)前尋標(biāo)元素返回步驟S431;
5436、判斷當(dāng)前尋標(biāo)元素是否滿足f(X).len/f (x+4).1en大于I,若是,貝Ij以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431。
[0012]本發(fā)明所采取的另一技術(shù)方案是:
一種基于連通域的二維條碼識(shí)別系統(tǒng),包括:
預(yù)處理模塊,用于對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像;
連通區(qū)域劃分模塊,用于對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域;
最小區(qū)域確定模塊,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊,用于在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別;所述預(yù)處理模塊的輸出端依次通過連通區(qū)域劃分模塊、最小區(qū)域確定模塊進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。
[0013]進(jìn)一步,所述最小區(qū)域確定模塊包括:
尋找和記錄單元,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo);
確定單元,用于根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
所述連通區(qū)域劃分模塊的輸出端依次通過尋找和記錄單元以及確定單元進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。
[0014]進(jìn)一步,所述中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊包括:
矩陣獲取單元,用于確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置0,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到;
游程編碼單元,用于將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值;
中心坐標(biāo)點(diǎn)尋找單元,用于根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn);
校正識(shí)別單元,用于根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別;
所述最小區(qū)域確定模塊的輸出端依次通過矩陣獲取單元、游程編碼單元和中心坐標(biāo)點(diǎn)尋找單元進(jìn)而與校正識(shí)別單元的輸入端連接。
[0015]本發(fā)明的方法的有益效果是:先對(duì)終端獲取的彩色圖像進(jìn)行二值化和連通區(qū)域劃分,再根據(jù)連通區(qū)域?qū)ふ襋R碼尋像圖形以及確定包含尋像圖形的最小區(qū)域,最后采用改進(jìn)的KMP算法從確定的最小區(qū)域中尋找出尋像圖形中心坐標(biāo)點(diǎn),采用了基于連通域的二維條碼識(shí)別方法,通過二值化處理以及根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正的方法,能顯著降低光照不均、額外的背景以及傾斜等因素的影響,提高了二維條碼的識(shí)別率;同時(shí)采用改進(jìn)的KMP算法來尋找尋像圖形中心坐標(biāo)點(diǎn),極大提高了圖形檢測(cè)的檢測(cè)速度,滿足了實(shí)時(shí)性的高要求。
[0016]本發(fā)明的系統(tǒng)的有益效果是:先通過預(yù)處理模塊和連通區(qū)域劃分模塊對(duì)終端獲取的彩色圖像進(jìn)行二值化和連通區(qū)域劃分,再在最小區(qū)域確定模塊中根據(jù)連通區(qū)域?qū)ふ襋R碼尋像圖形以及確定包含尋像圖形的最小區(qū)域,最后在中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊中采用改進(jìn)的KMP算法從確定的最小區(qū)域中尋找出尋像圖形中心坐標(biāo)點(diǎn),采用了基于連通域的二維條碼識(shí)別方法,通過二值化處理以及根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正的方法,能顯著降低光照不均、額外的背景以及傾斜等因素的影響,提高了二維條碼的識(shí)別率;同時(shí)采用改進(jìn)的KMP算法來尋找尋像圖形中心坐標(biāo)點(diǎn),極大提高了圖形檢測(cè)的檢測(cè)速度,滿足了實(shí)時(shí)性的高要求。
【附圖說明】
[0017]圖1為本發(fā)明一種基于連通域的二維條碼識(shí)別方法的整體流程圖;
圖2為本發(fā)明一種基于連通域的二維條碼識(shí)別系統(tǒng)的結(jié)構(gòu)框圖;
圖3為本發(fā)明采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn)的流程圖。
【具體實(shí)施方式】
[0018]參照?qǐng)D1,一種基于連通域的二維條碼識(shí)別方法,包括以下步驟:
51、對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像;
52、對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域;
53、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
54、在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。
[0019]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟SI包括:
511、從終端獲取含有二維碼的彩色圖像;
512、對(duì)含有二維碼的彩色圖像進(jìn)行灰度化,得到灰度圖像;
513、采用大津法對(duì)灰度圖像進(jìn)行二值化處理,得到二值圖像。
[0020]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S2具體為:
對(duì)二值圖像進(jìn)行取反操作,然后對(duì)取反操作后的圖像進(jìn)行連通區(qū)域劃分,并標(biāo)記劃分出的連通區(qū)域。
[0021 ]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S3包括:
531、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo);
532、根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域。
[0022]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S31具體為:
根據(jù)連通區(qū)域的值以及長(zhǎng)度,以行為檢測(cè)對(duì)象,對(duì)二值圖像進(jìn)行檢測(cè),判斷當(dāng)前檢測(cè)行是否符合QR碼尋像圖形的包含關(guān)系且符合包含關(guān)系時(shí)QR碼尋像圖形的白色區(qū)域長(zhǎng)度是否相等,若是,則記錄當(dāng)前檢測(cè)行起始位置點(diǎn)行和列的坐標(biāo),然后根據(jù)設(shè)定的檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷,直至所有行檢測(cè)完畢;反之,則直接根據(jù)檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷。
[0023]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S4包括:
S41、確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置O,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到;
542、將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值;
543、根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn);
544、根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。
[0024]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S43包括:
5431、判斷當(dāng)前尋標(biāo)元素X是否大于設(shè)定閾值N,若是,則結(jié)束尋找過程,反之,則執(zhí)行步驟S432,其中,元素X為第二數(shù)組f (X)中的任一元素;
5432、判斷當(dāng)前尋標(biāo)元素X是否滿足f(x+2).len/f (X).len=3,若是,則執(zhí)行步驟S433,反之,則執(zhí)行步驟S435,其中,f(x+2).len為第二數(shù)組f(x)中元素x+2游程編碼的游程長(zhǎng)度,f (X).1en為第二數(shù)組f (X)中元素X游程編碼的游程長(zhǎng)度,元素x+2由元素X向后移動(dòng)2步得到;
5433、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).len/f (x+4).1en=I,若是,則執(zhí)行步驟S434,反之,則執(zhí)行步驟S436,其中,f(x+4).len第二數(shù)組f(x)中元素x+4游程編碼的游程長(zhǎng)度,元素x+4由元素X向后移動(dòng)4步得到;
5434、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).val/f (x+4).val=l,若是,則標(biāo)記當(dāng)前尋標(biāo)元素X的位置并以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則直接以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,其中,f(x)
?val為第二數(shù)組f (X)中元素X的實(shí)際數(shù)值,f(x+4).val為第二數(shù)組f (x)中元素x+4的實(shí)際數(shù)值;
5435、判斷當(dāng)前尋標(biāo)元素是否滿足f(x+2).len/f (X).1en大于I,若是,貝Ij以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)2步得到的元素x+2作為當(dāng)前尋標(biāo)元素返回步驟S431;
5436、判斷當(dāng)前尋標(biāo)元素是否滿足f(X).len/f (x+4).1en大于I,若是,貝Ij以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431。
[0025]參照?qǐng)D2,一種基于連通域的二維條碼識(shí)別系統(tǒng),包括:
預(yù)處理模塊,用于對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像;
連通區(qū)域劃分模塊,用于對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域;
最小區(qū)域確定模塊,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊,用于在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別;
所述預(yù)處理模塊的輸出端依次通過連通區(qū)域劃分模塊、最小區(qū)域確定模塊進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。
[0026]參照?qǐng)D2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述最小區(qū)域確定模塊包括:
尋找和記錄單元,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo);
確定單元,用于根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域;
所述連通區(qū)域劃分模塊的輸出端依次通過尋找和記錄單元以及確定單元進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。
[0027]參照?qǐng)D2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊包括: 矩陣獲取單元,用于確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置0,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到;
游程編碼單元,用于將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值;
中心坐標(biāo)點(diǎn)尋找單元,用于根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn);
校正識(shí)別單元,用于根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別;
所述最小區(qū)域確定模塊的輸出端依次通過矩陣獲取單元、游程編碼單元和中心坐標(biāo)點(diǎn)尋找單元進(jìn)而與校正識(shí)別單元的輸入端連接。
[0028]下面結(jié)合說明書附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步解釋和說明。
[0029]實(shí)施例一
參照?qǐng)D1-3,本發(fā)明的第一實(shí)施例:
針對(duì)現(xiàn)有技術(shù)識(shí)別率低和實(shí)時(shí)性較差的問題,本發(fā)明提出了一種基于連通域的二維條碼識(shí)別方法。該方法的主要實(shí)現(xiàn)過程包括以下步驟:
(一)對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像。
[0030]當(dāng)從終端獲取到二維碼圖形后,首先需要將獲取到的彩色圖像轉(zhuǎn)換為灰度圖像。而灰度圖像有可能會(huì)受光照不均、背景和傾斜等因素的影響,所以為了保證圖像的質(zhì)量,本發(fā)明還需要利用大津法對(duì)圖像進(jìn)行二值化處理。
[0031](二)對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域。
[0032]二值圖像中黑色為目標(biāo)區(qū)域,白色為背景,而劃分連通區(qū)域時(shí),黑色為背景,白色為目標(biāo)區(qū)域,所以本發(fā)明在劃分連通區(qū)域前需要對(duì)二值圖像取反。
[0033]取反操作完成后,即可采用傳統(tǒng)的連通域劃分算法進(jìn)行連通區(qū)域劃分,如可采用連通區(qū)域標(biāo)記法將二值圖像中的目標(biāo)區(qū)域和背景區(qū)分開來。
[0034](三)根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域。
[0035]在QR碼中,位置探測(cè)圖形(即尋像圖形)的黑白比例為1: 1:3:1:1,并且位置探測(cè)圖形的外圍區(qū)域與中心的正方形是包圍關(guān)系。因此,獲取包含位置探測(cè)圖形的最小區(qū)域時(shí),只需對(duì)檢測(cè)的行判斷其是否具有位置探測(cè)圖形的包含關(guān)系,并且位置探測(cè)圖形的白色區(qū)域長(zhǎng)度是否相等。如果滿足以上條件,則記錄該檢測(cè)的行起始點(diǎn)位置點(diǎn)的行和列坐標(biāo)。接著,根據(jù)記錄的坐標(biāo),可確定包含位置探測(cè)圖形的最小區(qū)域。在檢測(cè)圖像時(shí),為了減少計(jì)算量,根據(jù)尋像圖形的特點(diǎn),每間隔6行進(jìn)行掃描檢測(cè),即將檢測(cè)間隔設(shè)為6行。
(四)在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。
[0036]確定包含尋像圖形的最小區(qū)域后,本發(fā)明采用標(biāo)識(shí)矩陣和數(shù)組對(duì)該最小區(qū)域進(jìn)行表示。其中,標(biāo)識(shí)矩陣只保留連通區(qū)域中檢測(cè)為QR尋像圖形的元素值,其它元素值設(shè)為零。在此標(biāo)識(shí)矩陣的基礎(chǔ)上,再在該標(biāo)識(shí)矩陣的增加一列,數(shù)值全部為零,以組成一個(gè)新的數(shù)組,記為第一數(shù)組。
[0037]將第一數(shù)組的每一行連接在一起,組成一個(gè)行向量,然后對(duì)此行向量進(jìn)行游程編碼,游程編碼的信息存儲(chǔ)在一個(gè)結(jié)構(gòu)體數(shù)組中,記為第二數(shù)組。第二數(shù)組分別記錄其游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值。
[0038]在游程編碼中,可利用改進(jìn)的KMP算法,尋找尋像圖形中心坐標(biāo)點(diǎn),并對(duì)圖像進(jìn)行校正。由于第二數(shù)組中零元素和非零元素間隔分布,所以在尋找尋像圖形的中心坐標(biāo)時(shí),可以間隔尋找。而QR碼中位置探測(cè)圖形的黑白比例為1:1:3:1:1,位于中間的兩個(gè)部分為白色,所以在游程編碼中尋找尋像圖形的中心坐標(biāo)時(shí),需要查找相鄰非零元素的游程長(zhǎng)度比為1:3:1,并且第一個(gè)元素的數(shù)值要與第三個(gè)元素的數(shù)值相等。基于以上原理,本發(fā)明在尋找1:3:1過程中采用改進(jìn)的KMP算法進(jìn)行搜索,以提高檢測(cè)的速度和效率。KMP算法與其它匹配算法相比,能合理利用已經(jīng)計(jì)算出的信息,進(jìn)行高效的向后移動(dòng),以保證在線性時(shí)間內(nèi)完成搜索,大量減少了冗余對(duì)比。
[0039]本發(fā)明所采用的改進(jìn)的KMP算法流程如圖3所示。假設(shè)f(x)為結(jié)構(gòu)體數(shù)組,f(x).1en為相對(duì)應(yīng)元素游程編碼的游程長(zhǎng)度,f(x).val為對(duì)應(yīng)的連通分量數(shù)值。在不考慮背景顏色的情況下,該改進(jìn)的KMP算法首先分析f(x+2).len/f (X).1en的結(jié)果,如果f (x+2).1en/f(x).1en不為3,且大于I,則說明用于比較的兩個(gè)非零元素都不是所求,則以元素X跳后4步的元素x+4作為新的元素(即令X= x+4,將x+4賦給X)重新進(jìn)行比較;否則,則以元素X跳后2步的元素x+2作為新的元素重新進(jìn)行比較。若f (x+2).len/f (X).len=3,則繼續(xù)判斷f (x).len/f (x+4).1en是否為I,如果f (x).len/f (x+4).1en大于I,則以元素x跳后4步的元素x+4作為新的元素(即令X= x+4,將x+4賦給X)重新進(jìn)行比較;否則,則表明此時(shí)相鄰非零元素的游程長(zhǎng)度比符合比例,此時(shí),不管其符合f(x).val/f (x+4).val=l條件與否,都以元素X跳后6步的元素x+6作為新的元素(S卩令X= x+6,將x+6賦給X)重新進(jìn)行比較;唯一區(qū)別就是,若f(X).val/f (x+4).val=l,則表明此時(shí)的相鄰非零元素即為所尋找中心坐標(biāo)對(duì)應(yīng)的相鄰非零元素,需要標(biāo)記其位置。
[0040]實(shí)際上,在查找位置探測(cè)圖形時(shí),可以設(shè)置結(jié)構(gòu)體數(shù)組來存儲(chǔ)其信息,每個(gè)結(jié)構(gòu)體主要保存位置探測(cè)圖形的起始位置和終止位置以及外圍圖形的標(biāo)記和中心圖形的標(biāo)記,故可以根據(jù)區(qū)域大小、起始位置和終止位置計(jì)算位置探測(cè)圖形的中心坐標(biāo)。
[0041 ]尋找出中心坐標(biāo)點(diǎn)后,可通過旋轉(zhuǎn)等方法對(duì)圖像校正,并可進(jìn)行采樣、解碼識(shí)別和輸出。
[0042]以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于連通域的二維條碼識(shí)別方法,其特征在于:包括以下步驟: 51、對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像; 52、對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域; 53、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域; 54、在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。2.根據(jù)權(quán)利要求1所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟SI包括: SI1、從終端獲取含有二維碼的彩色圖像; 512、對(duì)含有二維碼的彩色圖像進(jìn)行灰度化,得到灰度圖像; 513、采用大津法對(duì)灰度圖像進(jìn)行二值化處理,得到二值圖像。3.根據(jù)權(quán)利要求1所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟S2具體為: 對(duì)二值圖像進(jìn)行取反操作,然后對(duì)取反操作后的圖像進(jìn)行連通區(qū)域劃分,并標(biāo)記劃分出的連通區(qū)域。4.根據(jù)權(quán)利要求1所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟S3包括: 531、根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo); 532、根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域。5.根據(jù)權(quán)利要求4所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟S31具體為: 根據(jù)連通區(qū)域的值以及長(zhǎng)度,以行為檢測(cè)對(duì)象,對(duì)二值圖像進(jìn)行檢測(cè),判斷當(dāng)前檢測(cè)行是否符合QR碼尋像圖形的包含關(guān)系且符合包含關(guān)系時(shí)QR碼尋像圖形的白色區(qū)域長(zhǎng)度是否相等,若是,則記錄當(dāng)前檢測(cè)行起始位置點(diǎn)行和列的坐標(biāo),然后根據(jù)設(shè)定的檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷,直至所有行檢測(cè)完畢;反之,則直接根據(jù)檢測(cè)間隔選取下一檢測(cè)行作為當(dāng)前檢測(cè)行重新進(jìn)行判斷。6.根據(jù)權(quán)利要求1所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟S4包括: 541、確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置O,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到; 542、將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值; 543、根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn); 544、根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別。7.根據(jù)權(quán)利要求6所述的一種基于連通域的二維條碼識(shí)別方法,其特征在于:所述步驟S43包括: 5431、判斷當(dāng)前尋標(biāo)元素X是否大于設(shè)定閾值N,若是,則結(jié)束尋找過程,反之,則執(zhí)行步驟S432,其中,元素X為第二數(shù)組f (X)中的任一元素; 5432、判斷當(dāng)前尋標(biāo)元素X是否滿足f(x+2).len/f (X).len=3,若是,則執(zhí)行步驟S433,反之,則執(zhí)行步驟S435,其中,f(x+2).len為第二數(shù)組f(x)中元素x+2游程編碼的游程長(zhǎng)度,f (X).1en為第二數(shù)組f (X)中元素X游程編碼的游程長(zhǎng)度,元素x+2由元素X向后移動(dòng)2步得到; 5433、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).len/f (x+4).1en=I,若是,則執(zhí)行步驟S434,反之,則執(zhí)行步驟S436,其中,f(x+4).len第二數(shù)組f(x)中元素x+4游程編碼的游程長(zhǎng)度,元素x+4由元素X向后移動(dòng)4步得到; 5434、判斷當(dāng)前尋標(biāo)元素X是否滿足f(X).val/f (x+4).val=l,若是,則標(biāo)記當(dāng)前尋標(biāo)元素X的位置并以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則直接以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431,其中,f(x)?val為第二數(shù)組f(x)中元素X的實(shí)際數(shù)值,f(x+4).val為第二數(shù)組f (x)中元素x+4的實(shí)際數(shù)值; 5435、判斷當(dāng)前尋標(biāo)元素是否滿足f(x+2).len/f (X).1en大于I,若是,則以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)2步得到的元素x+2作為當(dāng)前尋標(biāo)元素返回步驟S431; 5436、判斷當(dāng)前尋標(biāo)元素是否滿足f(X).len/f (x+4).1en大于I,若是,則以元素x向后移動(dòng)4步得到的元素x+4作為當(dāng)前尋標(biāo)元素返回步驟S431,反之,則以元素X向后移動(dòng)6步得到的元素x+6作為當(dāng)前尋標(biāo)元素返回步驟S431。8.一種基于連通域的二維條碼識(shí)別系統(tǒng),其特征在于:包括 預(yù)處理模塊,用于對(duì)從終端獲取的含有二維碼的彩色圖像進(jìn)行灰度化和二值化處理,得到二值圖像; 連通區(qū)域劃分模塊,用于對(duì)二值圖像進(jìn)行取反和連通區(qū)域劃分,然后標(biāo)記劃分出的連通區(qū)域; 最小區(qū)域確定模塊,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,然后根據(jù)QR碼尋像圖形的坐標(biāo)確定包含尋像圖形的最小區(qū)域; 中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊,用于在包含尋像圖形的最小區(qū)域中,采用改進(jìn)的KMP算法尋找QR碼尋像圖形中心坐標(biāo)點(diǎn),并根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別; 所述預(yù)處理模塊的輸出端依次通過連通區(qū)域劃分模塊、最小區(qū)域確定模塊進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。9.根據(jù)權(quán)利要求8所述的一種基于連通域的二維條碼識(shí)別系統(tǒng),其特征在于:所述最小區(qū)域確定模塊包括: 尋找和記錄單元,用于根據(jù)連通區(qū)域的值以及長(zhǎng)度尋找QR碼尋像圖形,并記錄QR碼尋像圖形的坐標(biāo); 確定單元,用于根據(jù)記錄的坐標(biāo)確定包含尋像圖形的最小區(qū)域; 所述連通區(qū)域劃分模塊的輸出端依次通過尋找和記錄單元以及確定單元進(jìn)而和中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊的輸入端連接。10.根據(jù)權(quán)利要求8所述的一種基于連通域的二維條碼識(shí)別系統(tǒng),其特征在于:所述中心坐標(biāo)點(diǎn)尋找與識(shí)別模塊包括: 矩陣獲取單元,用于確定包含尋像圖形的最小區(qū)域的標(biāo)識(shí)矩陣及第一數(shù)組,所述最小區(qū)域的標(biāo)識(shí)矩陣只保留連通域檢測(cè)為QR碼尋像圖形的元素值而將其它元素值置O,所述第一數(shù)組由最小區(qū)域的標(biāo)識(shí)矩陣加上在標(biāo)識(shí)矩陣最右邊所增加的一列O值元素得到; 游程編碼單元,用于將第一數(shù)組的每一行連接在一起組成一個(gè)行向量,然后對(duì)該行向量進(jìn)行游程編碼,并將游程編碼的信息存儲(chǔ)在第二數(shù)組中,所述第二數(shù)組為結(jié)構(gòu)體數(shù)組且用于記錄游程長(zhǎng)度和數(shù)組元素的實(shí)際數(shù)值; 中心坐標(biāo)點(diǎn)尋找單元,用于根據(jù)第二數(shù)組采用改進(jìn)的KMP算法中尋找QR碼尋像圖形中心坐標(biāo)點(diǎn); 校正識(shí)別單元,用于根據(jù)尋找的中心坐標(biāo)點(diǎn)進(jìn)行圖像校正與二維條碼識(shí)別; 所述最小區(qū)域確定模塊的輸出端依次通過矩陣獲取單元、游程編碼單元和中心坐標(biāo)點(diǎn)尋找單元進(jìn)而與校正識(shí)別單元的輸入端連接。
【文檔編號(hào)】G06K9/00GK105868724SQ201610213155
【公開日】2016年8月17日
【申請(qǐng)日】2016年4月7日
【發(fā)明人】胡建國(guó), 李仕仁, 林格, 白大偉, 吳江旭, 洪佳欣
【申請(qǐng)人】廣州智慧城市發(fā)展研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1