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

二維條碼圖形畸變校正的方法

文檔序號:6562176閱讀:218來源:國知局
專利名稱:二維條碼圖形畸變校正的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種自動識別技術(shù)中的圖形校正方法,特別是一種對發(fā)生畸變的二維條碼圖形進行校正的方法,屬于自動識別技術(shù)領(lǐng)域。
背景技術(shù)
條碼技術(shù)是在計算機技術(shù)與信息技術(shù)基礎(chǔ)上發(fā)展起來的一門容編碼、印刷、識別、數(shù)據(jù)采集和處理于一身的新興技術(shù)。人們?nèi)粘R姷降挠∷⒃谏唐钒b上的條碼,是普通的一維條碼。作為一項自動識別技術(shù),一維條碼自本世紀70年代初期問世以來,由于其識讀快速、準確、可靠、制作成本低等優(yōu)點,很快受到了人們的青睞,被廣泛應(yīng)用在商業(yè)、圖書管理、倉儲、郵電、交通和工業(yè)控制等領(lǐng)域。
一維條碼只是在一個方向(一般是水平方向)表達信息,其一定的高度寬度通常是為了便于閱讀器的對準,同時也為了防止因印刷質(zhì)量不好或條碼符號損壞給識讀造成困難。一維條碼的應(yīng)用可以提高信息錄入的速度,減少差錯率,但是一維條碼也存在一些不足之處,例如數(shù)據(jù)容量較小,多數(shù)一維條碼所能表示的字符集不過是10個數(shù)字,26個英文字母及一些特殊字符。條碼字符集最大的Code 128條碼,所能表示的字符個數(shù)也不過是128個ASCII符;條碼圖形的尺寸相對較大,即空間利用率較低;條碼遭到損壞后便不能閱讀等等。
由于受信息容量的限制,一維條碼僅僅能用于對“物品”進行標識,而不能對“物品”進行描述。故一維條碼的使用,不得不依賴數(shù)據(jù)庫的存在。在沒有數(shù)據(jù)庫和不便聯(lián)網(wǎng)的地方,一維條碼的使用會受到較大的限制,有時甚至變得毫無意義。另外,要用一維條碼表示漢字的場合,就顯得十分不方便,且效率很低。
二維條碼在正是為了解一維條碼無法解決的問題而產(chǎn)生的。因為它具有高密度、高可靠性等特點,所以可以用它存儲和表示數(shù)據(jù)文件(包括漢字文件)、圖像文件等。
二維條碼可以分為堆疊式二維條碼和矩陣式二維條碼。堆疊式二維條碼形態(tài)上是由多行短截的一維條碼堆疊而成,矩陣式二維條碼以矩陣的形式組成,在矩陣相應(yīng)元素位置上用點的出現(xiàn)表示二進制″1″,空的出現(xiàn)表示二進制″0″,由點的排列組合確定了代碼表示的含義。具有代表性的堆疊式二維條碼包括PDF417、Code 49、Code 16K等。具有代表性的矩陣式二維條碼包括Code one、Aztec、Date Matrix、QR碼等。二維條碼可以使用激光或CCD閱讀器識讀。
堆疊式二維條碼中包含附加的格式信息,信息容量最大可以達到1000個字節(jié)左右,例如PDF417碼可用來為運輸/收貨標簽的信息編碼,它作為ANSI MH10.8標準的一部分為″紙上EDI″的送貨標簽內(nèi)容編碼,這種編碼方法被許多的工業(yè)組織和機構(gòu)采用。但是,堆疊式二維條碼圖形存儲信息的能力最大也只有1000個字節(jié),如果采用較高的糾錯等級,堆疊式二維條碼存儲有效數(shù)據(jù)的能力會進一步下降。另外,堆疊式二維條碼對于識讀的方向性有一定的要求,一般只能與條碼碼字設(shè)置方向相同,旋轉(zhuǎn)90°以后則無法識讀。
矩陣式二維條碼與堆疊式二維條碼相比,具有更高的信息密度(如Data Matrix、Maxicode、Aztec、QR碼),可以作為包裝箱的信息表達符號,在電子半導(dǎo)體工業(yè)中,將DataMatrix或QR碼用于標識小型的零部件。矩陣式二維條碼能被二維的CCD圖像式閱讀器識讀,而且能以360°全向的方式掃描。
由于二維條碼能夠編碼存儲的信息量較大,因此能夠?qū)⑷魏握Z言(包括漢字)和二進制信息(如簽字、照片)進行編碼,并可以由用戶選擇的不同程度的糾錯級別,以在符號殘損的情況下恢復(fù)所有信息。
但是,現(xiàn)有的矩陣式二維條碼圖形,例如QR碼,參見圖1,由于其所具有的尋像圖形、校正圖形都由不同顏色正方形相互交替重疊構(gòu)成。利用現(xiàn)有的識讀方法對QR碼進行識讀和定位時,要求所有的尋像圖形都必須存在,或者在只有一部分尋像圖形存在的情況下,必須有一定數(shù)量和固定位置的校正圖形存在;否則就不能對其進行定位,進而影響對QR碼中存儲的信息進行還原。
另外,在二維條碼使用過程中,由于符號打印,光照等因素的影響,二維條碼的條空模塊會發(fā)生一定的畸變,例如采用噴墨打印機打印一個二維條碼時,墨滴通常在未干的情況下,會沿紙張的毛細纖維進行擴散,最終形成比實際需要圖形還略大一些的圖形。盡管可以利用軟件對輸出的圖形進行事先誤差補償控制,但畸變的情形還會因為各種各樣的因素而發(fā)生。另外,被擠壓、扭曲、縮小或放大、偏移等原因,導(dǎo)致整個二維條碼圖形圖像發(fā)生較大畸變時,就需要較多地使用尋像圖形和校正圖形。即使如此,由于是在固定位置設(shè)定規(guī)則的尋像圖形,當(dāng)二維條碼圖形發(fā)生較大畸變后,尋像圖形和校正圖形也會變得不規(guī)則,這時對其中的數(shù)據(jù)進行還原就會非常困難,甚至無法進行。

