一種二維碼解碼系統(tǒng)及其方法
【專利摘要】本發(fā)明所述的一種二維碼解碼系統(tǒng)及其方法,在對碼圖像進行二值化處理時,通過對碼圖像進行分塊操作,每一個分塊區(qū)域的灰度閾值都不相同,因此對于每一個分塊區(qū)域內(nèi)的像素點在碼圖像被還原的過程中是判定為黑還是判定為白,并不是單純由其自身的灰度值來決定的,而是考慮到該像素點所在分塊區(qū)域的預定范圍的平均灰度值。即當一個分塊區(qū)域所在的預定范圍的灰度值整體偏大時,那么該分塊區(qū)域中所對應的灰度閾值就會偏大,反之亦然。即每一個分塊區(qū)域的灰度閾值是根據(jù)其所在區(qū)域的背景灰度密切相關的,因此得到的二值化結果可以排除外界環(huán)境的干擾,可以清晰呈現(xiàn)出二值化圖像。從而為碼的解碼提供了一個準確的基礎,保證了解碼的準確性。
【專利說明】-種二維碼解碼系統(tǒng)及其方法
【技術領域】
[0001] 本發(fā)明屬于二維碼【技術領域】,具體地說是一種二維碼解碼系統(tǒng)及其方法。
【背景技術】
[0002] 基于圖像處理的二維碼解碼算法大體上可以分為五個步驟:圖像預處理、定位與 校正、讀取數(shù)據(jù)、糾錯以及譯碼。圖像預處理基本步驟是灰度變換、圖像濾波、閾值分割、邊 緣檢測,二值化是包括在閾值分割里的。將獲得的灰度圖像經(jīng)過對比度適應、亮度調節(jié)等增 強算法后,利用二值化算法實現(xiàn)圖像中背景和目標物的分割,將圖片轉化為只有黑白兩種 顏色的圖像,以備解碼使用。
[0003] 但是,由于二維碼依附的介質不同,所處的光照環(huán)境不同,以及成像系統(tǒng)不同等因 素,會導致通過二維碼識讀設備抓取到的二維碼圖像千差萬別,噪聲的影響、圖像光照不 均、對比度過大過小等都會使得二維碼圖像轉化為二值化圖像變得很復雜,而圖像的二值 化過程的效果優(yōu)劣又直接關乎二維碼的識讀效果?,F(xiàn)有技術中的二值化方法應對復雜背景 時有些不足,無法很好的處理較暗、光照不均、對比度過大或過小等問題,也就無法獲得良 好的二值化效果。獲得的二值化圖像的效果不好,便加大了后續(xù)解碼的難度,或需要加大運 算量,或者降低解碼的準確性,甚者有可能導致解碼步驟無法順利進行。并且隨著技術的進 步,現(xiàn)有的解碼技術恐無法滿足用戶對二維碼解碼速度以及準確性等各方面越來越高的需 求。
【發(fā)明內(nèi)容】
[0004] 為此,本發(fā)明所要解決的技術問題在于現(xiàn)有技術中,從而提出一種二維碼解碼系 統(tǒng)及其方法。
[0005] 為解決上述技術問題,本發(fā)明是通過以下技術方案實現(xiàn)的:
[0006] 一種二維碼解碼方法,包括如下步驟:
[0007] 對二維碼圖像進行二值化處理得到二值化圖像,所述二值化處理包括:
[0008] 將二維碼圖像進行切割得到若干分塊區(qū)域;
[0009] 獲取每一分塊區(qū)域的所有像素點的灰度值,并根據(jù)所述所有像素點的灰度值獲得 每一分塊區(qū)域的灰度值;
[0010] 根據(jù)每一分塊區(qū)域所在的預定范圍的平均灰度值,確定該分塊區(qū)域的灰度閾值;
[0011] 根據(jù)每一分塊區(qū)域對應的灰度閾值對該分塊區(qū)域中的像素點進行二值化處理,得 到二值化圖像;
[0012] 對所述二值化圖像進行解碼,得到二維碼所包含的信息內(nèi)容。
[0013] 所述的二維碼解碼方法,所述二值化處理還包括如下步驟:
[0014] 根據(jù)二維碼圖像中像素點灰度值的關系構建對比度因子,所述對比度因子與二維 碼圖像中最大灰度值和最小灰度值的差值呈正比關系;
[0015] 所述獲取每一分塊區(qū)域的所有像素點的灰度值,并根據(jù)所述所有像素點的灰度值 的獲得每一分塊區(qū)域的灰度值的處理包括:
[0016] 根據(jù)某一分塊區(qū)域中最大灰度值和最小灰度值的差值與所述對比度因子的關系 并結合與該分塊區(qū)域相鄰的其他分塊區(qū)域的灰度值,確定該分塊區(qū)域的灰度值。
[0017] 所述的二維碼解碼方法,所述根據(jù)某一分塊區(qū)域中最大灰度值和最小灰度值的差 值與所述對比度因子的關系并結合與該分塊區(qū)域相鄰的其他分塊區(qū)域的灰度值,確定該分 塊區(qū)域的灰度值的處理中利用以下公式獲得分塊區(qū)域(i,j)的灰度值另[:
[0018]
【權利要求】
1. 一種二維碼解碼方法,其特征在于,包括如下步驟: 對二維碼圖像進行二值化處理得到二值化圖像,所述二值化處理包括: 將二維碼圖像進行切割得到若干分塊區(qū)域; 獲取每一分塊區(qū)域的所有像素點的灰度值,并根據(jù)所述所有像素點的灰度值獲得每一 分塊區(qū)域的灰度值; 根據(jù)每一分塊區(qū)域所在的預定范圍的平均灰度值,確定該分塊區(qū)域的灰度閾值; 根據(jù)每一分塊區(qū)域對應的灰度閾值對該分塊區(qū)域中的像素點進行二值化處理,得到二 值化圖像; 對所述二值化圖像進行解碼,得到二維碼所包含的信息內(nèi)容。
2. 根據(jù)權利要求1所述的二維碼解碼方法,其特征在于,所述二值化處理還包括如下 步驟: 根據(jù)二維碼圖像中像素點灰度值的關系構建對比度因子,所述對比度因子與二維碼圖 像中最大灰度值和最小灰度值的差值呈正比關系; 所述獲取每一分塊區(qū)域的所有像素點的灰度值,并根據(jù)所述所有像素點的灰度值的獲 得每一分塊區(qū)域的灰度值的處理包括: 根據(jù)某一分塊區(qū)域中最大灰度值和最小灰度值的差值與所述對比度因子的關系并結 合與該分塊區(qū)域相鄰的其他分塊區(qū)域的灰度值,確定該分塊區(qū)域的灰度值。
3. 根據(jù)權利要求2所述的二維碼解碼方法,其特征在于,所述根據(jù)某一分塊區(qū)域中最 大灰度值和最小灰度值的差值與所述對比度因子的關系并結合與該分塊區(qū)域相鄰的其他 分塊區(qū)域的灰度值,確定該分塊區(qū)域的灰度值的處理中利用以下公式獲得分塊區(qū)域(i,j) 的灰度值
其中,i表示分塊區(qū)域所在行的編號,j表示分塊區(qū)域所在列的編號,Su表示該分塊區(qū) 域中所有像素點的灰度值的總和,C表示對比度因子,maxu表示該分塊區(qū)域中的最大灰度 值,minu表示該分塊區(qū)域中最小灰度值,m表示分塊區(qū)域中包含m*m個像素點,其中m為大 于1的整數(shù)。
4. 根據(jù)權利要求2或3所述的二維碼解碼方法,其特征在于,利用以下公式構建所述對 比度因子C :
其中CtlX1X2均為0-255的常數(shù),Ytl和Y 1均為亮度差常數(shù),且Ytl和Y1均為0-255的常 數(shù)。
5. 根據(jù)權利要求1-4任一所述的二維碼解碼方法,其特征在于,所述根據(jù)每一分塊區(qū) 域所在的預定范圍的平均灰度值,確定該分塊區(qū)域的灰度閾值的處理中: 所述預定范圍中包括n*n個分塊區(qū)域,其中η為大于1的整數(shù)。
6. 根據(jù)權利要求1-5任一所述的二維碼解碼方法,其特征在于,所述對所述二值化圖 像進行解碼,得到二維碼所包含的解碼信息的處理包括: 確定原圖坐標系和校正后圖像所在的校正坐標系,所述校正坐標系中的每一點均對應 著原圖坐標系中的一個點;并分別確定探測圖形的中心點以及校正圖形的中心點在原圖坐 標系下的坐標和在校正坐標系下的坐標;所述探測圖形包括第一探測圖形,第二探測圖形 和第三探測圖形; 根據(jù)每一探測圖形中心點和校正圖形中心點在所述原圖坐標系下的坐標及與其在校 正坐標系下對二值化圖像進行校正,獲得校正后圖形; 獲取所述校正后圖形中包含的信息內(nèi)容。
7. 根據(jù)權利要求6所述的二維碼解碼方法,其特征在于,確定探測圖形的中心點在原 圖坐標系下的坐標的處理中,確定每一個探測圖形的中心點坐標的步驟包括: 沿第一方向對所述二值化圖像進行檢測,檢測黑:白:黑:白:黑的長度比例滿足第一 預設比例的第一線段,確定所述第一線段的中心點; 沿第二方向對經(jīng)過所述第一線段的中心點的直線進行檢測,得到黑:白:黑:白:黑的 長度比例滿足第一預設比例的第二線段,所述第二線段的中心點為探測圖形的中心點。
8. 根據(jù)權利要求7所述的二維碼解碼方法,其特征在于,所述確定每一個探測圖形的 中心點坐標的步驟還包括: 設置沿第一方向對所述二值化圖像進行檢測時的檢測步長,所述檢測步長小于或等于 二值化圖像中單個模塊在第一方向上包含的像素數(shù)。
9. 根據(jù)權利要求8所述的二維碼解碼方法,其特征在于,所述設置沿第一方向對二值 化圖像進行檢測時的檢測步長的步驟中,根據(jù)二值化圖像在第一方向上包含的像素數(shù)與單 個模塊在第一方向上包含的像素數(shù)來獲得所述檢測步長。
10. 根據(jù)權利要求8或9所述的二維碼解碼方法,其特征在于,所述設置沿第一方向對 二值化圖像進行檢測時的檢測步長的步驟中,利用以下公式得到所述檢測步長: L = Max (MXN/Mod, Min), 其中M為二值化圖像在第一方向上包含的像素數(shù),N為調整系數(shù)且0 < N彡1,Mod為 預設的二值化圖像在第一方向上包含的模塊數(shù),Min為二值化圖像單個模塊在第一方向上 的像素數(shù)。
11. 根據(jù)權利要求6-10任一所述的二維碼解碼方法,其特征在于,確定校正圖形的中 心點在原圖坐標系下的坐標的處理包括: 根據(jù)校正圖形的中心點與探測圖形的中心點的相對位置關系獲取參考坐標; 在所述參考坐標的預定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點的坐標。
12. 根據(jù)權利要求11所述的二維碼解碼方法,其特征在于,所述根據(jù)校正圖形的中心 點與探測圖形的中心點的相對位置關系獲取參考坐標的處理包括: 根據(jù)所述校正圖形的中心點與所述第一探測圖形的中心點的橫向距離獲取參考橫坐 標;根據(jù)所述校正圖形的中心點與所述第一探測圖形的中心點的縱向距離獲取參考縱坐 標;利用下述公式確定所述橫向距離和所述縱向距離: 所述橫向距離為:eh=e (Xk-Xa); 所述縱向距離為:εζ=ε (Yk-Ya); 其中Xk = XB-XA+XC,YK = YB-YA+YC ; (XB,Yb)為第二探測圖形的中心點的坐標;(Xc,Yc)為 第三探測圖形的中心點的坐標;ε為校正圖形偏離因子,且ε=(Ν_3)/Κ,Κ為二值化圖像第 一方向上包含的模塊的數(shù)量。
13. 根據(jù)權利要求11或12所述的二維碼解碼方法,其特征在于,所述在所述參考坐標 的預定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點的坐標的處理中: 所述預定范圍為包含所述參考坐標的正方形區(qū)域,所述正方形區(qū)域包含至少64個模 塊。
14. 根據(jù)權利要求11-13任一所述的二維碼解碼方法,其特征在于,在所述參考坐標的 預定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點的坐標的步驟包括: 沿第一方向對所述預定范圍檢測,檢測白:黑:白的長度比例滿足第二預設比例的第 三線段,確定所述第三線段中黑色部分的中心點; 以所述第三線段中黑色部分的中心點作為基準位置,得到垂直于所述第三線段的直 線,在該直線上檢測白:黑:白的長度比例滿足第二預設比例的第四線段,所述第四線段中 黑色部分的中心點為校正圖形的中心點。
15. 根據(jù)權利要求6-14任一所述的二維碼解碼方法,其特征在于,所述根據(jù)每一探測 圖形中心點和校正圖形中心點在所述原圖坐標系下的坐標及與其在校正坐標系下對二值 化圖像進行校正,獲得校正后圖形的處理包括: 根據(jù)每一探測圖形中心點和校正圖形中心點在所述原圖坐標系下的坐標及與其在校 正坐標系下的坐標獲取轉換參數(shù); 根據(jù)所述轉換參數(shù),對所述校正坐標系中的每一點,查找到所述原圖坐標系中與之對 應的點所在的二值化圖像中的模塊,并且將該模塊的灰度值賦予該點,完成二值化圖像的 校正過程。
16. 根據(jù)權利要求15所述的二維碼解碼方法,其特征在于,所述根據(jù)所述轉換參數(shù),對 所述校正坐標系中的每一點,查找到所述原圖坐標系中與之對應的點所在的二值化圖像中 的模塊,并且將該模塊的灰度值賦予該點,完成二值化圖像的校正過程的處理中: 所述模塊的灰度值為模塊中心點像素的灰度值。
17. 根據(jù)權利要求15或16所述的二維碼解碼方法,其特征在于,所述根據(jù)每一探測圖 形中心點和校正圖形中心點在所述原圖坐標系下的坐標及與其在校正坐標系下的坐標獲 取轉換參數(shù)的處理中: 根據(jù)透視變換準則獲取所述轉換參數(shù)。
18. -種二維碼解碼系統(tǒng),其特征在于,包括: 二值化模塊,用于對二維碼圖像進行二值化處理得到二值化圖像;其進一步包括: 分塊單元,用于將二維碼圖像進行切割得到若干分塊區(qū)域; 灰度值獲取單元,用于獲取每一分塊區(qū)域的所有像素點的灰度值,并根據(jù)所述所有像 素點的灰度值獲得每一分塊區(qū)域的灰度值; 灰度閾值獲取單元,用于根據(jù)每一分塊區(qū)域所在的預定范圍的平均灰度值,確定該分 塊區(qū)域的灰度閾值; 二值化圖像獲取單元,用于根據(jù)每一分塊區(qū)域對應的灰度閾值對該分塊區(qū)域中的像素 點進行二值化處理,得到二值化圖像; 解碼模塊,用于對所述二值化圖像進行解碼,得到二維碼所包含的信息內(nèi)容。
19. 根據(jù)權利要求18所述的二維碼解碼系統(tǒng),其特征在于,所述二值化模塊還包括: 對比度因子構建模塊,用于根據(jù)二維碼圖像中像素點灰度值的關系構建對比度因子, 所述對比度因子與二維碼圖像中最大灰度值和最小灰度值的差值呈正比關系; 所述灰度值獲取單元中,根據(jù)某一分塊區(qū)域中最大灰度值和最小灰度值的差值與所述 對比度因子的關系并結合與該分塊區(qū)域相鄰的其他分塊區(qū)域的灰度值,確定該分塊區(qū)域的 灰度值。
20. 根據(jù)權利要求19所述的二維碼解碼系統(tǒng),其特征在于,所述對比度因子構建模塊 中利用以下公式獲得分塊區(qū)域(i,j)的灰度值
其中,i表示分塊區(qū)域所在行的編號,j表示分塊區(qū)域所在列的編號,Su表示該分塊區(qū) 域中所有像素點的灰度值的總和,C表示對比度因子,maxu表示該分塊區(qū)域中的最大灰度 值,minu表示該分塊區(qū)域中最小灰度值,m表示分塊區(qū)域中包含m*m個像素點,其中m為大 于1的整數(shù)。
21. 根據(jù)權利要求19或20所述的二維碼解碼系統(tǒng),其特征在于,所述對比度因子構建 模塊中,利用以下公式構建所述對比度因子C :
其中CtlX1X2均為0-255的常數(shù),Ytl和Y 1均為亮度差常數(shù),且Ytl和Y1均為0-255的常 數(shù)。
22. 根據(jù)權利要求18-21任一所述的二維碼解碼系統(tǒng),其特征在于,所述灰度閾值獲取 單元,設定所述預定范圍中包括n*n個分塊區(qū)域,其中η為大于1的整數(shù)。
23. 根據(jù)權利要求18-22任一所述的二維碼解碼系統(tǒng),其特征在于,所解碼模塊包括: 坐標確定單元,用于確定原圖坐標系和校正后圖像所在的校正坐標系,所述校正坐標 系中的每一點均對應著原圖坐標系中的一個點; 其包括探測圖形坐標獲取子單元,用于確定探測圖形的中心點在原圖坐標系下的坐 標; 校正圖形坐標獲取子單元,用于確定校正圖形的中心點在原圖坐標系下的坐標; 校正坐標獲取子單元,用于確定探測圖形的中心點和校正圖形的中心點在校正坐標系 下的坐標; 校正圖形獲取單元,根據(jù)每一探測圖形中心點和校正圖形中心點在所述原圖坐標系下 的坐標及與其在校正坐標系下對二值化圖像進行校正,獲得校正后圖形; 信息獲取單元,用于獲取所述校正后圖形中包含的信息內(nèi)容。
24. 根據(jù)權利要求23所述的二維碼解碼系統(tǒng),其特征在于,所述探測圖形坐標獲取子 單元,用于沿第一方向對所述二值化圖像進行檢測,檢測黑:白:黑:白:黑的長度比例滿足 第一預設比例的第一線段,確定所述第一線段的中心點;沿第二方向對經(jīng)過所述第一線段 的中心點的直線進行檢測,得到黑:白:黑:白:黑的長度比例滿足第一預設比例的第二線 段,所述第二線段的中心點為探測圖形的中心點。
25. 根據(jù)權利要求24所述的二維碼解碼系統(tǒng),其特征在于,所述探測圖形坐標獲取子 單元還用于設置沿第一方向對所述二值化圖像進行檢測時的檢測步長,所述檢測步長小于 或等于二值化圖像中單個模塊在第一方向上包含的像素數(shù)。
26. 根據(jù)權利要求25所述的二維碼解碼系統(tǒng),其特征在于,所述探測圖形坐標獲取子 單元,還用于根據(jù)二值化圖像在第一方向上包含的像素數(shù)與單個模塊在第一方向上包含的 像素數(shù)來獲得所述檢測步長。
27. 根據(jù)權利要求25或26所述的二維碼解碼系統(tǒng),其特征在于,所述探測圖形坐標獲 取子單元中,利用以下公式得到所述檢測步長: L = Max (MXN/Mod, Min) 其中M為二值化圖像在第一方向上包含的像素數(shù),N為調整系數(shù)且0 < N彡1,Mod為 預設的二值化圖像在第一方向上包含的模塊數(shù),Min為二值化圖像單個模塊在第一方向上 的像素數(shù)。
28. 根據(jù)權利要求23-27任一所述的二維碼解碼系統(tǒng),其特征在于,所述校正圖形坐標 確定子單元,用于根據(jù)校正圖形的中心點與探測圖形的中心點的相對位置關系獲取參考坐 標,在所述參考坐標的預定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點的坐標。
29. 根據(jù)權利要求28所述的二維碼解碼系統(tǒng),其特征在于,所述校正圖形坐標獲取子 單元還用于根據(jù)所述校正圖形的中心點與所述第一探測圖形的中心點的橫向距離獲取參 考橫坐標;根據(jù)所述校正圖形的中心點與所述第一探測圖形的中心點的縱向距離獲取參考 縱坐標;利用下述公式確定所述橫向距離和所述縱向距離 : 所述橫向距離為:eh=e (Xk-Xa); 所述縱向距離為:εζ=ε (Yk-Ya); 其中Xk = XB-XA+XC,YK = YB-YA+YC ; (XB,Yb)為第二探測圖形的中心點的坐標;(Xc,Yc)為 第三探測圖形的中心點的坐標;ε為校正圖形偏離因子,且ε=(Ν_3)/Κ,Κ為二值化圖像第 一方向上包含的模塊的數(shù)量。
30. 根據(jù)權利要求28或29所述的二維碼解碼系統(tǒng),其特征在于,所述校正圖形坐標獲 取子單元中,設置所述預定范圍為包含所述參考坐標的正方形區(qū)域,所述正方形區(qū)域包含 至少64個模塊。
31. 根據(jù)權利要求28-30任一所述的二維碼解碼系統(tǒng),其特征在于,所述校正圖形坐標 獲取子單元,還用于沿第一方向對所述預定范圍檢測,檢測白:黑:白的長度比例滿足第二 預設比例的第三線段,確定所述第三線段中黑色部分的中心點;以所述第三線段中黑色部 分的中心點作為基準位置,得到垂直于所述第三線段的直線,在該直線上檢測白:黑:白的 長度比例滿足第二預設比例的第四線段,所述第四線段中黑色部分的中心點為校正圖形的 中心點。
32. 根據(jù)權利要求23-31任一所述的二維碼解碼系統(tǒng),其特征在于,所述校正圖形獲取 單元包括: 轉換參數(shù)獲取子單元,用于根據(jù)每一探測圖形中心點和校正圖形中心點在所述原圖坐 標系下的坐標及與其在校正坐標系下的坐標獲取轉換參數(shù); 校正子單元,根據(jù)所述轉換參數(shù),對所述校正坐標系中的每一點,查找到所述原圖坐標 系中與之對應的點所在的二值化圖像中的模塊,并且將該模塊的灰度值賦予該點,完成二 值化圖像的校正過程。
33. 根據(jù)權利要求32所述的二維碼解碼系統(tǒng),其特征在于,所述校正子單元中,設定所 述模塊的灰度值為模塊中心點像素的灰度值。
34. 根據(jù)權利要求32或33所述的二維碼解碼系統(tǒng),其特征在于,所述校正子單元中,根 據(jù)透視變換準則獲取所述轉換參數(shù)。
【文檔編號】G06K7/10GK104517089SQ201310454907
【公開日】2015年4月15日 申請日期:2013年9月29日 優(yōu)先權日:2013年9月29日
【發(fā)明者】張玲, 關超, 劉振華, 劉革章, 車萬毅 申請人:北大方正集團有限公司, 方正移動傳媒技術(北京)有限公司