一種qr碼校正圖形的檢測方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種QR碼校正圖形的檢測方法及系統(tǒng),在進(jìn)行校正圖形檢測時(shí),首先根據(jù)檢測到的探測圖形的坐標(biāo)以及不同QR碼版本來粗略估計(jì)校正圖形的坐標(biāo)位置,然后在坐標(biāo)周圍劃一方形區(qū)域進(jìn)行循環(huán)查找,最后結(jié)合校正圖形自身的特點(diǎn),即線段比例滿足預(yù)設(shè)比例,在方形區(qū)域內(nèi)準(zhǔn)確定位校正圖形。不需要在整個(gè)QR碼圖像范圍內(nèi)逐行搜索滿足線段1:1:1的比例的圖形,有效的實(shí)現(xiàn)了資源的整合與優(yōu)化,極大的減少了檢測量,使得校正圖形的檢測更加快速高效,同時(shí)可以確保檢測的精度與準(zhǔn)度。同時(shí)還提供了因拍攝和二值化過程中引入誤差造成校正圖形的中心黑色模塊失真或者不存在時(shí)的檢測方法。
【專利說明】—種QR碼校正圖形的檢測方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像定位檢測技術(shù),具體地說是一種QR碼校正圖形的檢測方法及系統(tǒng)。
【背景技術(shù)】
[0002]二維碼是由按照一定規(guī)律在二維方向上分布的黑白相間的特定幾何圖形組成,其可以在二維方向上表達(dá)信息,因此信息容量及空間利用率較高,并具有一定的校驗(yàn)功能。二維碼分為堆疊式二維碼和矩陣式二維碼,QR碼便是矩陣式二維碼中的一種。
[0003]QR碼中最小的信息單元為正方形的模塊,不同版本號的QR碼包括的模塊數(shù)也不相同。版本號為I的QR碼包括21*21個(gè)模塊,版本號每增加1,QR碼包括的模塊數(shù)量就在橫向和縱向上均增加4個(gè)。QR碼圖像識別過程中需要對圖像進(jìn)行校正,而這種校正過程往往依賴于QR碼圖像中的探測圖形和校正圖形。不同的QR碼版本,校正圖形的個(gè)數(shù)也不相同,在版本號為I的QR碼中沒有校正圖形,在版本號為2的QR碼中有一個(gè)校正圖形,在QR碼的右下角附近。版本號為21的QR碼中有22個(gè)校正圖形??梢酝ㄟ^QR碼的外形來求得推測校正圖形中心點(diǎn)與實(shí)際校正圖形中心點(diǎn)的誤差來修正各個(gè)模塊的中心距離,即使將QR碼貼在彎曲的物品上也能夠快速識讀。
[0004]目前探測圖形和校正圖形的檢測是分開進(jìn)行的,相互之間不進(jìn)行關(guān)聯(lián)。在不考慮形變特別嚴(yán)重的情況下,整個(gè)QR碼圖像呈現(xiàn)正方形的狀態(tài),如圖1所示。無論是探測圖形還是校正圖形都是正方形的黑色模塊與白色模塊交錯(cuò)的圖形。其中探測圖形位于QR碼圖像的左上、右上和左下三個(gè)位置,校正圖形在QR碼圖像內(nèi)部,版本號的不同數(shù)量和位置也不同。校正圖形由5*5個(gè)黑色模塊、3*3個(gè)黑色模塊以及位于中心的一個(gè)黑色模塊構(gòu)成,使得校正圖形從不同方向上的都存在黑:白:黑呈現(xiàn)1:1:1的比例的線段,整個(gè)QR碼圖像中的其他圖形基本不會呈現(xiàn)這種比例。
[0005]現(xiàn)有技術(shù)中一般采取整個(gè)QR碼圖像范圍內(nèi)搜索滿足黑:白:黑線段1:1:1的比例的圖形,包括水平方向逐行搜索、垂直方向逐行搜索、以及對角線方向測定三個(gè)步驟確定校正圖形的位置。這種方法進(jìn)行校正圖形的檢測在QR碼圖像形變較小的情況下準(zhǔn)確度較高,但是逐行檢測的檢測速度慢、檢測效率低下。
【發(fā)明內(nèi)容】
[0006]為此,本發(fā)明所要解決的技術(shù)問題在于現(xiàn)有技術(shù)中無法快速準(zhǔn)確的檢測出QR碼的校正圖形,從而提出一種QR碼校正圖形的檢測方法。
[0007]為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0008]一種QR碼校正圖形的檢測方法,包括如下步驟:
[0009]根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo);
[0010]在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
[0011]進(jìn)一步地所述根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo)的步驟包括:
[0012]獲取第一探測圖形的中心點(diǎn)坐標(biāo)(XA,Ya);
[0013]根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
[0014]進(jìn)一步地利用下述公式確定所述橫向距離和所述縱向距離:
[0015]所述橫向距離為:ε h= ε (Xr-Xa);
[0016]所述縱向距離為:ε ζ= ε (Yr-Ya);
[0017]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xe, Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。
[0018]進(jìn)一步地利用下述公式確定所述校正圖形偏離因子:
[0019]ε =(Ν-3)/Ν,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。
[0020]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟中,所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域,所述正方形區(qū)域包含至少64個(gè)模塊。
[0021]進(jìn)一步地所述正方形區(qū)域包含256個(gè)模塊。
[0022]進(jìn)一步地所述正方形區(qū)域包含1024個(gè)模塊。
[0023]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟包括:
[0024]沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn);
[0025]以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
[0026]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括:
[0027]以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線;在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
[0028]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括:
[0029]以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
[0030]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括:
[0031]根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線;
[0032]根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線;
[0033]根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn);
[0034]獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
[0035]進(jìn)一步地所述預(yù)設(shè)比例為:
[0036]白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。
[0037]進(jìn)一步地在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟中:
[0038]若沿第一方向?qū)λ鲱A(yù)定范圍檢測后未檢測到白:黑:白的長度比例滿足預(yù)設(shè)比例的橫向或縱向線段,則進(jìn)行如下步驟:
[0039]沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn);
[0040]以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
[0041]進(jìn)一步地所述預(yù)設(shè)長度在0.7L-1.3L的范圍內(nèi)。
[0042]一種QR碼校正圖形的檢測系統(tǒng),包括:
[0043]粗定位模塊:用于根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo);
[0044]精確定位模塊:用于在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
[0045]進(jìn)一步地所述粗定位模塊包括:
[0046]探測圖形中心點(diǎn)的坐標(biāo)獲取單元:用于獲取第一探測圖形的中心點(diǎn)坐標(biāo)(XA,Ya);
[0047]參考坐標(biāo)獲取單元:用于根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
[0048]進(jìn)一步地所述參考坐標(biāo)獲取單元中利用下述公式確定所述橫向距離和所述縱向距離:
[0049]所述橫向距離為:ε h= ε (Xr-Xa);
[0050]所述縱向距離為:ε ζ= ε (Yr-Ya);
[0051 ] 其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xe, Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。
[0052]進(jìn)一步地所述校正圖形偏離因子ε =(Ν_3)/Ν,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。
[0053]進(jìn)一步地所述精確定位模塊中,設(shè)定所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域,所述正方形區(qū)域包含至少64個(gè)模塊。
[0054]進(jìn)一步地所述精確定位模塊中,設(shè)定所述正方形區(qū)域包含256個(gè)模塊。
[0055]21.根據(jù)權(quán)利要求19所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊中,所述正方形區(qū)域包含1024個(gè)模塊。
[0056]進(jìn)一步地所述精確定位模塊還包括:
[0057]第一方向檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn);
[0058]第二方向檢測單元:用于以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
[0059]進(jìn)一步地所述精確定位模塊還包括:
[0060]比較判斷單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線,在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回所述第一方向檢測單元。
[0061]進(jìn)一步地所述精確定位模塊還包括:
[0062]對角線方向檢測單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回第一方向檢測單元。
[0063]進(jìn)一步地所述第一方向檢測單元,還用于根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線;
[0064]所述第二方向檢測單元,還用于根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線;
[0065]近似中心點(diǎn)獲取單元,用于根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn);
[0066]校正圖形中心點(diǎn)獲取單元,用于獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
[0067]進(jìn)一步地所述預(yù)設(shè)比例為:
[0068]白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。
[0069]進(jìn)一步地所述精確定位模塊還包括:
[0070]第一方向模糊檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn);
[0071]第二方向模糊檢測單元:用于以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
[0072]進(jìn)一步地所述預(yù)設(shè)線段長度在0.7L-1.3L的范圍內(nèi)。
[0073]本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
[0074](I)本發(fā)明所述的QR碼校正圖形的檢測方法及系統(tǒng)本實(shí)施例中的QR碼校正圖形的檢測方法,在預(yù)定范圍內(nèi)進(jìn)行精確定位,其運(yùn)算量一定小于在整個(gè)QR碼圖的范圍內(nèi)進(jìn)行逐行和逐列掃描的運(yùn)算量。因此能夠在一定程度上縮短校正圖形的檢測時(shí)間,提高檢測效率。
[0075](2)本發(fā)明所述的QR碼校正圖形的檢測方法及系統(tǒng)在進(jìn)行校正圖形檢測時(shí),所述粗定位步驟中,根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取所述參考坐標(biāo)。由于在對QR碼圖像識別過程中必須首先對探測圖形進(jìn)行檢測,所以探測圖形的位置在檢測校正圖形之前已經(jīng)獲得,而無論版本號為多少,右下角的校正圖形與三個(gè)探測圖形的位置關(guān)系都是固定的。結(jié)合探測圖形與校正圖形的位置關(guān)系,可以大致參考出校正圖形的坐標(biāo),進(jìn)而可以快速的檢測出校正圖形,有效的實(shí)現(xiàn)了資源的整合與優(yōu)化。
[0076](3)本發(fā)明所述的QR碼校正圖形的檢測方法及系統(tǒng),利用標(biāo)準(zhǔn)的QR碼呈現(xiàn)正方形的結(jié)構(gòu),并且校正圖形的中心與第二探測圖形的中心在縱向上的距離與第三探測圖形的中心和第一探測圖形的中心點(diǎn)的縱向距離相差3個(gè)模塊。校正圖形的中心與第三探測圖形在橫向上的距離與第二探測圖形和第一探測圖形的中心點(diǎn)的橫向距離相差3個(gè)模塊。利用上述位置關(guān)系來得到校正圖形中心點(diǎn)的坐標(biāo),因?yàn)樵O(shè)立校正圖形的目的在于在解碼過程中為矯正過程提供相應(yīng)數(shù)據(jù),使得失真的QR碼圖像得以還原,為后續(xù)的解碼過程的順利進(jìn)行做好準(zhǔn)備。但是對失真的QR碼圖像的矯正,并不需要使用所有的校正圖形。如果不進(jìn)行邊緣檢測,檢測出所有的校正圖形,不僅沒有必要,反而會占用很多內(nèi)存,同時(shí)運(yùn)算量過大,也會致使整體運(yùn)算速度較慢。因此只選擇右下角的校正圖形的坐標(biāo)可以簡化運(yùn)算量。
[0077](4)本發(fā)明所述的QR碼校正圖形的檢測方法及系統(tǒng),所述精確定位步驟中,所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域。正方形區(qū)域過大,會造成檢測范圍過寬,運(yùn)算量過大致使檢測速度較慢,若正方形區(qū)域過小,可能會造成無法檢測出校正圖形的情況發(fā)生。由于校正圖形的大小為包含5X5個(gè)模塊大小的正方形,故此處優(yōu)選所述正方形區(qū)域至少包含64個(gè)模塊,若無法在64個(gè)模塊的檢測區(qū)域內(nèi)有效的檢測出校正圖形,將正方形區(qū)域擴(kuò)大至包含256個(gè)模塊,甚至是包含1024個(gè)模塊。所述正方形區(qū)域的選擇可以按照上述步驟由小至大的逐步檢測,亦可以單獨(dú)設(shè)定一個(gè)正方形區(qū)域進(jìn)行檢測,不在進(jìn)行擴(kuò)大檢測。
[0078](5)本發(fā)明所述的QR碼校正圖形的檢測方法及系統(tǒng)在QR碼圖像拍攝和二值化過程中引入誤差的情況下,也可以很好的處理。由于誤差的引入,校正圖形的中心黑色模塊,可能是很大也可能僅僅是一個(gè)點(diǎn),而且并不在中心區(qū)域,此時(shí)可以分別求取黑色模塊的中心點(diǎn)和整個(gè)校正圖形的中心點(diǎn),二者中點(diǎn)作為中心點(diǎn);又或者導(dǎo)致校正圖形根本沒有中心黑色模塊,此時(shí)可以檢測正方形區(qū)域內(nèi)的白色模塊,只要其內(nèi)部線段長度滿足預(yù)設(shè)線段長度,也同樣可認(rèn)定為校正圖形,取其中心為校正圖形中心點(diǎn)。對校正圖形的檢測不局限與只在失真較小的情況下可以有效的檢測,對失真的QR碼圖像也同樣可以起到很好的檢測效果。
【專利附圖】
【附圖說明】
[0079]為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實(shí)施例并結(jié)合附圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明,其中
[0080]圖1是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測方法流程圖;
[0081]圖2是本發(fā)明所述的一個(gè)實(shí)施例的正方形區(qū)域選擇示意圖;
[0082]圖3是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測方法流程圖;
[0083]圖4是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測方法流程圖;
[0084]圖5是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的示意圖;
[0085]圖6是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測方法流程圖;
[0086]圖7是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的示意圖;
[0087]圖8是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測系統(tǒng)結(jié)構(gòu)圖;
[0088]圖9是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測系統(tǒng)結(jié)構(gòu)圖;
[0089]圖10是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測系統(tǒng)結(jié)構(gòu)圖;
[0090]圖11是本發(fā)明所述的一個(gè)實(shí)施例的QR碼校正圖形的檢測系統(tǒng)結(jié)構(gòu)圖。
[0091 ]01-第一線段,02-第二線段,03-第三線段,04-第四線段,3_第一探測圖形,4_第二探測圖形,5-第三探測圖形。
【具體實(shí)施方式】
[0092]實(shí)施例1
[0093]本實(shí)施例提供了一種QR碼校正圖形的檢測方法,如圖1所示,包括如下步驟:
[0094]根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo);
[0095]在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
[0096]需要說明的是,根據(jù)QR碼版本號的不同,校正圖形的個(gè)數(shù)和位置均不相同。在本實(shí)施例中,所檢測和定位的校正圖形為在QR碼右下角校正圖形,如圖2中所示的校正圖形
I。而不論版本號為多少,在右下角的校正圖形距離QR碼的邊緣位置都是固定的。因此,根據(jù)右下角的校正圖形的位置特點(diǎn),可以得到參考坐標(biāo),所述參考坐標(biāo)可以是右下角的角點(diǎn)位置坐標(biāo)、也可以是與右下角的角點(diǎn)在橫向和縱向上均相差幾個(gè)模塊距離的點(diǎn)的位置坐標(biāo)。由于根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo)步驟中,本身只是參考一下校正圖形的中心點(diǎn)所在的位置,因此對其精確程度并不做太高要求。
[0097]在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)步驟中,該所述預(yù)定范圍可以是校正圖形大小的幾倍甚至十幾倍的區(qū)域,以保證能夠?qū)⑿U龍D形包含在內(nèi)部。
[0098]本實(shí)施例中的QR碼校正圖形的檢測方法,在預(yù)定范圍內(nèi)進(jìn)行精確定位,其運(yùn)算量一定小于在整個(gè)QR碼圖的范圍內(nèi)進(jìn)行逐行和逐列掃描的運(yùn)算量。因此能夠在一定程度上縮短校正圖形的檢測時(shí)間,提高檢測效率。
[0099]本實(shí)施例中,所述根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo)步驟中,由于在對QR碼圖像識別過程中必須首先對探測圖形進(jìn)行檢測,所以探測圖形的位置在檢測校正圖形之前已經(jīng)獲得,而無論版本號為多少,右下角的校正圖形與三個(gè)探測圖形的位置關(guān)系都是固定的。本實(shí)施例中,當(dāng)QR碼正向放置時(shí),其左上角的探測圖形為第一探測圖形3,右上角的探測圖形為第二探測圖形4,左下角的探測圖形為第三探測圖形5。結(jié)合圖2,該位置關(guān)系為:校正圖形的中心與的第二探測圖形4在縱向上的距離與第三探測圖形5和第一探測圖形3的中心點(diǎn)的縱向距離相差3個(gè)模塊。校正圖形的中心與的第三探測圖形5在橫向上的距離與第二探測圖形4和的第一探測圖形3的中心點(diǎn)的橫向距離相差3個(gè)模塊。因此當(dāng)三個(gè)探測圖形的位置信息為已知的情況下,根據(jù)上述位置關(guān)系粗略確定校正圖形的中心點(diǎn)的位置坐標(biāo)更加方便。
[0100]本實(shí)施例中,結(jié)合探測圖形與校正圖形的位置關(guān)系,可以大致參考出校正圖形的坐標(biāo),進(jìn)而可以快速的檢測出校正圖形,有效的實(shí)現(xiàn)了資源的整合與優(yōu)化。
[0101]下面結(jié)合圖2和圖3具體闡述在本實(shí)施例中的粗定位步驟中如何結(jié)合探測圖形進(jìn)行坐標(biāo)參考,如圖3所示,所述根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo)的具體步驟包括:
[0102]獲取第一探測圖形的中心點(diǎn)坐標(biāo)(XA,YA)。
[0103]根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
[0104]結(jié)合圖2,第一探測圖形3為位于整個(gè)QR碼圖像的左上角的探測圖形。第二探測圖形4和第三探測圖形5可以分別為整個(gè)QR碼圖像的右上角和左下角的探測圖形,也可以分別為整個(gè)QR碼圖像的左下角和右上角的探測圖形。由于標(biāo)準(zhǔn)的QR碼呈現(xiàn)正方形的結(jié)構(gòu),并且校正圖形的中心與第二探測圖形4在縱向上的距離與第三探測圖形5和第一探測圖形3的中心點(diǎn)的縱向距離相差3個(gè)模塊。校正圖形的中心與第三探測圖形5在橫向上的距離與第二探測圖形4和第一探測圖形3的中心點(diǎn)的橫向距離相差3個(gè)模塊。利用上述關(guān)系,本實(shí)施例中所述獲取參考坐標(biāo)步驟中,利用下述公式確定所述橫向距離和所述縱向距離:
[0105]所述橫向距離為:ε h= ε (Xr-Xa);
[0106]所述縱向距離為:ε ζ= ε (Yr-Ya);
[0107]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xe, Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。本實(shí)施例中,利用下述公式確定所述校正圖形偏離因子:
[0108]ε =(Ν_3)/N,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。如前所述,不同的QR碼版本,校正圖形的個(gè)數(shù)及位置也不相同,本實(shí)施例的意圖并非找出所有的校正圖形,而是找出位于整個(gè)QR碼圖像中的右下角的校正圖形。因?yàn)樵O(shè)立校正圖形的目的在于在解碼過程中為矯正過程提供相應(yīng)數(shù)據(jù),使得失真的QR碼圖像得以還原,為后續(xù)的解碼過程的順利進(jìn)行做好準(zhǔn)備。但是對失真的QR碼圖像的矯正,并不需要使用所有的校正圖形。如果不進(jìn)行邊緣檢測,檢測出所有的校正圖形,不僅沒有必要,反而會占用很多內(nèi)存,同時(shí)運(yùn)算量過大,也會致使整體運(yùn)算速度較慢。在QR碼圖像完全不失真的情況下,所述校正圖形的坐標(biāo)就是我們所參考出的坐標(biāo),但是現(xiàn)實(shí)中保證QR碼圖像完全不失真的可能性極低,所以后續(xù)的精確定位便顯得極其重要。
[0109]但是相關(guān)領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,本實(shí)施例并不局限于只對整個(gè)QR碼圖像中的右下角的校正圖形。我們知道其他不同版本的標(biāo)準(zhǔn)的QR碼圖像中也存在著探測圖形和其他校正圖形的對應(yīng)關(guān)系,只是具體的對應(yīng)關(guān)系不同而已。只需要相應(yīng)的改變一下運(yùn)算參數(shù),便可以用本實(shí)施例所述的方法實(shí)現(xiàn)對各個(gè)不同位置的校正圖形的快速檢測,本實(shí)施例不再針對各個(gè)版本的校正圖形與探測圖形的對應(yīng)關(guān)系進(jìn)行闡述,但是由于各個(gè)版本的校正圖形與探測圖形的對應(yīng)關(guān)系已經(jīng)為現(xiàn)有技術(shù),故本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,其他結(jié)合顯而易見的參數(shù)變化進(jìn)行的運(yùn)算和改編均在本實(shí)施例的保護(hù)范圍之內(nèi)。
[0110]實(shí)施例2
[0111]本實(shí)施例是在實(shí)施例1的基礎(chǔ)上進(jìn)行的改進(jìn),所述在參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)步驟中,所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域。從圖2中可以看出,完成對校正圖形的粗定位后,獲得一個(gè)大致的參考坐標(biāo)位置,然后所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,其中很明顯可以看到位于QR圖像的右下角位置處的校正圖形落在了所述的正方形區(qū)域,即灰色線框處。正方形區(qū)域過大,會造成檢測范圍過寬,運(yùn)算量過大致使檢測速度較慢,若正方形區(qū)域過小,可能會造成無法檢測出校正圖形的情況發(fā)生。由于校正圖形的大小為包含5X5個(gè)模塊大小的正方形,故此處優(yōu)選所述正方形區(qū)域至少包含64個(gè)模塊,若無法在64個(gè)模塊的檢測區(qū)域內(nèi)有效的檢測出校正圖形,將正方形區(qū)域擴(kuò)大至包含256個(gè)模塊,甚至是包含1024個(gè)模塊。所述正方形區(qū)域的選擇可以按照上述步驟由小至大的逐步檢測,亦可以單獨(dú)設(shè)定一個(gè)正方形區(qū)域進(jìn)行檢測,不在進(jìn)行擴(kuò)大檢測。
[0112]QR碼中最小的信息單元為正方形的模塊,不同版本號的QR碼包括的模塊數(shù)也不相同。版本號為I的QR碼包括21X21個(gè)模塊,版本號每增加1,QR碼包括的模塊數(shù)量就在橫向和縱向上均增加4個(gè)。目前QR碼的最大版本為40,其QR碼包括177X177個(gè)模塊。而校正圖形由5X5個(gè)黑色模塊、3X3個(gè)黑色模塊以及位于中心的一個(gè)黑色模塊構(gòu)成,在選擇正方形區(qū)域時(shí)首先選擇64個(gè)模塊,即8X8個(gè)模塊,完全可以包裹住整個(gè)校正圖形。只有在正方形區(qū)域?yàn)?4個(gè)模塊時(shí),無法獲得需要檢測的校正圖形時(shí),此時(shí)可能是由于這個(gè)QR碼圖像整體失真或者偏移量較大,此時(shí)需要放大范圍去檢測校正圖形,將整個(gè)檢測范圍擴(kuò)展為16X16個(gè)模塊,即所述正方形區(qū)域包含256個(gè)模塊。如果依然無法找出,繼續(xù)擴(kuò)大范圍檢測,令所述正方形區(qū)域包含1024個(gè)模塊,即32X32個(gè)模塊。此時(shí)鑒于粗定位時(shí)參考的坐標(biāo)相對于整個(gè)QR碼圖像來說已經(jīng)在其右下方,所以這個(gè)正方形區(qū)域很有可能已經(jīng)在QR碼圖像的外部。若檢測范圍擴(kuò)大到這個(gè)程度上依然無法獲得校正圖形,原則上可以在繼續(xù)擴(kuò)大范圍進(jìn)行檢測,但是這種情況多半是檢測到的QR碼圖像可能并不是真正的QR碼圖像,即最初檢測錯(cuò)誤。抑或是QR碼圖像失真極其嚴(yán)重,這種情況下即使是真正的QR碼圖像,但是局限于現(xiàn)有技術(shù),要對這種失真嚴(yán)重的QR碼圖像進(jìn)行解碼步驟整體難度較高。故為了節(jié)省運(yùn)算步驟,此處我們設(shè)定為無法檢測到校正圖形,報(bào)告錯(cuò)誤,退出檢測步驟。但是本實(shí)施例依然保留將正方形區(qū)域繼續(xù)擴(kuò)大的權(quán)利,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉。
[0113]本實(shí)施例中,所述在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)如圖4所示,具體包括如下步驟:
[0114]沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn);
[0115]以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
[0116]其中,所述第一方向可以為橫向也可以為縱向,當(dāng)所述第一方向?yàn)闄M向時(shí)所述第二方向?yàn)榭v向,當(dāng)所述第一方向?yàn)榭v向時(shí)所述第二方向?yàn)闄M向。
[0117]如圖5所示,校正圖形為最外側(cè)的5X5大小的黑色正方形、中間的3X3大小的白色正方形和最內(nèi)側(cè)的I個(gè)模塊大小的黑色正方形組成。因此,如果對其進(jìn)行橫向或者縱向檢測的話,校正圖形內(nèi)部應(yīng)該滿足白:黑:白的比例為1:1:1,并且長度為3個(gè)模塊的長度。在QR碼的其他位置并沒有符合這一條件的線段。但是,從圖中可以看出,由于受到干擾,圖5所示的校正圖形的內(nèi)側(cè)的黑色正方形并不在白色正方形的中心部分。而實(shí)際情況中,這種受到干擾的QR碼是占大部分的,即大部分的校正圖形中的線段的黑白比例都不能滿足上述比例,因此設(shè)定一預(yù)設(shè)比例,該預(yù)設(shè)比例在1:1:1的比例上可以允許有一定的誤差范圍。本實(shí)施例中,取所述預(yù)設(shè)比例為白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。即每一段白:黑:白中的每一白色線段和每一黑色線段的長度不得大于2個(gè)模塊的長度,整體白:黑:白線段的長度在2.1個(gè)模塊到3.9個(gè)模塊的之間。如果每一白色線段、每一黑色線段以及每一段白:黑:白的線段長度超出上述限定范圍內(nèi),便認(rèn)為不符合預(yù)設(shè)比例。
[0118]在檢測時(shí)先進(jìn)行橫向檢測或者先進(jìn)行縱向檢測都是可以的,本實(shí)施例參照圖5,以先進(jìn)行橫向檢測為例。從圖中可以看出,從上到下對參考中心點(diǎn)的預(yù)定范圍進(jìn)行橫向檢測,假如檢測到的第一條符合預(yù)設(shè)比例的橫向線段一 01,選擇該線段中黑色部分的中心點(diǎn)Cp該中心點(diǎn)可能并不是內(nèi)側(cè)黑色正方形的中心點(diǎn),但一定是該正方形在橫向上的中心點(diǎn),因此在此基礎(chǔ)上進(jìn)行縱向檢測,如果縱向線段上也存在白:黑:白的比例滿足預(yù)設(shè)比例的縱向線段二 02,那么縱向線段二 02的中心Ciz —定就是黑色正方形的中心,即校正圖形的中心。
[0119]本實(shí)施例中,優(yōu)選地,如圖6所示,所述在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)還包括如下步驟:
[0120]以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線;在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
[0121]以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
[0122]依然如圖5所示,在經(jīng)過上述檢測后得到的所述第二線段02中黑色部分的中心點(diǎn),此時(shí)我們只是從理論上認(rèn)定該第二線段02中黑色部分的中心點(diǎn)Ciz是校正圖形的中心點(diǎn),但實(shí)際上只是在第二方向進(jìn)行了驗(yàn)證,沒有確認(rèn)其第一方向是否滿足白:黑:白的長度比例滿足預(yù)設(shè)比例的條件,有可能會造成誤判的現(xiàn)象發(fā)生。為了避免這種現(xiàn)象的發(fā)生,如圖6所示,對第二線段02的中心點(diǎn)Ciz所在垂直于所述第二線段02的第三檢測03線進(jìn)行了再判斷,判斷其所在第三線段03是否滿足白:黑:白的長度比例滿足預(yù)設(shè)比例的條件。同時(shí)還加入了在對角線方向進(jìn)行的檢測,即以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。通過對與校正圖形中心點(diǎn)Cjz的第一方向呈正負(fù)45°角的第四檢測線04進(jìn)行檢測是否滿足,如果該第二線段02的中心點(diǎn)確實(shí)是校正圖形的中心點(diǎn),那么一定滿足上述判斷條件,否則認(rèn)定其不是校正圖形的中心點(diǎn),進(jìn)一步保證了檢測的準(zhǔn)確性。在確保對QR碼圖像的校正圖形的快速檢測的同時(shí)還能一定程度上保證檢測的準(zhǔn)確性,有效降低錯(cuò)檢率。
[0123]但是在QR碼圖像拍攝和二值化過程中由于誤差的引入,校正圖形的中心黑色模塊,可能是很大也可能僅僅是一個(gè)點(diǎn),而且并不在中心區(qū)域,此時(shí)我們再按照上述方法進(jìn)行檢測就可能無法獲得校正圖形。為了在這種情況下實(shí)現(xiàn)有效的檢測校正圖形,本實(shí)施例還提供了如下的方法。
[0124]根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線;
[0125]根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線;
[0126]根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn);
[0127]獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
[0128]如圖7所示,根據(jù)橫向的第一線段的兩個(gè)端點(diǎn)M、N和縱向的第二線段的兩個(gè)端點(diǎn)P、Q,即可確定校正圖形中中間白色正方形的四個(gè)邊所在的位置,則M和N兩個(gè)點(diǎn)的中心的橫坐標(biāo)即為近似中心點(diǎn)的橫坐標(biāo),P和Q兩個(gè)點(diǎn)的中心的縱坐標(biāo)即為近似中心點(diǎn)的縱坐標(biāo)。獲得了內(nèi)側(cè)黑色正方形的中心點(diǎn)和整個(gè)校正圖形的近似中心點(diǎn),將二者中點(diǎn)作為校正圖形中心點(diǎn),可以很好的處理由于校正圖形中心黑色模塊嚴(yán)重失真造成的影響,使得本實(shí)施例應(yīng)對各種復(fù)雜情況下的檢測能力增強(qiáng),并且可以保證高效準(zhǔn)確的完成校正圖形的檢測。
[0129]上述預(yù)設(shè)比例的設(shè)定是經(jīng)過多次數(shù)據(jù)驗(yàn)證得出的,能夠很好的保證檢測的準(zhǔn)確性。但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,其他可實(shí)施的數(shù)據(jù)變化亦在本實(shí)施例的保護(hù)范圍之內(nèi)。
[0130]實(shí)施例3
[0131]本實(shí)施例是在實(shí)施例1和2的基礎(chǔ)上進(jìn)行的改進(jìn),主要對一些校正圖形中心黑色模塊失真嚴(yán)重的情形進(jìn)行的檢測。同時(shí)為了充分考慮到各種情況,那么現(xiàn)實(shí)中還會出現(xiàn)中心黑色模塊因?yàn)槭д娴仍蛳В皇O掳咨K,如圖7所示。針對這種情況,本實(shí)施例也提供了相應(yīng)的檢測方法,
[0132]在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟中:
[0133]若沿第一方向?qū)λ鲱A(yù)定范圍檢測后未檢測到白:黑:白的長度比例滿足預(yù)設(shè)比例的橫向或縱向線段,則進(jìn)行如下步驟:
[0134]沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn);
[0135]以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
[0136]在校正圖形的中心黑色模塊缺失的情況下,再利用實(shí)施例2所述的方法必然無法檢測出校正圖形。此時(shí)可以檢測正方形區(qū)域內(nèi)的白色模塊,只要其內(nèi)部線段長度滿足預(yù)設(shè)線段長度,也同樣可認(rèn)定為校正圖形,取其中心為校正圖形中心點(diǎn)。對校正圖形的檢測不局限與只在失真較小的情況下可以有效的檢測,對失真的QR碼圖像也同樣可以起到很好的檢測效果。并且使得對校正圖形的檢測在應(yīng)對各種復(fù)雜情況下的檢測能力增強(qiáng),滿足了用戶對QR碼檢測越來越高的需求。
[0137]同時(shí)為了保證檢測的準(zhǔn)確性,本實(shí)施例還設(shè)置了預(yù)設(shè)線段長度,所述預(yù)設(shè)線段長度在0.7L-1.3L的范圍內(nèi)。預(yù)設(shè)線段長度數(shù)值的設(shè)定是是經(jīng)過多次數(shù)據(jù)驗(yàn)證得出的,能夠很好的保證檢測的準(zhǔn)確性。
[0138]實(shí)施例4
[0139]本實(shí)施例提供了一種QR碼校正圖形的檢測系統(tǒng),如圖8所示,包括:
[0140]粗定位模塊:用于根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo);
[0141]精確定位模塊:用于在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
[0142]本實(shí)施例中的QR碼校正圖形的檢測系統(tǒng),在預(yù)定范圍內(nèi)進(jìn)行精確定位,其運(yùn)算量一定小于在整個(gè)QR碼圖的范圍內(nèi)進(jìn)行逐行和逐列掃描的運(yùn)算量。因此能夠在一定程度上縮短校正圖形的檢測時(shí)間,提高檢測效率。
[0143]本實(shí)施例中,如圖9所示,優(yōu)選所述粗定位模塊具體包括:
[0144]探測圖形中心點(diǎn)的坐標(biāo)獲取單元:用于獲取第一探測圖形的中心點(diǎn)坐標(biāo)(ΧΑ,ΥΑ)ο
[0145]參考坐標(biāo)獲取單元:用于根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
[0146]此處的第一探測圖形為位于整個(gè)QR碼圖像的左上角的探測圖形。第二探測圖形和第三探測圖形可以分別為整個(gè)QR碼圖像的右上角和左下角的探測圖形,也可以分別為整個(gè)QR碼圖像的左下角和右上角的探測圖形。由于標(biāo)準(zhǔn)的QR碼呈現(xiàn)正方形的結(jié)構(gòu),校正圖形相對于第一探測圖形的位置來說,受第二探測圖形和第三探測圖形的影響并不大,故此處未作嚴(yán)格的限定,保持了數(shù)據(jù)選擇的靈活性,對于在對校正圖形進(jìn)行檢測之前進(jìn)行的探測圖形排序步驟而言,只要檢測出的第一探測圖形的坐標(biāo)位置是正確的,那么即使在排序過程中對第二探測圖形和第三探測圖形的排序判斷錯(cuò)誤,也不會影響校正圖形的檢測,一定程度上保證了檢測的準(zhǔn)確性。
[0147]本實(shí)施例中,進(jìn)一步所述參考坐標(biāo)獲取單元中利用下述公式確定所述橫向距離和所述縱向距離:
[0148]所述橫向距離為:ε h= ε (Xr-Xa);
[0149]所述縱向距離為:ε ζ= ε (Yr-Ya);
[0150]其中Xk = XB-XA+XC, Ye = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xe, Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。
[0151]所述校正圖形偏離因子ε =(Ν_3)/N,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。
[0152]不同的QR碼版本,校正圖形的個(gè)數(shù)及位置也不相同,本實(shí)施例的意圖并非找出所有的校正圖形,而是找出位于整個(gè)QR碼圖像中的右下角的校正圖形。因?yàn)樵O(shè)立校正圖形的目的在于在解碼過程中為矯正過程提供相應(yīng)數(shù)據(jù),使得失真的QR碼圖像得以還原,為后續(xù)的解碼過程的順利進(jìn)行做好準(zhǔn)備。但是對失真的QR碼圖像的矯正,并不需要使用所有的校正圖形。如果不進(jìn)行邊緣檢測,檢測出所有的校正圖形,不僅沒有必要,反而會占用很多內(nèi)存,同時(shí)運(yùn)算量過大,也會致使整體運(yùn)算速度較慢。在QR碼圖像完全不失真的情況下,所述校正圖形的坐標(biāo)就是我們所參考出的坐標(biāo),但是現(xiàn)實(shí)中保證QR碼圖像完全不失真的可能性極低,所以后續(xù)的精確定位便顯得極其重要。
[0153]實(shí)施例5
[0154]本實(shí)施例是在實(shí)施例4的基礎(chǔ)上進(jìn)行的改進(jìn),所述精確定位模塊中,所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域。正方形區(qū)域過大,會造成檢測范圍過寬,運(yùn)算量過大致使檢測速度較慢,若正方形區(qū)域過小,可能會造成無法檢測出校正圖形的情況發(fā)生。故此處優(yōu)選所述正方形區(qū)域包含64個(gè)模塊。若無法有效的檢測出校正圖形,依次將正方形區(qū)域擴(kuò)大至包含256個(gè)模塊,乃至包含1024個(gè)模塊。所述正方形區(qū)域的選擇可以按照上述步驟由小至大的逐步檢測,亦可以單獨(dú)設(shè)定一個(gè)正方形區(qū)域進(jìn)行檢測,不在進(jìn)行擴(kuò)大檢測。此處正方形區(qū)域的大小選擇比較靈活,不在贅述。
[0155]QR碼中最小的信息單元為正方形的模塊,不同版本號的QR碼包括的模塊數(shù)也不相同。版本號為I的QR碼包括21X21個(gè)模塊,版本號每增加1,QR碼包括的模塊數(shù)量就在橫向和縱向上均增加4個(gè)。目前QR碼的最大版本為40,其QR碼包括177X177個(gè)模塊。而校正圖形由5X5個(gè)黑色模塊、3X3個(gè)黑色模塊以及位于中心的一個(gè)黑色模塊構(gòu)成,在選擇正方形區(qū)域時(shí)首先選擇64個(gè)模塊,即8X8個(gè)模塊,完全可以包裹住整個(gè)校正圖形。只有在正方形區(qū)域?yàn)?4個(gè)模塊時(shí),無法獲得需要檢測的校正圖形時(shí),此時(shí)可能是由于這個(gè)QR碼圖像整體失真或者偏移量較大,此時(shí)需要放大范圍去檢測校正圖形,將整個(gè)檢測范圍擴(kuò)展為16X16個(gè)模塊,即所述正方形區(qū)域包含256個(gè)模塊。如果依然無法找出,繼續(xù)擴(kuò)大范圍檢測,令所述正方形區(qū)域包含1024個(gè)模塊,即32X32個(gè)模塊。此時(shí)鑒于粗定位時(shí)參考的坐標(biāo)相對于整個(gè)QR碼圖像來說已經(jīng)在其右下方,所以這個(gè)正方形區(qū)域很有可能已經(jīng)在QR碼圖像的外部。若檢測范圍擴(kuò)大到這個(gè)程度上依然無法獲得校正圖形,原則上可以在繼續(xù)擴(kuò)大范圍進(jìn)行檢測,但是這種情況多半是檢測到的QR碼圖像可能并不是真正的QR碼圖像,即最初檢測錯(cuò)誤。抑或是QR碼圖像失真極其嚴(yán)重,這種情況下即使是真正的QR碼圖像,但是局限于現(xiàn)有技術(shù),要對這種失真嚴(yán)重的QR碼圖像進(jìn)行解碼步驟整體難度較高。故為了節(jié)省運(yùn)算步驟,此處我們設(shè)定為無法檢測到校正圖形,報(bào)告錯(cuò)誤,退出檢測步驟。但是本實(shí)施例依然保留將正方形區(qū)域繼續(xù)擴(kuò)大的權(quán)利,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉。
[0156]優(yōu)選地,所述精確定位模塊如圖10所示,具體包括:
[0157]第一方向檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn);
[0158]第二方向檢測單元:用于以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
[0159]本實(shí)施例所述的一種QR碼校正圖形的檢測系統(tǒng)在進(jìn)行校正圖形檢測時(shí),采用先對校正圖形進(jìn)行粗定位,根據(jù)不同QR碼版本來粗略估計(jì)校正圖形的坐標(biāo)位置,然后在其周圍劃一方形區(qū)域進(jìn)行循環(huán)查找,最后結(jié)合校正圖形自身的特點(diǎn),在方形區(qū)域內(nèi)準(zhǔn)確定位校正圖形。不需要在整個(gè)QR碼圖像范圍內(nèi)逐行搜索滿足線段1:1:1的比例的圖形,極大的減少了檢測量,使得校正圖形的檢測更加快速高效。
[0160]如圖11所示,所述精確定位模塊還包括:
[0161]比較判斷單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線,在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回所述第一方向檢測單元。
[0162]對角線方向檢測單元:
[0163]用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回第一方向檢測單元。
[0164]在經(jīng)過第一方向檢測單元和第二方向檢測單元后,此時(shí)我們只是從理論上認(rèn)定該第二線段的中心點(diǎn)是校正圖形的中心點(diǎn),但實(shí)際上只是在第二方向進(jìn)行了驗(yàn)證,沒有確認(rèn)其第一方向是否滿足白:黑:白的長度比例滿足預(yù)設(shè)比例的條件,有可能會造成誤判的現(xiàn)象發(fā)生。為了避免這種現(xiàn)象的發(fā)生,如圖6所示,所述精確定位模塊還包括比較判斷單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線,在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回所述第一方向檢測單兀。
[0165]由于加入了比較判斷單元,對第二線段的中心點(diǎn)所在第二線段進(jìn)行了再判斷,判斷其所在第三線段是否滿足白:黑:白的長度比例滿足預(yù)設(shè)比例的條件。
[0166]進(jìn)一步地,所述精確定位模塊還包括對角線方向檢測單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回第一方向檢測單元。
[0167]同時(shí)還加入了對角線方向檢測單元,通過對與校正圖形中心點(diǎn)C^z的第一方向呈正負(fù)45°角的兩條第四檢測線進(jìn)行檢測是否滿足白:黑:白的長度比例滿足預(yù)設(shè)比例的條件,如果該第二線段的中心點(diǎn)確實(shí)是校正圖形的中心點(diǎn),那么一定滿足上述判斷條件,否則認(rèn)定其不是校正圖形的中心點(diǎn),進(jìn)一步保證了檢測的準(zhǔn)確性。在確保對QR碼圖像的校正圖形的快速檢測的同時(shí)還能一定程度上保證檢測的準(zhǔn)確性,有效降低錯(cuò)檢率。
[0168]但是在QR碼圖像拍攝和二值化過程中由于誤差的引入,校正圖形的中心黑色模塊,可能是很大也可能僅僅是一個(gè)點(diǎn),而且并不在中心區(qū)域,此時(shí)我們再按照上述方法進(jìn)行檢測就可能無法獲得校正圖形。為了在這種情況下實(shí)現(xiàn)有效的檢測校正圖形,本實(shí)施例所述的系統(tǒng)還具有如下所述功能。
[0169]所述第一方向檢測單元,還用于根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線。
[0170]所述第二方向檢測單元,還用于根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線。
[0171]近似中心點(diǎn)獲取單元,用于根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn)。
[0172]校正圖形中心點(diǎn)獲取單元,用于獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
[0173]通過分別求取黑色模塊的中心點(diǎn)和整個(gè)近似校正圖形的中心點(diǎn),將二者中點(diǎn)作為校正圖形中心點(diǎn),可以很好的處理由于校正圖形中心黑色模塊嚴(yán)重失真造成的影響,使得本實(shí)施例應(yīng)對各種復(fù)雜情況下的檢測能力增強(qiáng),并且可以保證高效準(zhǔn)確的完成校正圖形的檢測。
[0174]本實(shí)施例中設(shè)定一預(yù)設(shè)比例,該預(yù)設(shè)比例與1:1:1相比有一定的誤差。本實(shí)施例中取所述預(yù)設(shè)比例優(yōu)選為白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。由于受成像設(shè)備的差異以及周圍光照和所處的環(huán)境的影響,可能導(dǎo)致QR碼圖像的校正圖形失真或者發(fā)生輕微形變等。此時(shí)嚴(yán)格按照黑白長度比例滿足1:1:1去進(jìn)行檢測,難免會造成檢測錯(cuò)誤,無法正確檢測出校正圖形。為了應(yīng)對這種情況,本實(shí)施例提供了預(yù)設(shè)比例,即當(dāng)檢測到有一線段呈現(xiàn)3處黑白相間的情況,但是比例不能嚴(yán)格滿足1:1:1時(shí),只要其比例落在預(yù)設(shè)比例范圍之內(nèi),便可以認(rèn)定其滿足預(yù)設(shè)比例,可以據(jù)此找出校正圖形的中心點(diǎn)。值得注意的是,此處還需保證每一段白:黑:白中的每一白色線段和每一黑色線段的長度不得大于2個(gè)模塊的長度,整體白:黑:白線段的長度在2.1個(gè)模塊到3.9個(gè)模塊的之間。如果每一白色線段、每一黑色線段以及每一段白:黑:白的線段長度超出上述限定范圍內(nèi),便認(rèn)為不符合預(yù)設(shè)比例。上述預(yù)設(shè)比例的設(shè)定是經(jīng)過多次數(shù)據(jù)驗(yàn)證得出的,能夠很好的保證檢測的準(zhǔn)確性。但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,其他可實(shí)施的數(shù)據(jù)變化亦在本實(shí)施例的保護(hù)范圍之內(nèi)。
[0175]實(shí)施例6
[0176]本實(shí)施例是在實(shí)施例4或5的基礎(chǔ)上進(jìn)行的改進(jìn),主要對一些校正圖形中心黑色模塊失真嚴(yán)重的情形進(jìn)行的檢測。同時(shí)為了充分考慮到各種情況,那么現(xiàn)實(shí)中還會出現(xiàn)中心黑色模塊因?yàn)槭д娴仍蛳?,只剩下白色模塊,如圖7所示。針對這種情況,本實(shí)施例也提供了相應(yīng)的檢測方法。
[0177]本實(shí)施例中,所述精確定位模塊還包括:
[0178]第一方向模糊檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn);
[0179]第二方向模糊檢測單元:用于以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
[0180]在校正圖形的中心黑色模塊缺失的情況下,再利用實(shí)施例5所述的系統(tǒng)必然無法檢測出校正圖形。此時(shí)可以檢測正方形區(qū)域內(nèi)的白色模塊,只要其內(nèi)部線段長度滿足預(yù)設(shè)線段長度,也同樣可認(rèn)定為校正圖形,取其中心為校正圖形中心點(diǎn)。對校正圖形的檢測不局限與只在失真較小的情況下可以有效的檢測,對失真的QR碼圖像也同樣可以起到很好的檢測效果。并且使得對校正圖形的檢測在應(yīng)對各種復(fù)雜情況下的檢測能力增強(qiáng),滿足了用戶對QR碼檢測越來越高的需求。
[0181]同時(shí)為了保證檢測的準(zhǔn)確性,本實(shí)施例還設(shè)置了預(yù)設(shè)線段長度,所述預(yù)設(shè)線段長度在0.7L-1.3L的范圍內(nèi)。預(yù)設(shè)線段長度數(shù)值的設(shè)定是是經(jīng)過多次數(shù)據(jù)驗(yàn)證得出的,能夠很好的保證檢測的準(zhǔn)確性。但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,其他可實(shí)施的數(shù)據(jù)變化亦在本實(shí)施例的保護(hù)范圍之內(nèi),此處不再贅述。
[0182]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0183]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0184]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0185]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0186]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
【權(quán)利要求】
1.一種QR碼校正圖形的檢測方法,其特征在于,包括如下步驟: 根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo); 在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
2.根據(jù)權(quán)利要求1所述的QR碼校正圖形的檢測方法,其特征在于,所述根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo)的步驟包括: 獲取第一探測圖形的中心點(diǎn)坐標(biāo)(XA,Ya); 根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
3.根據(jù)權(quán)利要求2所述的QR碼校正圖形的檢測方法,其特征在于,利用下述公式確定所述橫向距離和所述縱向距離: 所述橫向距離為:eh=e (Xe-Xa); 所述縱向距離為:εζ=ε (Ye-Ya); 其中Xk = XB-XA+XC,YE = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xc,Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。
4.根據(jù)權(quán)利要求3所述的QR碼校正圖形的檢測方法,其特征在于,利用下述公式確定所述校正圖形偏離因子: ε =(Ν_3)/N,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。
5.根據(jù)權(quán)利要求1-4任一所述的QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟中,所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域,所述正方形區(qū)域包含至少64個(gè)模塊。
6.根據(jù)權(quán)利要求5所述的QR碼校正圖形的檢測方法,其特征在于,所述正方形區(qū)域包含256個(gè)模塊。
7.根據(jù)權(quán)利要求5所述的QR碼校正圖形的檢測方法,其特征在于,所述正方形區(qū)域包含1024個(gè)模塊。
8.根據(jù)權(quán)利要求1-7任一所述QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟包括: 沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn); 以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
9.根據(jù)權(quán)利要求8所述QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括: 以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線;在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
10.根據(jù)權(quán)利要求8或9所述的QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括: 以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回沿第一方向?qū)λ鲱A(yù)定范圍檢測的步驟。
11.根據(jù)權(quán)利要求8-10任一所述的QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟還包括: 根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線; 根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線; 根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn); 獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
12.根據(jù)權(quán)利要求8-11任一所述的QR碼校正圖形的檢測方法,其特征在于,所述預(yù)設(shè)比例為: 白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。
13.根據(jù)權(quán)利要求8所述的QR碼校正圖形的檢測方法,其特征在于,在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)的步驟中: 若沿第一方向?qū)λ鲱A(yù)定范圍檢測后未檢測到白:黑:白的長度比例滿足預(yù)設(shè)比例的橫向或縱向線段,則進(jìn)行如下步驟: 沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn); 以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
14.根據(jù)權(quán)利要求13所述的QR碼探測圖形的檢測方法,其特征在于,所述預(yù)設(shè)長度在0.7L-1.3L的范圍內(nèi)。
15.一種QR碼校正圖形的檢測系統(tǒng),其特征在于,包括: 粗定位模塊:用于根據(jù)校正圖形的中心點(diǎn)與探測圖形的中心點(diǎn)的相對位置關(guān)系獲取參考坐標(biāo); 精確定位1旲塊:用于在所述參考坐標(biāo)的預(yù)定范圍內(nèi)精確定位校正圖形,獲取校正圖形的中心點(diǎn)的坐標(biāo)。
16.根據(jù)權(quán)利要求15所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述粗定位模塊包括: 探測圖形中心點(diǎn)的坐標(biāo)獲取單元:用于獲取第一探測圖形的中心點(diǎn)坐標(biāo)(XA,Ya); 參考坐標(biāo)獲取單元:用于根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的橫向距離獲取參考橫坐標(biāo);根據(jù)所述校正圖形的中心點(diǎn)與所述第一探測圖形的中心點(diǎn)的縱向距離獲取參考縱坐標(biāo)。
17.根據(jù)權(quán)利要求16所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述參考坐標(biāo)獲取單元中利用下述公式確定所述橫向距離和所述縱向距離: 所述橫向距離為:eh=e (Xe-Xa); 所述縱向距離為:εζ=ε (Ye-Ya); 其中Xk = XB-XA+XC,YE = YB-YA+YC ; (XB, YB)為第二探測圖形的中心點(diǎn)的坐標(biāo);(Xc,Yc)為第三探測圖形的中心點(diǎn)的坐標(biāo);ε為校正圖形偏離因子。
18.根據(jù)權(quán)利要求17所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述校正圖形偏離因子ε =(Ν-3)/Ν,其中N為QR碼橫向或縱向上包含的模塊的數(shù)量。
19.根據(jù)權(quán)利要求15-18任一所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊中,設(shè)定所述預(yù)定范圍為包含所述參考坐標(biāo)的正方形區(qū)域,所述正方形區(qū)域包含至少64個(gè)模塊。
20.根據(jù)權(quán)利要求19所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊中,設(shè)定所述正方形區(qū)域包含256個(gè)模塊。
21.根據(jù)權(quán)利要求19所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊中,所述正方形區(qū)域包含1024個(gè)模塊。
22.根據(jù)權(quán)利要求15-21任一所述QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊還包括: 第一方向檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第一線段,確定所述第一線段中黑色部分的中心點(diǎn); 第二方向檢測單元:用于以所述第一線段中黑色部分的中心點(diǎn)作為基準(zhǔn)位置,得到垂直于所述第一線段的第二檢測線,在所述第二檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第二線段,所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn)。
23.根據(jù)權(quán)利要求22所述QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊還包括: 比較判斷單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,得到垂直于所述第二線段的第三檢測線,在所述第三檢測線上檢測白:黑:白的長度比例滿足預(yù)設(shè)比例的第三線段,若能夠檢測到所述第三線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回所述第一方向檢測單元。
24.根據(jù)權(quán)利要求22或23所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊還包括: 對角線方向檢測單元:用于以所述第二線段中黑色部分的中心點(diǎn)為基準(zhǔn)位置,獲得與所述第一方向呈45°角或負(fù)45°角的第四檢測線,在所述第四檢測線上檢測滿足白:黑:白的長度比例為預(yù)設(shè)比例的第四線段,若能夠檢測到所述第四線段則所述第二線段中黑色部分的中心點(diǎn)為校正圖形的中心點(diǎn),否則返回第一方向檢測單元。
25.根據(jù)權(quán)利要求22-24任一所述的QR碼校正圖形的檢測系統(tǒng),其特征在于: 所述第一方向檢測單元,還用于根據(jù)所述第一線段的兩個(gè)端點(diǎn)確定校正圖形的第一方向邊緣線; 所述第二方向檢測單元,還用于根據(jù)所述第二線段的兩個(gè)端點(diǎn)確定校正圖形的第二方向邊緣線; 近似中心點(diǎn)獲取單元,用于根據(jù)所述第一方向邊緣線和所述第二方向邊緣線獲取校正圖形的四邊形邊框,所述四邊形邊框的幾何中心即為校正圖形的近似中心點(diǎn); 校正圖形中心點(diǎn)獲取單元,用于獲取所述第二線段中黑色部分的中心點(diǎn)與所述近似中心點(diǎn)的連線的中點(diǎn)為校正圖形的中心點(diǎn)。
26.根據(jù)權(quán)利要求22-25任一所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述預(yù)設(shè)比例為: 白色部分和黑色部分的長度之和在0.7L-1.3L的范圍內(nèi),其中L為三個(gè)模塊的長度,且白色部分和黑色部分的長度均小于或等于2個(gè)模塊的長度。
27.根據(jù)權(quán)利要求22-26任一所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述精確定位模塊還包括: 第一方向模糊檢測單元:用于沿第一方向?qū)λ鲱A(yù)定范圍檢測,檢測白色線段長度為預(yù)設(shè)長度的線段,確定該線段的第一中心點(diǎn); 第二方向模糊檢測單元:用于以所述第一中心點(diǎn)為基準(zhǔn)位置,得到垂直于第一方向的檢測線,在所述檢測線上檢測白色線段長度為預(yù)設(shè)長度的線段,該線段的中心點(diǎn)即為校正圖形的中心點(diǎn)。
28.根據(jù)權(quán)利要求27所述的QR碼校正圖形的檢測系統(tǒng),其特征在于,所述預(yù)設(shè)線段長度在0.7L-1.3L的范圍內(nèi)。
【文檔編號】G06K7/10GK104517092SQ201310459941
【公開日】2015年4月15日 申請日期:2013年9月29日 優(yōu)先權(quán)日:2013年9月29日
【發(fā)明者】張玲, 關(guān)超, 劉振華, 劉革章, 車萬毅 申請人:北大方正集團(tuán)有限公司, 方正移動(dòng)傳媒技術(shù)(北京)有限公司