發(fā)明內(nèi)容
為了解決二維條碼圖形中的畸變、殘損及不規(guī)則圖形所帶來的識讀困難及數(shù)據(jù)還原效率低等問題,本發(fā)明提供一種二維條碼圖形畸變校正的方法。
申請人研究并開發(fā)出一種新的矩陣式二維條碼——漢信碼。參見圖2,本發(fā)明涉及的漢信碼符號由設(shè)置在一個矩形區(qū)域四角處的尋像圖形1、功能信息區(qū)域5以及校正圖形2、輔助校正圖形3、信息編碼區(qū)域4(包括數(shù)據(jù)編碼和糾錯編碼以及填充碼字等信息)所構(gòu)成。容納信息量較小(版本號低于4)的漢信碼符號中不設(shè)置校正圖形2和輔助校正圖形3。校正圖形是由相鄰的深色和淺色兩條線組成階梯形的折線,位于二維條碼圖形左邊緣和下邊緣的校正圖形,簡化為單模塊寬的黑線。對于二維條碼圖形和四個邊重疊的校正線,在沒有與其它校正折線相交的那個端點構(gòu)造輔助校正圖形3,即構(gòu)造一個2×3模塊大小的圖形,中心為黑色模塊,剩下5個為白色模塊,其中的黑色模塊為輔助校正點。另外,每個二維條碼圖形的右上角區(qū)域校正圖形的校正折線稀疏,也分別布置兩個2×3模塊的輔助校正圖形。這種二維條碼圖形的尋像圖形、校正圖形及其分布結(jié)構(gòu)本身具有確定的定位信息,因此這種新的二維條碼結(jié)構(gòu)具備了進行符號畸變校正的基礎(chǔ)。
本發(fā)明提供了一種二維條碼圖形畸變校正的方法,包括步驟1在二維條碼圖形頂點位置附近尋找尋像圖形;步驟2尋找尋像圖形附近功能信息區(qū)域的功能信息圖形,獲取二維條碼圖形的功能信息和版本信息;步驟3根據(jù)所述版本信息計算標準的二維條碼圖形的圖像空間;步驟4確定二維條碼圖形中采樣點坐標;步驟5在二維條碼圖形的采樣點坐標處讀取數(shù)據(jù),將二維條碼圖形中的各數(shù)據(jù)元素,變換為標準的二維條碼圖形圖像空間的數(shù)據(jù)元素;步驟6結(jié)束。
上述技術(shù)方案中,步驟4中還包括尋找校正圖形和輔助校正圖形,將校正圖形和輔助校正圖形作為控制點,將二維條碼圖形分成若干子區(qū)域,分塊采集子區(qū)域的各個采樣點,校正圖形是由相鄰的深色和淺色兩條線組成階梯形的折線,通過折線的交點來達到分塊校正碼圖的目的。。
本發(fā)明提供了一種二維條碼圖形畸變校正的方法,根據(jù)二維條碼圖形的結(jié)構(gòu),對發(fā)生畸變的二維條碼圖形進行校正,為后續(xù)的識讀和譯碼提供符合標準的漢信碼符號圖形。找到尋像圖形和校正圖形,利用尋像圖形、校正圖形和輔助校正圖形把整個圖形分割成一系列的子區(qū)域。由于子區(qū)域尺寸較小,可以近似認為各子區(qū)域在一個平面上且形變?yōu)榫€性形變,從而具有一定的抗曲面畸變的能力。對于每一個子區(qū)域平面,利用仿射變換把子區(qū)域映射到標準圖形相應(yīng)位置。從而,整個圖形也即映射到標準條碼圖形。通過把整個圖形進行子區(qū)域拆分進行曲面到平面的近似,把非線性運算簡化為線性運算,可以有效提高處理速度。并且由于整個條碼圖形校正圖形和輔助校正圖形的設(shè)計,通過折線的交點可達到分塊校正碼圖的目的,使得圖像處理速度快,能夠廣泛應(yīng)用于自動識別的各個領(lǐng)域。本發(fā)明可有效解決二維條碼圖形中的畸變、殘損及不規(guī)則圖形及后續(xù)識讀速度慢的問題,可提供經(jīng)過校正后的標準二維條碼圖形,為以后的識讀和譯碼提供了符合標準的符號圖形。


