專利名稱:條空邊界處理模塊以及條碼識別裝置的制作方法
技術領域:
條空邊界處理模塊以及條碼識別裝置
技術領域:
本實用新型涉及條碼識別技術領域,特別地,涉及一種條空邊界處理模塊以及應 用條空邊界處理模塊的條碼識別裝置。
背景技術:
條碼技術是在計算機技術與信息技術基礎上發(fā)展起來的一門集編碼、印刷、識別、 數(shù)據(jù)采集和處理于一身的新興技術。條碼技術由于其識別快速、準確、可靠以及成本低等優(yōu) 點,被廣泛應用于商業(yè)、圖書管理、倉儲、郵電、交通和工業(yè)控制等領域,并且勢必在逐漸興 起的“物聯(lián)網(wǎng)”應用中發(fā)揮重大的作用。目前被廣泛使用的條碼包括一維條碼及二維條碼。一維條碼又稱線形條碼是由平 行排列的多個“條”和“空”單元組成,條碼信息依靠條和空的不同寬度和位置來表達。二 維條碼是由按一定規(guī)律在二維方向上分布的黑白相間的特定幾何圖形組成,其可以在二維 方向上表達信息。二維條碼可以分為行列式二維條碼和矩陣式二維條碼。行列式二維條碼 是由多行短截的一維條碼堆疊而成,代表性的行列式二維條碼包括PDF417、Code 49、Code 16K等。行列式二維條碼信息表示方法與一維條碼類似,也是依靠條和空的不同寬度和位置 來表達。矩陣式二維條碼是由按預定規(guī)則分布于矩陣中的黑、白模塊組成,代表性的矩陣式 二維條碼包括QR碼、Data Matrix碼、Maxi碼、Aztec碼、漢信碼等。在條碼進行解碼的過程中,通常是利用掃描設備對于條碼進行掃描,以獲取反射 光信號,或者是利用攝影設備對條碼進行拍攝,以獲取條碼圖像,通過對反射光信號或條碼 圖像進行識別處理來獲取條碼信息。如圖1所示,是三星電子株式會社提出的中國專利申請第200510126730. 7號,其 公開了一種讀取條碼的方法和裝置。該裝置包括掃描單元,用于感測條碼并且生成掃描信 號;搜索單元,用于計算掃描信號的變化率,從掃描信號中提取斜線段,并搜索所提取的斜 線段的起點和終點以檢測條碼的條的邊緣;以及條碼讀取單元,用于基于所檢測的邊緣之 間的距離而讀出條碼。這種讀取條碼的方法和裝置的缺點在于,該裝置必須依賴于使用者 通過掃描單元正確地感測條碼方向,讀取條碼的裝置本身不能識別條碼方向,不能根據(jù)條 碼方向調(diào)整解碼方向,由此造成了使用不便和應用的局限性,在條碼的條空密度較大,或者 是畸變較大的情況下會造成無法識別解碼。因此,針對現(xiàn)有技術存在的以上不足,亟需提供一種條空邊界處理模塊以及條碼 識別裝置,使得能保證正確識別條碼的條空信息,提高解碼成功率。
發(fā)明內(nèi)容針對現(xiàn)有技術存在的解碼裝置依賴于使用者通過掃描單元正確地感測條碼方向, 不能根據(jù)條碼方向調(diào)整解碼方向的不足,本實用新型提供一種條空邊界處理模塊以及條碼 識別裝置,可以正確識別條碼的條空信息,提高解碼成功率。本實用新型提供一種條碼識別裝置,包括邊界識別模塊;方向識別模塊,與邊界識別模塊連接;條空邊界處理模塊,與所述邊界識別模塊和方向識別模塊連接;符號字符 提取模塊,與條空邊界處理模塊連接。本實用新型還提供一種條空邊界處理模塊,包括掃描邊界獲取單元;直線掃描 單元,與掃描邊界獲取單元連接;亞像素邊界計算單元,與直線掃描單元連接。本實用新型的條碼識別裝置能夠自動識別條碼方向,無需使用者調(diào)整掃描單元的 掃描方向即可實現(xiàn)對條碼圖像的識別解碼,并且條碼邊界的識別精度高,解碼成功率高。本實用新型的條空邊界處理模塊能夠根據(jù)條碼方向調(diào)整解碼方向,獲取條碼邊界 的精確坐標值,大大提高了解碼成功率,特別適用于高密度條碼或畸變條碼的識別解碼。本實用新型的條碼識別裝置以及條空邊界處理模塊采用硬件流水線結構,通過硬 件邏輯實現(xiàn)對條碼圖像的識別解碼,由于硬件流水線結構適于對條碼圖像進行流水線作業(yè) 和并行處理,因此處理速度很快。由于采用全硬件結構,無需處理器參與解碼,芯片結構相 對于處理器而言結構更為簡化、面積更小、功耗更低、成本更低、易于集成,容易實現(xiàn)便攜應 用。可以方便地與物聯(lián)網(wǎng)技術相結合,為條碼技術的應用提供了更為廣闊的發(fā)展空間。
圖1是現(xiàn)有技術的一種讀取條碼的方法和裝置的結構示意圖。圖2是本實用新型的條碼識別裝置結構示意圖。圖3是根據(jù)本實用新型的條碼方向識別方法的識別原理示意圖。圖4是本實用新型的條空邊界處理模塊的處理方法的一種實施方式的流程圖。圖5是本實用新型的條空邊界處理模塊對條碼圖像進行處理的工作原理示意圖。圖6是圖5中對條碼圖像進行處理的局部放大圖。圖7是本實用新型的條空邊界處理模塊的處理方法的另一種實施方式的流程圖。圖8是本實用新型的條空邊界處理模塊的處理方法的又一種實施方式的流程 圖。
具體實施方式
有關本實用新型的特征及技術內(nèi)容,請參考以下的詳細說明與附圖,附圖僅提供 參考與說明,并非用來對本實用新型加以限制。以下首先對本實用新型的條碼識別裝置進行詳細描述,圖2是本實用新型的條碼 識別裝置結構示意圖。如圖2所示,本實用新型的條碼識別裝置包括邊界識別模塊120、方向識別模塊 130、條空邊界處理模塊140以及符號字符提取模塊150。條碼識別裝置連接數(shù)據(jù)存儲器11, 數(shù)據(jù)存儲器11內(nèi)存儲有條碼圖像的像素坐標和灰度值。本實用新型的條碼識別裝置采用 硬件流水線結構,通過硬件邏輯實現(xiàn)對條碼圖像的識別解碼,適于對條碼圖像進行流水線 作業(yè)和并行處理。邊界識別模塊120讀取條碼圖像并進行虛擬掃描,以獲取條碼的條空邊界點。所 謂虛擬掃描線是指通過掃描電路根據(jù)一定的邏輯獲取條碼圖像的擇像素坐標和灰度值,例 如是X方向沿水平方向掃完第1行,Y方向遞增10個像素間距,繼續(xù)X方向沿水平方向掃 第2行。邊界識別模塊120通過計算虛擬掃描線上存在灰度落差的像素點的坐標位置來獲 取與虛擬掃描線相交的條空邊界點。對于條碼符號而言,條一般用黑色或深色表示,空一般 用白色或淺色表示。
4[0027]方向識別模塊130根據(jù)邊界識別模塊120所獲取的條空邊界點計算獲得條碼方 向。以下對本實用新型的方向識別模塊130獲取條碼方向的方法進行詳細描述,圖3是根 據(jù)本實用新型的條碼方向識別方法的識別原理示意圖。如圖3所示,條碼圖像為傾斜狀態(tài), 無法直接沿水平方向作虛擬掃描線進行識別解碼。需要獲取條碼方向后對虛擬掃描方向進 行調(diào)整。第一掃描方向條碼方向的夾角為θ 2,而由于Θ2與θ 1與統(tǒng)一角度互為補角,因 此θ 1 = θ 2。所以只需知道θ 1的斜率tg θ 1,即可獲得條碼方向的斜率tg θ 2。
X — X而由圖3可知,織= _丨 J。上式中,(x2,y2)和(xl,yl)的坐標可以由虛擬掃描線與條空相交的邊界點獲得, 根據(jù)各條虛擬掃描線與條空相交的邊界點的坐標值,通過X坐標位置比較,y坐標位置比較 來判斷各點的平行四邊形特征,可以確定位于一個平行四邊形特征內(nèi)的(x2,y2)和(xl, yl)的像素點的坐標,進而計算獲得tg θ 1的值,即獲得條碼方向。上述平行四邊形特征 也可以采用平行線特征代替,上述平行四邊形特征或平行線特征并不限定在一個條空范圍 內(nèi)。在方向識別模塊130計算獲得條碼方向之后,條空邊界處理模塊140根據(jù)條碼方 向對條碼圖像進行處理,以獲取條碼圖像中準確的條空邊界。符號字符提取模塊150根據(jù) 準確的條空邊界計算獲得準確的符號字符,從而獲取條碼信息。如圖2所示,條空邊界處理模塊140進一步包括掃描邊界獲取單元141、直線掃描 單元142、亞像素邊界計算單元143、直線計算單元144以及掃描坐標計算單元145。圖4是 本實用新型的條空邊界處理模塊的處理方法的一種實施方式的流程圖,圖5是本實用新型 的條空邊界處理模塊對條碼圖像進行處理的工作原理示意圖,圖6是圖5中對條碼圖像進 行處理的局部放大圖。以下結合圖2、圖4、圖5和圖6對條空邊界處理模塊140中各個單 元的結構功能和處理流程進行描述。請結合圖2和圖4,掃描邊界獲取單元141連接邊界識別模塊120、方向計算模塊 130。在步驟921中,掃描邊界獲取單元141從邊界識別模塊120獲取條碼邊界點,從方 向計算模塊130獲取條碼方向。如圖5和圖6所示,掃描邊界獲取單元141以兩側的條 碼邊界點為中心,依據(jù)條碼方向和與條碼方向垂直的方向向外擴展,分別獲取邊界區(qū)域821 和826。邊界區(qū)域821和826內(nèi)包括了條碼邊界點及其附近的像素點的集合。在步驟923中,掃描邊界獲取單元141將邊界區(qū)域821和826內(nèi)的像素點的集合 輸入直線計算單元144中,直線計算單元144對邊界區(qū)域821和826內(nèi)的像素點的集合進 行Hough (霍夫)運算。Hough運算的基本原理為假設在直角坐標系中存在一條原點距離 為P,方位角為θ的直線,則直線上每一點滿足公式P = xcos θ +ysin θ。在條碼邊界搜 索過程中,對于每一個像素點的圖像空間坐標x、y,利用不同的θ離散值通過上述運算公 式計算對應的P值,通過對θ離散值和P值的統(tǒng)計,求得直線所對應的像素坐標。在本 實用新型的實施方式中,直線計算單元144例如可以采用多個串行連接的cordic迭代運算 單元實現(xiàn)對像素點的集合內(nèi)的霍夫(Hough)計算,以求得直線坐標。直線計算單元144通過Hough運算獲取邊界區(qū)域821內(nèi)條碼邊界所對應的邊界直 線822的像素點坐標,以及邊界區(qū)域826內(nèi)條碼邊界所對應的邊界直線827的像素點坐標,將運算結果返回至掃描邊界獲取單元141。邊界直線822和827反映了邊界區(qū)域821和擬6 內(nèi)的條空邊界的直線特征。在步驟924中,掃描邊界獲取單元141依據(jù)條碼方向,將邊界直線822和邊界直線 827的像素點坐標向條碼區(qū)域外平移預定距離以獲得掃描邊界823和828,預定距離例如是 5-10個像素點的間距。邊界直線822和827反映的是條空邊界的直線特征,但是由于條碼 印刷或條碼成像的影響,條碼圖像中實際的條空邊界并非是一條嚴格的直線,而是基于直 線特征的帶有微小波動的曲線或多個直線段的集合。為了獲取更準確的條空邊界,掃描邊 界獲取單元141通過將邊界直線822和邊界直線827的像素點坐標向外平移,以將基于直 線特征的帶有微小波動的曲線或多個直線段的集合包括在掃描邊界823和擬8的范圍內(nèi)。 之后,掃描邊界獲取單元141將掃描邊界823和擬8輸入直線掃描單元142中進行下一步 處理。在步驟925中,直線掃描單元142在一側掃描邊界823上選取點A,在另一側的掃 描邊界擬8上獲取與點A相對應的點A'。點A'的包括多種獲取方法。在本實用新型的 一種實施方式中,點A'獲取方法為以點A為起點,根據(jù)條碼方向(即tg9 1的值)在掃描 邊界擬8上搜索與點A位于同一條直線上的點A',即根據(jù)已知直線、直線外的坐標點A的 坐標以及經(jīng)點A的另一條直線的斜率值,求出已知直線與另一條直線的交點A'的坐標。在 本實用新型的另一種實施方式中,點A'獲取方法為計算在掃描邊界8 上與點A距離最短 的坐標點,該坐標點即為點A'。在步驟926中,直線掃描單元142以A為掃描起點,A'為掃描終點,計算A-A'之 間的直線擬4上的像素點的坐標。直線掃描單元142通過將點A和點A'的坐標值輸入掃 描坐標計算單元145中,掃描坐標計算單元145對A-A'之間的直線擬4上的像素點825的 坐標進行計算。掃描坐標計算單元145計算像素點825的坐標的方法包括多種方式。在本實用新 型的一種實施方式中,掃描坐標計算單元145包括Breshem運算單元,通過Breshem運算 單元計算A-A'兩點之間的直線擬4上各個像素點的坐標。Breshem算法原理如下條碼 圖像由像素點構成,過條碼圖像中各行各列的像素中心構造一組虛擬網(wǎng)格線。按直線從起 點到終點的順序計算直線與各垂直網(wǎng)格線的交點,然后確定該列像素中與此交點最近的像 素。Breshem算法的巧妙之處在于采用增量計算,使得對于每一列,只要檢查一個誤差項的 符號,就可以確定該列的所求像素點的坐標。Breshem使得在求兩點之間直線上各點坐標的 過程中全部以整數(shù)來運算,因而大幅度提升了計算速度。掃描坐標計算單元145將計算出的A-A'兩點之間的直線擬4上的像素點825的 坐標返回至直線掃描單元142,直線掃描單元142將A-A'兩點之間的直線擬4上的像素點 825的坐標輸入亞像素邊界計算單元143中。在步驟927中,亞像素邊界計算單元143依據(jù)A-A'之間像素點825的坐標以及灰 度值,進行亞像素邊界計算,將像素點825所對應的分為更小的單位以獲取條空邊界的精 確坐標并計算出該精確坐標所對應的灰度落差值。由此,條空邊界處理模塊140獲取了條碼圖像中精確的條空邊界坐標和該精確坐 標所對應的灰度落差值,并將此計算結果輸入符號字符提取模塊150中。符號字符提取模 塊150根據(jù)精確的條空邊界坐標和灰度落差值計算獲得準確的條空值,即符號字符值,進而獲取條碼信息。以上對本實用新型的條碼識別裝置,特別是條空邊界處理模塊的結構及其處理方 法進行了詳細描述。下面針對本實用新型的條空邊界處理模塊的其他處理方法進行詳細描 述。這些技術方案是為了使本領域技術人員更加深入地理解本實用新型所保護的技術方 案,不應理解為對本實用新型所保護的技術方案的限制。圖7是本實用新型的條空邊界處理模塊的處理方法的另一種實施方式的流程圖。 該處理方法包括以下步驟。如圖7所示,在步驟931中,獲取條碼邊界點和條碼方向。在步驟932中,以兩側的條碼邊界點為中心,依據(jù)條碼方向和其垂直方向向外擴 展,分別獲取邊界區(qū)域。在步驟933中,在邊界區(qū)域內(nèi)進行直線計算,以獲取邊界直線。在步驟934中,依據(jù)邊界直線沿條碼方向向外平移以獲取掃描邊界。在步驟935中,請結合圖5和圖6,在一側掃描邊界上選取多個點A、B、C,在另一側 的掃描邊界上獲取與點A、B、C對應的點A' ,B' ,C'。在步驟936中,以A、B、C為掃描起點,A'、B'、C'為掃描終點,對A-A‘ ,B-B'、 C-C'之間的條碼圖像進行坐標計算,獲取A-A' ,B-B' X-C'之間的多組像素點的坐標。在步驟937中,依據(jù)A-A' ,B-B' ,C-C'之間的多組像素點的坐標以及灰度值,進 行亞像素邊界計算,獲取多組條空邊界坐標及邊界灰度落差。在步驟938中,對多組條空邊界坐標及邊界灰度落差進行置信度統(tǒng)計,獲取可信 度高的條空邊界坐標及邊界灰度落差。與本實用新型的上一種條空邊界處理模塊的處理方法的不同之處在于,此實施方 式是選取多個點進行掃描,以獲取多組條空邊界坐標及邊界灰度落差,通過對多組條空邊 界坐標及邊界灰度落差進行置信度統(tǒng)計,來獲取可信度更高的條空邊界坐標及邊界灰度落 差,從而使得條碼識別裝置的解碼成功率更高。圖8是本實用新型的條空邊界處理模塊的處理方法的又一種實施方式的流程圖。 與上述兩種處理方法的不同之處在于,此實施方式是針對行列式二維條碼,特別是PDF417、 Micro PDF417條碼進行處理。該處理方法包括以下步驟。如圖8所示,在步驟941中,獲取PDF417條碼邊界、條碼方向和碼詞寬度。在步驟942中,根據(jù)PDF417條碼邊界、條碼方向和碼詞寬度,獲取兩個相距至少一 個碼詞寬度的列分界線。在步驟943中,以兩個列分界線為中心,依據(jù)條碼方向和其垂直方向向外擴展,分 別獲取列分界線區(qū)域。在步驟944中,在邊界區(qū)域內(nèi)進行直線計算,以獲取列分界線直線。在步驟945中,依據(jù)列分界線直線沿條碼方向向外平移以獲取掃描邊界。在步驟946中,在一側掃描邊界上選取點A,在另一側的掃描邊界上獲取與點A對 應的點A'。在步驟947中,以A為掃描起點,A為掃描終點,對A-A'之間的條碼圖像進行坐標 計算,獲取A-A'之間像素點的坐標。在步驟948中,依據(jù)A-A'之間像素點的坐標以及灰度值,進行亞像素邊界計算,獲取條空邊界坐標及邊界灰度落差。本實用新型通過采用圖8所示的實施方式,可以精確的獲取PDF417、Micro PDF417等行列式條碼的條空邊界,進而準確的獲取出條空邊界所對應的條碼信息。本實用新型的條碼識別裝置及其條碼識別方法能夠自動識別條碼方向,無需使用 者調(diào)整掃描單元的掃描方向即可實現(xiàn)對條碼圖像的識別解碼,并且條碼邊界的識別精度 高,解碼成功率高。本實用新型的條空邊界處理模塊及其處理方法能夠根據(jù)條碼方向調(diào)整解碼方向, 獲取條碼邊界的精確坐標值,大大提高了解碼成功率,特別適用于高密度條碼或畸變條碼 的識別解碼。本實用新型的條碼識別裝置以及條空邊界處理模塊采用硬件流水線結構,通過硬 件邏輯實現(xiàn)對條碼圖像的識別解碼,由于硬件流水線結構適于對條碼圖像進行流水線作業(yè) 和并行處理,因此處理速度很快。由于采用全硬件結構,無需處理器參與解碼,芯片結構相 對于處理器而言結構更為簡化、面積更小、功耗更低、成本更低、易于集成,容易實現(xiàn)便攜應 用。可以方便地與物聯(lián)網(wǎng)技術相結合,為條碼技術的應用提供了更為廣闊的發(fā)展空間。以上參照附圖說明了本實用新型的各種優(yōu)選實施例,但是只要不背離本實用新 型的實質(zhì)和范圍,本領域的技術人員可以對其進行各種形式上的修改和變更,都屬于本實 用新型的保護范圍。
權利要求1.一種條碼識別裝置,其特征在于,包括 邊界識別模塊;方向識別模塊,與所述邊界識別模塊連接;條空邊界處理模塊,與所述邊界識別模塊和所述方向識別模塊連接; 符號字符提取模塊,與所述條空邊界處理模塊。
2.一種條空邊界處理模塊,其特征在于,包括 掃描邊界獲取單元;直線掃描單元,與所述掃描邊界獲取單元連接; 亞像素邊界計算單元,與所述直線掃描單元連接。
專利摘要本實用新型提供一種條空邊界處理模塊以及條碼識別裝置,該條空邊界處理模塊包括掃描邊界獲取單元,獲取條空邊界點和條碼方向,計算掃描邊界;直線掃描單元,根據(jù)掃描邊界選取掃描起點和與掃描起點對應的掃描終點,計算掃描起點與掃描終點之間的直線上的像素點的坐標;亞像素邊界計算單元,根據(jù)像素點的坐標以及像素點的灰度值,計算條空邊界的坐標。本實用新型的條空邊界處理模塊能夠根據(jù)條碼方向調(diào)整解碼方向,獲取條碼邊界的精確坐標值,提高了解碼成功率。
文檔編號G06K7/10GK201927031SQ20102021266
公開日2011年8月10日 申請日期2010年6月1日 優(yōu)先權日2010年6月1日
發(fā)明者吳志宇, 林朝金, 王賢福, 胡倫育 申請人:福建新大陸電腦股份有限公司