專利名稱:一種二維條碼系統及其定位方法
技術領域:
本發明涉及條碼技術,特別是一種二維碼系統及其定位方法。
背景技術:
條形碼是一種具有特殊形狀和特殊排列方式的光學符號。
目前, 一維條碼(以下簡稱一維碼)已經廣泛應用于物流倉儲、生產制造、 交通運輸等各領域。 一維條碼存儲數據量相對較少,需要依靠后臺數據庫的支持 才能表達更多的信息。針對一維條碼容量小、保密性差、糾錯能力不強、保密性 不高等缺點,產生了二維條碼。
二維條碼簡稱二維碼,它借助不同顏色的圖形單元表示特定的數據信息,圖 形單元按照矩陣形式排列,并加入特定的定位圖形。不同于一維碼只在水平方向 上表示信息,二維碼在水平和豎直方向上同時存儲信息,信息容量更大。
二維碼的主要特點包括-
(1) 信息容量大二維碼的信息表示的空間維數增加到了二維,隨著碼字
邊長的增加,容量成平方量級增加。例如,在GB/T1828-2000國家標準中,版 本40的QR碼能容納7089個數字,而最大的一維碼最多只能表示十多個數字。
(2) 強糾錯能力在編碼算法上, 一維碼沒有糾錯功能。二維碼借助通信 編碼容錯技術,使得二維碼圖象在受損時,仍然可以部分或者全部識讀出信息。 例如,GB/T1828-2000國家標準中的QR碼采用的RS算法在糾錯等級為H時, 糾錯容量最高可達30%。
(3) 編碼范圍廣可以表示常規的阿拉伯數字、英文字母、ASCII符;通 過擴展編碼,還可以表示中文字符、日文字符和未來更多的字符集。
(4) 保密性強二維碼中可以加入更多的加密信息,用于各種證件、卡片、 商品等的防偽。
二維碼有許多不同的碼制,大致可分為堆疊式二維碼(如PDF417)和矩陣 式二維碼(如QR碼)兩大類。
QR碼是一種日本條碼系統。QR碼圖形的左上側、右上側和左下側有三個較復雜的定位圖塊,如圖2所示。通過該定位圖形,系統能迅速的找到碼字圖形 區域和識讀方向。QR碼中使用RS算法和BCH算法用于糾錯。QR碼是一種功 能強大、規范復雜的工業級二維條碼技術。
DM碼是另外一種優秀的二維碼系統。有別于QR碼的正方形定位圖形,DM 碼采用了L型的定位圖形。
目前,二維碼出現了一個重要的應用分支——手機二維碼。隨著個人無線通 信業務在全球的大規模普及應用以及微電子技術的發展,帶攝像頭、支持JAVA 編程擴展、支持WAP無線上網技術和多媒體瀏覽技術的手機日益普及,手機用 戶可以使用手機攝像頭作為二維碼的掃描設備,通過手機應用程序瀏覽和欣賞 WAP網絡甚至整個互聯網中多媒體信息。手機二維碼己經凸顯成為二維碼應用 的一個嶄新的、極具發展空間的應用領域。
但是傳統的工業級二維碼系統應用于手機二維碼有一些不足,例如QR碼應 用于手機二維碼應用時略顯復雜。由于手機攝像頭拍攝的靜態圖象精度較低,因 此只能使用小尺寸的條碼,大尺寸QR碼在手機上的識別效果很差。然而,小尺 寸的QR碼的容量有限,且沒有提供尺寸小于20X20的版本。此外,QR碼的定 位圖形復雜、面積較大,因此占用了更多的空間,降低了信息容量,糾錯能力很 差。總而言之,在手機應用領域,QR碼的容量和糾錯等優點得不到充分體現。 因此有必要為手機應用量身定制一種二維碼系統。
將手機二維碼作為一個獨立的分支進行研究和開發,Michael Rohs發明的 Wsual Code被視為經典的手機二維碼。該二維碼放置相互垂直一根長導航條和 一根短導航條作為定位圖形,屬于典型的條狀圖形定位方式。長條形定位圖形占 用了更多的條碼位置,降低了條碼容量;條形區域周圍分布的大面積淺色間隔區 域也占用了更多的信息位置,且容易受到污染而影響定位效果。
己有的二維碼定位圖形及其識別方法包括
1. QR碼的定位圖形(也稱尋像圖形)由圖形左上、右上、左下的三 個復雜圖形組成,每個圖形的模塊序列由深色一淺色一深色一淺色 一深色次序構成,各元素的寬度比例為1:1:3:1:1。通過橫向和豎向 掃描,尋找比例為1:1:3:1:1的深色一淺色一深色一淺色一深色模式 來確定定位圖形。2. Visual Code借助水平放置的短軸和豎直放置的長軸作為定位圖形。 對長軸和短軸的判斷采用不變矩方法。
3. DM碼采用L型的圖形以及黑白單元塊間隔組成的"軌道線"作為 定位圖形。
發明內容
本發明的目的是一種二維條碼系統及其定位方法,使用四個特定形狀的定位 圖形,充分利用定位圖形的幾何特征,實現快速準確定位碼字區域并讀取信息。
本發明的目的是這樣實現的 一種二維條碼系統,碼字由正方形的單元塊排 列組成,碼字區域分為定位區、間隔區、數據區、圖案區;定位區由4個相同的 定位圖形組成,定位圖形位于碼字的左上、右上、左下、右下4個角,每一個定 位圖形由2個重疊的同心的圖形組成,它們是3X3個深色的單元塊和面積接近 于1.5的淺色圓形圖塊;數據區由表示數據信息的單元塊組成,數據按糾錯編碼 方法生成并按一定順序排列;間隔區由淺色單元塊組成,它將4個定位圖形與數 據區分隔開;圖案區位于數據區的正中間,圖案區為可選區域,如果不出現圖案 區,則圖案區可以用于放置單元塊表示數據信息。
本發明發另一 目的是提供前述二維碼的識別方法。
本發明的另一目的是這樣實現的 一種二維條碼系統的識別方法,按以下步 驟進行-
1) 使用采集設備采集圖象信號,并輸出為數字圖象信號;
2) 對數字圖象信號迸行灰度轉換、直方圖均衡、邊緣保持的預處理;
3) 根據最大類間方差算法將預處理后的灰度圖象轉化為二值圖象;
4) 采用快速填充算法對深色連通域進行區域標記,得到多個深色連通域;
5) 采用快速填充算法對淺色連通域進行區域標記,得到多個淺色連通域;
6) 對每一個深色連通域進行形狀篩選,計算形狀因子,篩選出多個準正方 形深色連通域;
7) 對每一個淺色連通域進行形狀篩選,計算形狀因子和面積因子,篩選出 多個準正方形淺色連通域;
8) 完成同心篩選,從多個淺色連通域和深色連通域中分別選出一個區域,如果它們的中心點很接近,且淺色連通域的外接矩形位于深色連通域的外接矩形 之內,那么將這樣一對淺色一深色連通域作為一個候選定位圖形,反復執行步驟 7)得到多個候選定位圖形;
9) 完成正方形拓撲篩選從多個候選定位圖形中依次選出4個,如果定位 圖形的中心點的相對位置滿足正方形拓撲位置關系,那么這4個中心點就確定了 一個有效的碼字區域;否則再依次選出其他4個點進行成組篩選;
10) 進行空間采樣根據步驟9)中得到的4個定位圖形的中心點確定碼字 區域和數據區,即根據4個中心點的位置,得到NXN個空間采樣位置,將二
值圖象中數據區對應的i^-64個位置的比特值作為數據區中的數據信息;
通過以上步驟就完成了二維碼的定位。
與現有二維碼相比,本發明的有益效果在于定位圖形簡單且占用空間小、 信息容量更大,提供的小尺寸版本碼字特別適合手機二維碼應用,定位算法充分 利用了定位圖形的形狀特征,算法簡潔高效。
條形定位的二維碼,例如Visual Code,定位圖形和間隔區域面積較大,這使
得定位圖形被污染的可能性增大,容易影響定位效果;定位圖形占用的空間隨碼
字尺寸的增大而增大,降低了碼字容量。QR碼系統中,定位圖形包含三個相同 的定位圖塊,每一個定位圖塊可以看作由三個重疊的同心的正方形組成,定位圖 形較復雜且尺寸較大,在小尺寸版本時,信息容量很小(大部分空間被定位圖形 占用),QR碼的容量大、糾錯強等優點很難體現。
本發明中提出了一種新穎二維碼,該二維碼的定位圖形簡單,且定位圖形不 隨碼字尺寸的增加而增加。定位圖形由方、圓兩種不同的形狀組成,碼型更加美 觀。根據需要,碼字中能夠加入圖片以便進一步增強碼字的美感。定位圖形占用 較少的空間位置,相應的提高了碼字的信息容量。在同等碼字尺寸下,其容量遠 遠大于QR碼和Visual Code。在小版本碼字中(低于20X 20)仍然能夠高效、 正常工作。
本發明中提出了一種新穎的二維碼定位方法,該方法充分利用了正方形圖塊 和圓形圖塊的幾何形狀特征,計算形狀因子時采用了大量的加減法和少量乘除 法,極大的降低了算法復雜度和處理時間,識別方法簡捷而高效。算法中采用了 快速填充算法用于區域標記,與傳統的區域標記算法相比,大大降低了處理時間。
圖1為按照本發明的二維碼碼字示意圖2—圖3為按照本發明設計的較佳實施例的示意圖4是現有QR碼示意圖5是現有DM碼示意圖6是現有Visual Code碼示意圖7是本發明二維碼識別方法的程序流程具體實施例方式
現結合附圖及實施例對本發明中的二維碼系統及其定位算法作進一步詳細 說明。
圖1描述了本發明中的二維碼的碼字結構。二維碼圖形包括定位區1、間隔
區2、數據區3、圖案區4。
該二維碼的碼字尺寸可以為任意的NXN大小。碼字由正方形的單元塊排列 組成,
定位區l由四個相同的定位圖形組成,定位圖形位于碼字的左上、右上、左 下、右下四個角,每一個定位圖形由2個重疊的同心的圖形組成,它們是3X3 個深色的單元塊和面積接近于3的淺色圓形圖塊。
數據區由表示數據信息的單元塊組成,數據按糾錯編碼方法生成并按一定順 序排列,數據區中的單元塊通過不同的顏色表示特定的信息。
間隔區2將定位區與數據區3分隔開。
圖案區位于數據區的正中間,圖案區為可選區域,圖案區用于增加碼字美觀 度。如果二維碼不包含圖案區,那么圖案區可以用作數據區放置單元塊。
該二維碼通過設置掩膜方式減少數據區中出現偽定位圖形的數量。偽定位圖 形由2個重疊的同心圖形組成,較大一個圖形為深色,較小一個為淺色,且2 個圖形都近似為正方形圖塊。
在YUV顏色空間中,Y為灰度,表示色彩的亮度,所述淺色是指Y小于5(^,所述深色是指Y大于等于50%。
參照圖7的流程圖,對圖2所示的二維碼進行定位,其詳細流程如下
首先進行圖象采集701。采集設備輸出數字圖象信號,以便后續的算法進行 處理。在本實施例中,采用了手機攝像頭作為采集設備。
然后,進行數字圖象的預處理702,包括灰度轉換、直方圖均衡、邊緣保持。 這些算法屬于數字圖象處理的通用算法,不屬于本發明的內容。
接著,進行二值化處理703,將灰度圖轉換為黑白二值圖象。首先將步驟602 中得到的灰度圖象,根據最大類間方差算法將灰度圖象轉化為二值圖象。由最大 類間方差求二值化閾值表示為-
<formula>formula see original document page 11</formula>
其中<formula>formula see original document page 11</formula>
弁C表示集合C中元素的個數,g(x,y)表示圖象中座標為(;c,y)的象素的灰度值。 根據r。p, 二值化操作描述為
<formula>formula see original document page 11</formula>
接下來在步驟704中,采用快速填充算法算法對深色連通域進行區域標記, 得到a;個深色連通域{Bf} ,1 s / =s";,";為深色連通域的個數。
在步驟705中,使用同樣的算法對淺色連通域進行區域標記,得到/C個淺色 連通域{\^},151、<,《為淺色連通域的個數。在步驟706中,先對每一個深色連通域B,., ls/s<,計算形狀因子
"1 ^20
其中
= min(jc) ;y,max(:y) y0=min(>;) &n = max(y 、。-min(;K-A:)
=max(3/+x) &20 =min(y+x)
(x,;y)為深色連通域Bi中的象素的坐標。
當0.8^/ 1-1.2且0.8^/"251.2時,將區域Bi作為一個準正方形區域。對所有 深色連通域計算上述的形狀因子,篩選出 個準正方形區域,并記錄下對應的 區域中心
2 ,^"
和外接矩形的邊長
£f-maxk-:^,:^—h), ls"
在步驟707中,對每一個淺色連通域Wi,lsis/i;,計算形狀因子
"1 _尤0
it —t
""21 ""加
和面積因子<formula>formula see original document page 13</formula>
其中
x! = max(jc) =min(jc) 力-max(力 y0 =min(y) &u = max(y - X) 、。=min(y -x) fc21 = max(y +;c) fc20 = min(y+jc)
Oc,y)為淺色連通域w;中的象素的坐標。
當0.8:s^ :s 1.2且0.8:s,2 s 1.2且0.67s ra s 0.90時,認為區域W近似為一個
準正方形區域。對所有淺色連通域計算上述的形狀因子和面積因子,然后篩選出 av個準正方形區域,并記錄下對應的區域中心
,Jfilfi Zl1Zl、 ;一(2 , 2 "
和外接矩形的邊長
接下來,進行同心篩選708。所謂同心指的是深色連通域的中心與淺色連 通域的中心幾乎重合,且深色連通域的外接矩形的邊長大致等于淺色連通域的外 接矩形的邊長的1.5倍。
依次從 個深色準正方形區域中取出第i個區域,從 個淺色準正方形區 域中取出第j個區域,如果
if if 且£f 1.5《那么第i個深色準正方形區域與第j個淺色準正方形區域配對組成一個準定位圖 形,且將淺色準正方形區域的中心點作為準定位圖形的中心點。
n, i"
重復上述判斷,得到"一,個準定位圖形,
接著,完成正方形拓撲篩選709。從多個準定位圖形中依次選出4個,如果 其中心點的相對位置滿足正方形拓撲位置關系,那么這4個點就確定了一個有效 的碼字區域;否則再依次選出其他4個點進行篩選。具體算法為-
從n—個中心點中依次取出4個中心點,將中心點之間的歐氏距離進行排序 得到
其中
' '' 、
& = & > ,1 :S / < / :S 4} , 1
|《—-/^^|表示點與點巧—之間的歐氏距離。
如果同時滿足以下四個條件
09二 min{d""5,d6} 二工丄 max{d3, ,d6}
丄min{d3,d4,</5,d6}
maxp3,</4,d5,d6} ^ 6
則認為滿足正方形拓撲位置關系,轉步驟710,否則重復上述篩選。如果4個中 心點的所有的取法都不滿足上述算法,則定位失敗。
最后,完成空間采樣710。根據步驟709中得到的其中4個定位圖形的中心 點,確定數據區,根據4個定位點的位置,得到NXN個空間采樣位置,將二值
圖象中數據區對應的W2 -64個位置的比特值作為數據區中的數據信息;在NXN個空間采樣位置中,有64個位置屬于定位圖形所占區域,不需要進行空間采 樣。
假設4個定位圖形中,左上、右上、左下、右下4個中心點的坐標分別為 (^,yj、 (》V)、 k3,yp3)、 (54,>V),則根據以下公式確定NXN個空間 采樣位置的第m行第n列元素的坐標(jc,,、")。
<formula>formula see original document page 15</formula>其中<formula>formula see original document page 15</formula>
為了防止矩陣求逆時出現奇異矩陣,在求逆前進行了對角加載處理,加載因 子為(J,且(5為一個很小的實數。
以上所述的實施例及實施方法僅為本發明的實施例,而本發明不限于上述實 施例。對本領域的一般技術人員而言,在不違背本發明原理的前提下對它作出的 任何顯而易見的改動,都屬于本發明的構思和所附權利要求的保護范圍。
權利要求
1、一種二維條碼系統,碼字由正方形單元塊排列組成,碼字區域分為定位區、間隔區、數據區、圖案區;其特征是所述定位區由4個相同的定位圖形組成,定位圖形位于碼字的左上、右上、左下、右下4個角;所述數據區由表示數據信息的單元塊組成,數據按糾錯編碼方法生產并按一定順序排列;所述界隔區為淺色單元塊,它將4個定位圖形與數據區分隔開;所述圖案區位于數據區的正中間。
2、 根據權利要求1所述的一種二維條碼系統,其特征是每一個定位圖形 由2個重疊的同心的圖形組成,它們是3X3個深色的單元塊和面積接近于3的 淺色圓形圖塊。
3、 根據權利要求1所述的一種二維條碼系統,其特征是圖案區為可選區 域,圖案區中的圖案不包含任何信息;如果不出現圖案區,則圖案區用于放置單 元塊表示數據信息。
4、 根據權利要求1或2或3所述的一種二維條碼系統,其特征是該二維 條碼通過設置掩膜方式減少數據區中出現偽定位圖形的數量。偽定位圖形由2 個重疊的同心圖形組成,較大一個圖形為深色,較小一個為淺色,且2個圖形都 近似為正方形圖塊。
5、 一種如權1所述的一種二維條碼系統及其定位方法,其特征是按以下 步驟進行定位1) 使用采集設備采集圖象信號,并輸出為數字圖象信號2) 對數字圖象信號進行灰度轉換、直方圖均衡、邊緣保持的預處理;3) 根據最大類間方差算法將預處理后的灰度圖象轉化為二值圖象;4) 采用快速填充算法對深色連通域進行區域標記,得到多個深色連通域;5) 采用快速填充算法對淺色連通域進行區域標記,得到多個淺色連通域;6) 對每一個深色連通域進行形狀篩選,計算形狀因子,篩選出多個準正方 形深色連通域;7) 對每一個淺色連通域進行形狀篩選,計算形狀因子和面積因子,篩選出 多個準正方形淺色連通域;8) 進行同心篩選,從淺色連通域和深色連通域中分別選出一個區域,如果 它們的中心很接近,且淺色連通域的外接矩形位于深色連通域的外接矩形之內, 那么將這樣一對淺色一深色連通域作為一個候選定位圖形,反復執行步驟7)得到多個候選定位圖形;9) 進行正方形拓撲篩選從多個候選定位圖形中依次選出4個,如果定位 圖形的中心點的相對位置滿足正方形拓撲位置關系,那么這4個中心點就確定了 一個有效的碼字區域;否則再依次選出其他4個點進行成組篩選;10) 進行空間采樣根據步驟9)中得到的4個定位圖形的中心點確定碼字 區域和數據區,S卩根據4個中心點的位置,得到NXN個空間采樣位置,將二 值圖象中數據區對應的iV2 -64個位置的比特值作為數據區中的數據信息。
6、根據權利要求5所述的一種二維條碼系統及其定位方法,其特征是二 值化操作時采用最大類間方差方法得到二值化閾值<formula>formula see original document page 3</formula>其中<formula>formula see original document page 3</formula>弁C表示集合C中元素的個數,g(jc,y)表示圖象中座標為(;c,y)的象素的灰度值。
7、根據權利要求5所述的一種二維條碼系統及其定位方法,其特征是計 算形狀因子和面積因子采用如下公式<formula>formula see original document page 3</formula>其中<formula>formula see original document page 3</formula>y0 =min(y) fcu = max(y -jc)、-min(;v-J:) /:21 = max(y +x) &20 = min(y + x)(x,"為連通域中的象素的坐標。對于深色連通域,當0.8s/isl.2且0.8:s/^sl.2時,將該連通域作為一個準 正方形深色連通域。對于淺色連通域,當0.8rs^sl.2且0.8sr2sl.2且0.67sr。 s0.90時,將該連 通域作為一個準正方形淺色連通域。
8、 根據權利要求5所述的一種二維條碼系統及其定位方法,其特征是根 據同心篩選確定準定位圖形。 所謂同心指的是深色連通域的中心與淺色連通域的中心幾乎重合,且深色連通域的外接矩形的邊長大致等于淺色連通域的外接矩形的邊長的1.5倍。
9、 根據權利要求5所述的一種二維條碼系統及其定位方法,其特征是根據正方形拓撲篩選確定碼字區域。所謂正方形拓撲篩選指的是從多個準定位圖形中依次選出4個,如果其中 心點的相對位置滿足下述的正方形拓撲位置關系準則,那么這4個點就確定了一 個有效的碼字區域。判定準則為同時滿足下列4個不等式09二 min{ ,f/5,<f6} ^ imax{d3,d4,rf5,《} 二16 min^,^}其中《"2 &.""6!^'V-^1表示點S—與點5—之間的歐氏距離;,isl、4,表示4個定位圖形的中心點。
10、根據權利要求5所述的一種二維條碼系統及其定位方法,其特征是根據4個定位圖形的中心點確定NXN個空間采樣位置采用如下公式iV-3其中C爿 5'-iTC D.1力._i「111_iT1k 乂i A y2] = [AT-/i-2"Si力l 3少p3 Xp2 Vp2 4 3^4、1 、2 hhy3 2加-i]: 1々1 ,2々2 3 3^3 4力4公式中,(^,ypl)、 (、2,yp2)、 (、3,yp3)、 (、4,^4)依次為左上、右上、左下、 右下4個定位圖形的中心點的座標,5為對角加載因子,N為碼字尺寸。
全文摘要
一種二維條碼系統及其定位方法,碼字由正方形的單元塊排列組成,碼字區域分為定位區、間隔區、數據區、圖案區。對采樣并預處理后的數字圖象信號,采用最大類間方差算法進行二值化;再采用快速填充算法得到多個深色和淺色連通域;根據形狀因子和面積因子,篩選出多個準正方形深色和淺色連通域;然后進行同心篩選,得到多個候選定位圖形;接著進行正方形拓撲篩選,確定有效碼字區域,最后進行空間采樣,這樣就完成了二維碼定位。
文檔編號G06K9/32GK101430768SQ20071005043
公開日2009年5月13日 申請日期2007年11月7日 優先權日2007年11月7日
發明者濤 劉 申請人:濤 劉