圖1為QR碼的結(jié)構(gòu)示意圖;圖2為漢信碼的結(jié)構(gòu)示意圖;圖3為本發(fā)明二維條碼圖形畸變校正的方法流程圖;圖4為漢信碼尋像圖形的示意圖;圖5為步驟2.2的流程圖;圖6為確定尋像圖形寬度示意圖;圖7為獲取功能信息示意圖;圖8為步驟3流程圖;圖9為不同版本中存在的校正圖形形狀;圖10為存在校正圖形時步驟4.1流程圖;圖11為輔助校正點的中心坐標;圖12為校正圖形的中心坐標;圖13為確定二維條碼圖形的左上角采樣子區(qū)域的示意圖;圖14為確定二維條碼圖形的右下角采樣子區(qū)域的示意圖。
具體實施例方式
圖2為漢信碼的結(jié)構(gòu)示意圖,漢信碼的碼圖整體結(jié)構(gòu)設(shè)計具有不同于已有二維條碼的明顯特征。碼形是由n×n個模塊構(gòu)成的正方形,其中n與版本號有關(guān),不同版本號的圖形存儲容量大小不同,n不同。漢信碼符號由設(shè)置在一個矩形區(qū)域四頂點處的尋像圖形1、功能信息區(qū)域5以及校正圖形2、輔助校正圖形3和信息編碼區(qū)域4構(gòu)成,信息編碼區(qū)域包括數(shù)據(jù)編碼、糾錯編碼和填充碼字等信息。漢信碼中的尋像圖形形狀相同,但放置方向不同,如圖2所示,位于右上角和左下角的尋像圖形擺放方向相同,其余各角的尋像圖形為旋轉(zhuǎn)一定的角度獲得。功能信息區(qū)域5與尋像圖形1之間為1個單位模塊寬度的空白區(qū)域,將尋像圖形1與功能信息區(qū)域5分開。
容納信息量較小(版本號低于4)的漢信碼符號中不設(shè)置校正圖形2和輔助校正圖形3。校正圖形2是由相鄰的深色和淺色兩條線組成階梯形的折線。對于位于二維條碼圖形左邊緣和下邊緣的校正圖形2,簡化為單模塊寬的黑線。對于二維條碼圖形和四個邊重疊的校正線,在沒有與其它校正折線相交的那個端點構(gòu)造輔助校正圖形3。輔助校正圖形為一個2×3大小的模塊,中間為黑色模塊,剩下5個為白色模塊,黑色模塊為輔助校正點。另外,每個二維條碼圖形的右上角區(qū)域的校正圖形折線稀疏,也分別布置兩個2×3模塊的輔助校正圖形。這種二維條碼圖形的尋像圖形、校正圖形及其分布結(jié)構(gòu)本身具有確定的定位信息,因此這種新的二維條碼結(jié)構(gòu)具備了進行符號畸變校正的基礎(chǔ)。相鄰兩個頂點附近的功能信息區(qū)域5中的數(shù)據(jù)組成功能信息,功能信息中包括版本信息及糾錯位等。
如圖3所示,本發(fā)明二維條碼圖形畸變校正的方法,包括步驟1在二維條碼圖形頂點位置附近尋找尋像圖形;步驟2尋找尋像圖形附近功能信息區(qū)域的功能信息圖形,獲取二維條碼圖形的功能信息和版本信息;步驟3根據(jù)所述版本信息計算標準的二維條碼圖形的圖像空間;步驟4確定二維條碼圖形中采樣點坐標;
步驟5在二維條碼圖形的采樣點坐標處讀取數(shù)據(jù),將二維條碼圖形中的各數(shù)據(jù)元素,變換為標準的二維條碼圖形圖像空間的數(shù)據(jù)元素;步驟6結(jié)束。
為保證達到快速識讀譯碼的要求,步驟1在尋找尋像圖形過程中可以采用線性掃描特征比例的方式進行碼圖尋像。如圖4所示,尋像圖形由5個深色和淺色正方形重疊組成,每一尋像圖形的模塊序列由一個深色—淺色—深色—淺色—深色次序構(gòu)成,各元素的相對寬度的比例是1∶1∶1∶1∶3或者3∶1∶1∶1∶1。對二維條碼符號的四個頂點位置附近的區(qū)域進行線性掃描,尋找深色與淺色模式比例符合1∶1∶1∶3或者3∶1∶1∶1的陣列,如果找到深色與淺色模式比例符合1∶1∶1∶3或者3∶1∶1∶1∶1的陣列則找到尋像圖形。確定尋像圖形中,每一模塊寬度的允許偏差為0.5(即單個模塊的尺寸允許范圍為0.5~1.5,3個模塊寬度的允許尺寸范圍為2.5~3.5)。
步驟1在尋找尋像圖形中也可采用模糊識別的方式判斷二維條碼圖形四個頂點位置附近是否存在尋像圖形在二維條碼圖形的頂點位置附近尋找尋像圖形,將二維條碼圖形的四個頂點位置附近圖像與事先存儲的尋像圖形模板(如圖4)進行匹配,如果二維條碼圖形的頂點位置附近圖像與尋像圖形模板之間的相似度不小于某一設(shè)定的閾值,則找到尋像圖形。經(jīng)過判斷四個頂點附近的圖形是否與圖4所示的尋像圖形模塊相匹配,當(dāng)相似度大于某一值,即認定找到尋像圖形。模糊識別為現(xiàn)在公知的一種技術(shù),在此不再詳述。
本發(fā)明步驟2包括步驟2.1根據(jù)找到的尋像圖形確定尋像圖形的寬度;獲得模塊尺寸;步驟2.2根據(jù)模塊尺寸,讀取并合并相鄰兩頂點附近的功能信息區(qū)域,獲得掩模信息和糾錯等級信息。
如圖5所示,本發(fā)明步驟2.2包括步驟2.2.1讀取步驟1所找到的任一尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);
步驟2.2.2讀取與尋像圖形任意一相鄰頂點附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);步驟2.2.3合并尋像圖形及相鄰頂點附近的兩個功能信息區(qū)域中的數(shù)據(jù),如果糾錯無解,執(zhí)行步驟2.2.4;否則進行糾錯處理,獲得版本信息和功能信息,執(zhí)行步驟3;步驟2.2.4讀取尋像圖形另一相鄰頂點附近的功能信息區(qū)域中每一模塊的數(shù)據(jù)和在對角線尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);步驟2.2.5合并尋像圖形附近的功能信息區(qū)域數(shù)據(jù)和另一相鄰頂點附近的功能信息區(qū)域數(shù)據(jù),或者合并另一相鄰頂點附近的功能信息區(qū)域數(shù)據(jù)和對角線尋像圖形附近的功能信息區(qū)域數(shù)據(jù);步驟2.2.6判斷糾錯是否有解,如果有解則進行糾錯處理,獲得功能信息和版本信息,執(zhí)行步驟3;否則結(jié)束。
功能信息中包括版本、糾錯等級與掩模信息以及糾錯位等,糾錯位對功能信息進行糾錯,糾錯后即可得正確的功能信息。獲得了正確的功能信息即可得到版本、糾錯等級和掩模信息。其中版本信息中包含了二維條碼圖形的版本號以及與版本相關(guān)的校正圖形信息等,糾錯等級和掩模信息用來為后續(xù)的識讀提供糾錯的手段,以獲得正確的編碼信息,由于本發(fā)明為二維條碼圖形畸變校正的方法,不涉及識讀,所以在獲得正確的功能信息后主要用到的是版本信息。糾錯等級和掩模信息為本領(lǐng)域技術(shù)人員公知常識,在此不再贅述。
步驟2尋找功能信息區(qū)域獲得版本信息的一個實施例為1)由找到的尋像圖形確定尋像圖形的寬度(如圖6所示),例如圖中所示一個尋像圖形的寬度WUR;2)用7除以尋像圖形的寬度尺寸例如WUR,得到模塊尺寸CPURCPUR=WUR/73)確定在A附近的功能信息區(qū)域5中每一模塊的數(shù)據(jù)(圖7所示);尋像圖形1為模塊比例符合1∶1∶1∶1∶3或3∶1∶1∶1∶1所構(gòu)成的7×7正方形模塊,功能信息區(qū)域與尋像圖形中的一個頂點組成9×9的正方形模塊,因此在知道單位模塊的尺寸CPUR之后,可初步確定功能信息區(qū)域的位置,從而讀取功能信息區(qū)域中每一模塊的數(shù)據(jù)。二進制值0和1根據(jù)采樣網(wǎng)格上的深色淺色的圖形來確定;4)按照3)中描述的方法,確定在B尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);5)合并A和B尋像圖形附近的功能信息區(qū)域數(shù)據(jù),通過檢測并糾錯確定功能信息,如果糾錯有解,根據(jù)功能信息中的糾錯位,對功能信息模塊進行糾錯,轉(zhuǎn)到8),否則轉(zhuǎn)到6);6)判斷糾錯是否有解,如果無解,按照3)中描述的方法,確定在C尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù)和在D尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);合并A尋像圖形附近的功能信息區(qū)域數(shù)據(jù)和C尋像圖形附近的功能信息區(qū)域數(shù)據(jù),或者合并B尋像圖形附近的功能信息區(qū)域數(shù)據(jù)和D尋像圖形附近的功能信息區(qū)域數(shù)據(jù)重新進行譯碼嘗試;7)判斷糾錯是否有解,如果有解,對功能信息模塊出現(xiàn)的錯誤進行糾錯,轉(zhuǎn)到步驟8);否則糾錯無解,無法獲得功能信息和版本信息,結(jié)束本方法;8)獲得正確的功能信息和版本信息。
注意在合并兩個相鄰頂點附近的功能信息區(qū)域中的數(shù)據(jù)時,合并時先后順序有兩種情況,但只要有一種糾錯有解即可因為功能信息在相鄰頂點功能信息區(qū)域中存儲時有先后順序。比如圖7所示,對于A、B兩尋像圖形,功能信息先在A尋像圖形附近的功能信息區(qū)域中存儲,然后在B尋像圖形附近的功能信息區(qū)域中存儲,只有按合并A和B附近的功能信息區(qū)域中數(shù)據(jù)的順序時才可能糾錯有解,如果按合并B和A附近的功能信息區(qū)域中數(shù)據(jù)時糾錯無解,所以進行合并時需要進行兩種嘗試,但只要找到糾錯有解的情況時即可。其中對角線位置的存放相同的功能數(shù)據(jù),功能信息區(qū)域的這種數(shù)據(jù)存放方式,使得即使二維條碼圖形缺失某一邊,仍可對數(shù)據(jù)進行恢復(fù),增加了識讀的能力。
如圖8所示,本發(fā)明的步驟3包括步驟3.1由版本信息獲得版本號,計算二維條碼圖形每一邊的模塊數(shù)KK=21+2*N;其中,K為二維條碼圖形任意邊的模塊數(shù),N為二維條碼圖形的版本號,且為正整數(shù);步驟3.2計算標準的二維條碼圖形的圖像空間,標準的二維條碼圖形的圖像空間為K*K個正方形模塊組成的正方形陣列。
對于上述步驟3獲得了標準圖形空間的大小,步驟4可以直接將二維條碼圖形分成分成K*K個模塊,在每個模塊中設(shè)置采樣點。步驟5即可方便讀取每個模塊的數(shù)據(jù)值,將二維條碼圖形每個模塊中的數(shù)據(jù)值對應(yīng)到標準的圖像空間中,增加了抗畸變的能力。
對存在校正圖形的較高版本的二維條碼圖形,還可由校正圖形將圖形分成若干個子區(qū)域,進一步對子區(qū)域中每個模塊設(shè)置采樣點進行采樣。較高版本的二維條碼圖形中,步驟4還包括尋找校正圖形,所述的校正圖形為相鄰的深色和淺色兩條線組成的階梯形的折線;還包括尋找輔助校正圖形。
對于存在校正圖形的版本,步驟4包括步驟4.1根據(jù)校正圖形中相鄰的轉(zhuǎn)折點和輔助校正圖形,將二維條碼圖形分成若干個子區(qū)域;步驟4.2在子區(qū)域的每個模塊內(nèi)設(shè)置采樣點。
根據(jù)版本信息的不同,尋像圖形和校正圖形2的空間位置也不同。如圖9所示,不同版本的校正圖形在二維條碼圖形空間中的位置不同,但不同版本尋找校正圖形確定二維條碼圖形的分塊區(qū)域的步驟大致相同。
如圖10所示,尋找校正圖形和輔助校正圖形,將二維條碼圖形分成若干子區(qū)域的具體步驟包括4.1.1初步確定校正圖形與二維條碼圖形左邊或上邊相重疊的校正線中心坐標;4.1.2從初定的中心坐標開始,確定輔助校正圖形中輔助校正點的坐標,根據(jù)輔助校正點的位置,確定校正圖形的左邊或上邊相重疊的校正線位置中心坐標;4.1.3估計校正圖形左上角轉(zhuǎn)折點的初步坐標;4.1.4按照4.1.2中同樣的步驟找到校正圖形左上角轉(zhuǎn)折點的實際中心坐標;4.1.5根據(jù)所獲得的轉(zhuǎn)折點坐標和尋像圖形的中心坐標計算位于二維條碼圖形符號左上角區(qū)域的模塊距離,確定覆蓋二維條碼圖形的左上角區(qū)域的采樣子區(qū)域;4.1.6確定圖形右上角區(qū)域和左下角區(qū)域的采樣子區(qū)域;4.1.7確定未覆蓋區(qū)域的采樣子區(qū)域。
現(xiàn)對照圖11-圖14介紹它的一個優(yōu)選實施例為a)左上角尋像圖形的寬度WUL除以7,計算模塊尺寸CPULCPUL=WUL/7;初步確定校正圖形P1和P2的坐標,校正圖形與版本號的關(guān)系為N=R+M*L,其中N為版本號,可由版本信息得知;R為二維條碼圖形最左邊與最下邊區(qū)域的校正折線長度,是一個特殊值R,剩余區(qū)域的校正折線則是平均分布,寬度為L,M為平均分布的折線寬度的個數(shù);由版本信息可獲知校正圖形平均分布的折線寬度L、R及M,再結(jié)合模塊尺寸CPUL初步確定校正圖形P1和P2的坐標;b)從初定的坐標開始,掃描輔助校正圖形的空白方框輪廓,確定輔助校正點的位置坐標Xi和Yj(圖11所示),從輔助校正點的位置出發(fā),水平或者垂直掃描校正圖形由黑白臨邊組成的階梯形的折線轉(zhuǎn)折點位置,確定校正圖形P1和P2的坐標,如圖12所示;
c)根據(jù)得到的校正圖形P1和P2的坐標值和校正圖形平均分布的折線寬度K,估計校正圖形P3的初步中心坐標;d)按照b)中同樣的步驟找到校正圖形P3的實際中心坐標;e)如圖13所示,確定Lx和Ly,Lx是P2和P3兩點之間的距離,Ly是P1和P3兩點之間的距離。用校正圖形的已定義的間距除Lx和Ly,獲得位于二維條碼圖形左上角區(qū)域下邊的模塊節(jié)距CPx和右邊的模塊節(jié)距Cpy值。
CPx=Lx/AP,CPy=Ly/AP,其中,AP是標準的校正圖形中心的模塊間距;以同樣方式,找出Lx’和Ly’,Lx’是左上部尋像圖形PUL的中心坐標與校正圖形P1之間的水平距離;Ly’是左上部尋像圖形PUL的中心坐標與校正圖形P2之間的垂直距離。由下面給出的公式計算二維條碼圖形左上角區(qū)域中上邊的模塊節(jié)距CPx和左邊的節(jié)距CPx’值CPx’=Lx’/(校正圖形P1的列坐標-PUL的中心模塊的列坐標)CPy’=Ly,/(校正圖形P2的行坐標-PUL的中心模塊的行坐標);f)根據(jù)二維條碼圖形左上角區(qū)域的每一邊的模塊節(jié)距值CPx,CPx’,CPy和CPy’,確定覆蓋左上區(qū)的采樣子區(qū)域;g)以同樣方法,確定圖形右上角區(qū)域(被右上角尋像圖形PUR,校正圖形和P4以及其余校正圖形所覆蓋)和圖形右下角區(qū)域(被右下角尋像圖形和周圍校正圖形如P6所覆蓋)的采樣區(qū)域,如圖14所示;h)根據(jù)步驟d)-g)所述方法,確定圖形左下區(qū)的采樣區(qū)域;i)用同樣原則確定圖形未覆蓋區(qū)域的采樣子區(qū)域。
根據(jù)校正圖形和輔助校正點將二維條碼圖形分成若干子區(qū)域進行采樣時,將較大的二維條碼圖形劃分成一系列子區(qū)域分別進行處理和識別,在二維條碼內(nèi)存在多個畸變校正點,在圖像的識別過程中便于建立畸變模型,達到強抗畸變能力。
在將二維條碼圖形分成若干子區(qū)域后,將每個子區(qū)域分成L×L個模塊;其中L為校正圖形中平均分布的折線寬度;然后在每個模塊中設(shè)置采樣點。對于每一個子區(qū)域平面,利用仿射變換把子圖形映射到標準位置。從而,整個圖形也即映射到標準位置。通過把整個圖形進行拆分進行曲面到平面的近似,把非線性運算簡化為線性運算,可以有效提高處理速度。
對子區(qū)域的每個模塊可以設(shè)置一個采樣點進行讀取,也可以進一步將每個模塊分成n行m列,將每個模塊中n行m列的交點作為的采樣點,其中n≥1,m≥1(n和m可以相同,也可以不同);進一步將每個模塊細分,采樣每個模塊中的n×m個采樣值,增加了識讀的精度和正確率。
對于每個正方形模塊只設(shè)置一個采樣點的情況,此時,步驟5包括從二維條碼圖形某一頂點開始依次對個每個正方形模塊中設(shè)置的采樣點進行采樣,根據(jù)閾值確定是深色塊還是淺色塊,映射到標準的二維條碼圖形對應(yīng)模塊上。
上述技術(shù)方案中,步驟4在每個模塊設(shè)置多個采樣點的情況時,步驟5包括步驟5.1’對每個模塊中n行m列交點上的采樣點在灰度圖內(nèi)進行采樣,對n×m個采樣值進行處理,結(jié)果做為每個模塊的采樣值;步驟5.2’從二維條碼圖形某一頂點開始依次讀取每個模塊的采樣值,根據(jù)采樣值確定是深色塊還是淺色塊,映射到標準的二維條碼圖形對應(yīng)模塊上。
對網(wǎng)格的每一交點上的圖像采樣,并根據(jù)采樣值確定是深色塊還是淺色塊,用二進制的“1”表示深色的,用二進制的“0”表示淺色的。
步驟5.1’中對每個模塊的n行m列交點上的采樣點進行采樣,有n×m個采樣值,可以采用最簡單的取平均值的方法將平均值作為每一模塊的采樣值;也可采用其它方法,使每個模塊的采樣值取決于n×m個采樣值中占多數(shù)的采樣值。每個模塊的采樣值確定后,根據(jù)映射關(guān)系,將二維條碼圖形的每個模塊的采樣值映射到標準圖像空間中,可得到經(jīng)過幾何校準的二維條碼圖形。
本發(fā)明根據(jù)找到的校正圖形轉(zhuǎn)折點的位置,利用校正圖形將整個圖形分割成一系列的子區(qū)域,由于子區(qū)域尺寸較小,可以近似認為各子區(qū)域在一個平面上,從而具有一定的抗曲面畸變的能力。對發(fā)生畸變的二維條碼圖形進行校正,為后續(xù)的識讀和譯碼提供符合標準的漢信碼符號圖形。根據(jù)尋像圖形和校正圖形,將較大的二維條碼圖形劃分成一系列子區(qū)域分別進行處理和識別,在圖形內(nèi)存在多個畸變輔助校正圖形,在圖像的識別過程中便于建立畸變模型,達到強抗畸變能力。對于每一個子區(qū)域平面,利用仿射變換把子區(qū)域映射到標準位置,從而,整個圖形也即映射到標準位置。通過把整個圖形進行拆分進行曲面到平面的近似,把非線性運算簡化為線性運算,可以有效提高處理速度。本發(fā)明可有效解決現(xiàn)有二維條碼圖形中的畸變、殘損及不規(guī)則圖形所帶來的識讀困難和數(shù)據(jù)還原效率低等問題。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對本發(fā)明作限制性理解。盡管參照上述較佳實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而這種修改或者等同替換并不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種二維條碼圖形畸變校正的方法,其特征在于,包括步驟1在二維條碼圖形頂點位置附近尋找尋像圖形;步驟2尋找尋像圖形附近功能信息區(qū)域的功能信息圖形,獲取二維條碼圖形的功能信息和版本信息;步驟3根據(jù)所述版本信息計算標準的二維條碼圖形的圖像空間;步驟4確定二維條碼圖形中采樣點坐標;步驟5在二維條碼圖形的采樣點坐標處讀取數(shù)據(jù),將二維條碼圖形中的各數(shù)據(jù)元素,變換為標準的二維條碼圖形圖像空間的數(shù)據(jù)元素;步驟6結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟1包括對二維條碼圖形的頂點位置附近的區(qū)域進行線性掃描,尋找深色與淺色模式比例符合1∶1∶1∶3或者3∶1∶1∶1的陣列,如果找到深色與淺色模式比例符合1∶1∶1∶3或者3∶1∶1∶1∶1的陣列則找到尋像圖形。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟1包括將二維條碼圖形的頂點位置附近的圖像與事先存儲的尋像圖形模板進行匹配,如果二維條碼圖形的頂點位置附近的圖像與尋像圖形模板之間的相似度不小于某一設(shè)定的閾值,則找到尋像圖形。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,步驟2包括步驟2.1根據(jù)找到的尋像圖形確定尋像圖形的寬度;獲得模塊尺寸;步驟2.2根據(jù)模塊尺寸,讀取并合并相鄰兩頂點附近的功能信息區(qū)域,獲得功能信息和版本信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟2.2包括步驟2.2.1讀取步驟1所找到的任一尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);步驟2.2.2讀取與尋像圖形任意一相鄰頂點附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);步驟2.2.3合并尋像圖形及相鄰頂點附近的兩個功能信息區(qū)域中的數(shù)據(jù),如果糾錯無解,執(zhí)行步驟2.2.4;否則進行糾錯處理,獲得版本信息和功能信息,執(zhí)行步驟3;步驟2.2.4讀取尋像圖形另一相鄰頂點附近的功能信息區(qū)域中每一模塊的數(shù)據(jù)和在對角線尋像圖形附近的功能信息區(qū)域中每一模塊的數(shù)據(jù);步驟2.2.5合并尋像圖形附近的功能信息區(qū)域數(shù)據(jù)和另一相鄰頂點附近的功能信息區(qū)域數(shù)據(jù),或者合并另一相鄰頂點附近的功能信息區(qū)域數(shù)據(jù)和對角線尋像圖形附近的功能信息區(qū)域數(shù)據(jù);步驟2.2.6判斷糾錯是否有解,如果有解則進行糾錯處理,獲得功能信息和版本信息,執(zhí)行步驟3;否則結(jié)束。
6.根據(jù)權(quán)利要求1、2、3或5所述的方法,其特征在于,所述的步驟3包括步驟3.1由版本信息獲得版本號,計算二維條碼圖形每一邊的模塊數(shù)KK=21+2*N;其中,K為二維條碼圖形任意邊的模塊數(shù),N為二維條碼圖形的版本號,且為正整數(shù);步驟3.2計算標準的二維條碼圖形的圖像空間,標準的二維條碼圖形的圖像空間為K*K個正方形模塊組成的正方形陣列。
7.根據(jù)權(quán)利要求1、2、3或5所述的方法,其特征在于,所述的步驟4包括根據(jù)標準的二維條碼圖形的圖像空間,將二維條碼圖形分成若干個采樣子區(qū)域,在每個子區(qū)域中設(shè)置采樣點。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述的步驟4包括將二維條碼圖形分成K*K個模塊,在每個模塊內(nèi)設(shè)置采樣點。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述的步驟4中包括在二維條碼圖形的圖像空間中尋找校正圖形,所述校正圖形為相鄰的深色和淺色兩條線組成的階梯形的折線。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在步驟4中還包括在二維條碼圖形的四個邊線附近尋找輔助校正圖形,所述輔助校正圖形為2*3模塊大小的圖形,其中中間為黑色模塊,為輔助校正點,剩下5個為白色模塊。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述步驟4包括步驟4.1根據(jù)校正圖形中相鄰的轉(zhuǎn)折點和輔助校正圖形,將二維條碼圖形分成若干個子區(qū)域;步驟4.2在子區(qū)域的每個模塊內(nèi)設(shè)置采樣點。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟4.1包括4.1.1初步確定校正圖形與二維條碼圖形左邊或上邊相重疊的校正線坐標;4.1.2從初定的校正線坐標開始,確定輔助校正圖形中輔助校正點的坐標,根據(jù)輔助校正點的位置,確定校正圖形的左邊或上邊相重疊的校正線位置坐標;4.1.3估計校正圖形左上角轉(zhuǎn)折點的初步坐標;4.1.4按照4.1.2中同樣的步驟找到校正圖形左上角轉(zhuǎn)折點的實際坐標;4.1.5根據(jù)所獲得的轉(zhuǎn)折點坐標和尋像圖形,計算位于二維條碼圖形符號左上角區(qū)域的模塊距離,確定覆蓋二維條碼圖形的左上角區(qū)域的采樣子區(qū)域;4.1.6確定圖形右上角區(qū)域和左下角區(qū)域的采樣子區(qū)域;4.1.7確定未覆蓋的采樣子區(qū)域。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟4.2包括4.2.1將每個子區(qū)域分成L×L個模塊;其中L為校正圖形中平均分布的折線寬度,可由版本信息得知;4.2.2在每個模塊內(nèi)設(shè)置采樣點。
14.根據(jù)權(quán)利要求1、2、3、5、8、9、10、11、12或13所述的方法,其特征在于,步驟5包括從二維條碼圖形某一頂點開始依次對個每個模塊中設(shè)置的采樣點進行采樣,根據(jù)閾值確定是深色塊還是淺色塊,映射到標準的二維條碼圖形對應(yīng)模塊上。
15.根據(jù)權(quán)利要求8、11、12或13所述的方法,其特征在于,所述每個內(nèi)模塊設(shè)置采樣點包括進一步將每個模塊分成n行m列,確定每個模塊中n行m列交點上的采樣點坐標,其中n≥1,m≥1,n和m可以相等,也可以不相等。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,步驟5包括步驟5.1’對每個模塊中n行m列交點上的采樣點在灰度圖內(nèi)進行采樣,對n×m個采樣值進行處理,處理結(jié)果做為每個模塊的采樣值;通過閾值對比,確定采樣模塊為深色還是淺色模塊;步驟5.2’從二維條碼圖形某一頂點開始依次讀取每個模塊的采樣值,根據(jù)采樣值確定是深色塊還是淺色塊,映射到標準的二維條碼圖形對應(yīng)模塊上。
全文摘要
本發(fā)明公開了一種二維條碼圖形畸變校正的方法,包括在識讀的碼圖中,尋找尋像圖形;從尋像圖形附近的功能信息區(qū)域獲得版本信息;根據(jù)版本信息獲得標準的二維條碼圖形的圖像空間并確定二維條碼圖形中采樣點坐標;將二維條碼圖形中的各數(shù)據(jù)元素,變換為標準的二維條碼圖形圖像空間的數(shù)據(jù)元素。本發(fā)明根據(jù)二維條碼圖形的結(jié)構(gòu),并根據(jù)校正圖形將整個條碼圖形分成若干個子區(qū)域,分塊校正,圖像處理速度快,校正精度高,能夠廣泛應(yīng)用于自動識別的各個領(lǐng)域。本發(fā)明可有效解決二維條碼圖形中的畸變、殘損及不規(guī)則圖形及后續(xù)識讀速度慢的問題,可提供經(jīng)過校正后的圖形,為以后的識讀和譯碼提供了符合標準的符號圖形。
文檔編號G06K9/00GK1963838SQ200610138530
公開日2007年5月16日 申請日期2006年11月7日 優(yōu)先權(quán)日2006年11月7日
發(fā)明者張成海, 羅秋科, 王毅, 黃燕濱, 王越, 楊楚威 申請人:中國物品編碼中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1