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