專利名稱:二維碼及其解碼方法、應(yīng)用該二維碼的印刷出版物的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種二維碼及其解碼方法,以及在印刷出版物上的應(yīng)用。
背景技術(shù):
習(xí)慣上人們一直用眼睛閱讀書籍、報(bào)紙等傳統(tǒng)出版物,時(shí)間長眼睛容易疲勞,這種獲取信息的方式比較枯燥,而且盲人或者患有眼疾的人,無法閱讀這種傳統(tǒng)出版物。為此,近年來出現(xiàn)了語音閱讀出版物,利用二維碼語音閱讀裝置,可以對一本書中的內(nèi)容進(jìn)行解碼發(fā)音,供讀者收聽,提供了閱讀或記憶的效率,方便了盲人或者患有眼疾的人。
一般來說,二維碼的主要形式是明碼。在語音閱讀出版物上,有二維碼符號明顯可見的印刷在文字段落之間或頁面上某個(gè)明顯位置,閱讀器對準(zhǔn)給二維碼符號即可讀取。這種明碼只能在版面的空白處、通常以單個(gè)碼的形式出現(xiàn),對版面美觀或多或少帶來一定影響。而且為使明碼便于被找到,明碼通常會印得較大,這樣雖然對印刷精度要求低,但是讀取時(shí),要求閱讀器讀頭的開口較大。
市場上已經(jīng)出現(xiàn)的二維碼語音閱讀裝置,采用常規(guī)二維碼來標(biāo)識發(fā)音位置,發(fā)音索引數(shù)量有限,造成不同出版物共用相同的編碼代碼,致使閱讀裝置中的發(fā)音文件與目標(biāo)出版物相對應(yīng),出現(xiàn)閱讀發(fā)音內(nèi)容張冠李戴的混亂情況。
發(fā)明內(nèi)容本發(fā)明的目的主要在于提供一種適合存儲數(shù)據(jù)、識讀方便、解碼算法簡單的二維碼及其解碼方法、以及應(yīng)用該二維碼存儲相伴隨的多媒體資料索引信息的出版物,這種二維碼針對出版物在一般常規(guī)印刷條件下實(shí)現(xiàn)的需求而設(shè)計(jì),更適用于印刷出版物上,使用更為方便可靠。
為實(shí)現(xiàn)上述目的,本發(fā)明首先一種二維碼,其碼圖符號由具有不同光學(xué)反射率的條碼單元在基底上排列而成;所述碼圖符號為矩形,所述符號中的所述條碼單元為等間距排列的實(shí)心點(diǎn),位于碼圖四角的單元是用于邊界定位與識別的定位點(diǎn),其余的單元是數(shù)據(jù)點(diǎn),所述定位點(diǎn)的面積大于數(shù)據(jù)點(diǎn)的面積。
上述的二維碼,所述數(shù)據(jù)點(diǎn)單元全部在由相鄰的所述定位點(diǎn)單元的中心連接而成的矩形框之內(nèi)。所述碼圖符號在基底上重復(fù)排列,無縫拼接為碼圖陣列,碼圖陣列包括至少二個(gè)相同的碼圖符號,并且相鄰碼圖共用定位點(diǎn)。
上述的二維碼,所述條碼單元的形狀優(yōu)選為實(shí)心圓點(diǎn),所述定位點(diǎn)單元的直徑為數(shù)據(jù)點(diǎn)單元的直徑的二倍。
上述的二維碼,所述碼圖符號具有10×10個(gè)條碼單元,除定位點(diǎn)外,每相鄰的8個(gè)數(shù)據(jù)點(diǎn)為一組,表示一個(gè)碼字;所述定位點(diǎn)單元的坐標(biāo)分別為(0,0)、(9,0)、(0,9)以及(9,9);在由定位點(diǎn)坐標(biāo)規(guī)定的棋盤坐標(biāo)系中,數(shù)據(jù)點(diǎn)單元分為12組,各表示一個(gè)碼字;第一組包括的單元坐標(biāo)為(1,0),(2,0),(0,1),(1,1),(2,1),(0,2),(1,2),(2,2);第二組包括的單元坐標(biāo)為(3,0),(4,0),(5,0),(6,0),(3,1),(4,1),(5,1),(6,1);第三組包括的單元坐標(biāo)為(7,0),(8,0),(7,1),(8,1),(9,1),(7,2),(8,2),(9,2);第四組包括的單元坐標(biāo)為(3,2),(4,2),(2,3),(3,3),(4,3),(2,4),(3,4),(4,4);第五組包括的單元坐標(biāo)為(5,2),(6,2),(5,3),(6,3),(7,3),(5,4),(6,4),(7,4);第六組包括的單元坐標(biāo)為(0,3),(1,3),(0,4),(1,4),(0,5),(1,5),(0,6),(1,6);第七組包括的單元坐標(biāo)為(8,3),(9,3),(8,4),(9,4),(8,5),(9,5),(8,6),(9,6);第八組包括的單元坐標(biāo)為(2,5),(3,5),(4,5),(2,6),(3,6),(4,6),(3,7),(4,7)為;第九組包括的單元坐標(biāo)為(5,5),(6,5),(7,5),(5,6),(6,6),(7,6),(5,7),(6,7);第十組包括的單元坐標(biāo)為(0,7),(1,7),(2,7),(0,8),(1,8),(2,8),(2,9),(2,9);第十一組包括的單元坐標(biāo)為(3,8),(4,8),(5,8),(6,8),(3,9),(4,9),(5,9),(6,9);第十二組包括的單元坐標(biāo)為(7,7),(8,7),(9,7),(7,8),(8,8),(9,8),(7,9),(8,9)。
次之,本發(fā)明提出了一種印刷出版物,其印刷有供正常閱讀的圖文和供設(shè)備識別的二維碼,所述二維碼的碼圖符號由具有不同光學(xué)反射率的條碼單元在基底上排列而成;所述碼圖符號為矩形,所述符號中的所述條碼單元為等間距排列的實(shí)心點(diǎn),位于碼圖四角的單元是用于邊界定位與識別的定位點(diǎn),其余的單元是數(shù)據(jù)點(diǎn),所述定位點(diǎn)的面積大于數(shù)據(jù)點(diǎn)的面積。
上述的印刷出版物,所述數(shù)據(jù)點(diǎn)單元全部在由相鄰的所述定位點(diǎn)單元的中心連接而成的矩形框之內(nèi)。所述碼圖符號在基底上重復(fù)排列,無縫拼接為碼圖陣列,碼圖陣列包括至少二個(gè)相同的碼圖符號,并且相鄰碼圖共用定位點(diǎn)。
上述的印刷出版物,所述條碼單元的形狀優(yōu)選為實(shí)心圓點(diǎn),所述定位點(diǎn)單元的直徑為數(shù)據(jù)點(diǎn)單元的直徑的二倍。
上述的印刷出版物,所述碼圖符號在通常的閱讀環(huán)境中肉眼不可見;或相對于普通印刷圖文,所述碼圖符號肉眼不易見。
上述的印刷出版物,所述條碼單元包括深色單元和淺色單元,分別表示二進(jìn)制值1和0,所述淺色單元直接用紙張或者其他印刷媒介的底色表示。所述碼圖的單元采用對紅外光譜的光表現(xiàn)為不同的反射率、對可見光譜內(nèi)的光表現(xiàn)同樣的反射率的紅外油墨印刷,覆蓋在所述碼圖上的其它印刷內(nèi)容采用對紅外光譜的光表現(xiàn)為透射的油墨印刷。
上述的印刷出版物,所述二維碼攜帶的信息包括與所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料索引編碼。
所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料索引編碼包括6個(gè)具有固定的位數(shù)長度的功能段語種號、分類號、種次號、頁序號、碼序號和校驗(yàn)號;其中,語種號是語種數(shù)字代號,依據(jù)出版物的語種而定;分類號是某個(gè)語種中的出版物分類數(shù)字代號,依據(jù)出版物的圖書門類而定;種次號代表某語種出版物內(nèi)某分類圖書的具體種次,可以是流水號;頁序號是索引編碼的內(nèi)容所對應(yīng)的所述出版物的頁碼數(shù)字;碼序號是對應(yīng)出版物中使用二維碼的頁面所用二維碼的數(shù)量和標(biāo)注順序的號碼;校驗(yàn)號用以檢查索引編碼的正誤。
所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料的索引編碼包括16位十進(jìn)制數(shù)字,其中每個(gè)功能段的長度分別為語種號1位、分類號2位、種次號6位、頁序號4位、碼序號2位和校驗(yàn)號1位。所述出版種類索引編碼和所述多媒體資料索引編碼的校驗(yàn)位的數(shù)值通過對編碼的前面15個(gè)十進(jìn)制數(shù)進(jìn)行計(jì)算得到,計(jì)算方法是依次分別取出版物多媒體信息索引號的前15個(gè)十進(jìn)制數(shù)的每一位為基數(shù),以“1”和“2”為加權(quán)因子,與所取基數(shù)的段的十進(jìn)制數(shù)對應(yīng)相乘,再將各乘積之和被模數(shù)10除,即各段基數(shù)乘以加權(quán)因子,積大于10時(shí),求各項(xiàng)乘積之和時(shí)應(yīng)將該項(xiàng)乘積的十位數(shù)與個(gè)位數(shù)相加,當(dāng)各項(xiàng)乘積之和少于10時(shí),將其乘積之和加10后再被模數(shù)10除,其余數(shù)與10的差,即是校驗(yàn)位的數(shù)值。
再次,本發(fā)明提出了一種二維碼解碼方法,包括如下步驟1)使用識讀設(shè)備讀取碼圖,獲得灰度碼像;2)對所述灰度碼像作二值化處理,得到二值化圖像;3)對二值化圖像進(jìn)行數(shù)據(jù)分析,檢測出每一個(gè)點(diǎn)的邊緣,得到邊緣圖像;4)對邊緣圖像進(jìn)行數(shù)據(jù)分析,跟蹤其中的閉合邊界,舍棄其中的所有非閉合邊界,得到閉合邊界圖像;5)對閉合邊界圖像做數(shù)據(jù)分析,計(jì)算每一個(gè)閉合邊界內(nèi)的面積,篩選出定位點(diǎn)單元;6)對定位點(diǎn)單元作矩形匹配,選定一個(gè)單獨(dú)的碼圖符號的圖像;7)對該碼圖符號的圖像中的數(shù)據(jù)點(diǎn)分組;8)重構(gòu)數(shù)據(jù)點(diǎn)矩陣;9)碼字還原。
上述的方法,所述步驟5)篩選出定位點(diǎn)單元的過程包括51)計(jì)算每一個(gè)閉合邊界內(nèi)的面積,統(tǒng)計(jì)出所有閉合邊界內(nèi)的面積的直方圖,找到面積直方圖中分布最集中的面積值S0;52)面積在以S0為中心、并符合規(guī)定誤差范圍內(nèi)的閉合邊界即是數(shù)據(jù)點(diǎn)單元;面積是S0的已知倍數(shù)、并符合規(guī)定誤差范圍內(nèi)的閉合邊界就是定位點(diǎn)單元。
上述的方法,在已知條碼單元的形狀為圓點(diǎn)時(shí),所述步驟5)之前,還包括步驟5′)進(jìn)行圓點(diǎn)識別的過程,包括51′)將閉合邊界所有邊界點(diǎn)的象素橫坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)象素橫坐標(biāo)u;將所有邊界點(diǎn)象素縱坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)象素縱坐標(biāo)v;52′)以閉合邊界中心點(diǎn)象素坐標(biāo)(u,v)按四個(gè)方向掃描尋找閉合邊界的直徑,分別得到四個(gè)長度值d1,d2,d3,d4;53′)取平均直徑為d=(d1+d2+d3+d4)/4,定義圓的規(guī)范度為N=|d-d1|/d+|d-d2|/d+|d-d3|/d+|d-d4|/d;54′)對每一個(gè)閉合邊界計(jì)算其N值,根據(jù)實(shí)測統(tǒng)計(jì)結(jié)果將N值大于設(shè)定閾值TN的閉合邊界丟棄,剩下的閉合邊界認(rèn)為是條碼圓點(diǎn)單元的邊界。
上述的方法,所述步驟6)對定位點(diǎn)單元作矩形匹配的過程包括61)選取離圖像中心最近的一個(gè)定位點(diǎn)作為第一個(gè)參考點(diǎn);62)選取離第一個(gè)參考點(diǎn)最近的另外一個(gè)定位點(diǎn)作為第二個(gè)參考點(diǎn);63)兩個(gè)參考點(diǎn)組成的邊為目標(biāo)矩形的參考邊,以第一個(gè)參考點(diǎn)為原點(diǎn),計(jì)算第二個(gè)參考點(diǎn)的極坐標(biāo)(r0,θ0);64)計(jì)算其余定位點(diǎn)相對于第一個(gè)參考點(diǎn)的極坐標(biāo)(ri,θi),i∈[1~n],n為定位點(diǎn)單元總數(shù);65)第一個(gè)參考點(diǎn)為中心,相對于參考邊,計(jì)算可能存在的4個(gè)碼圖符號外接矩形的其它定位點(diǎn)的極坐標(biāo)P1=(r0,θ0),P2=(r0*1.414,θ0+45),P3=(r0*1,θ0+90)P4=(r0*1.414,θ0+135)P5=(r0*1,θ0+180)P6=(r0*1.414,θ0+225)P7=(r0*1,θ0+270)P8=(r0*1.414,θ0+315)其中P0為第一參考點(diǎn),P1為第二參考點(diǎn),所有極坐標(biāo)的角度都?xì)w一到
度的范圍內(nèi);66)在步驟64)的計(jì)算結(jié)果中尋找與P1至P8匹配的極坐標(biāo)點(diǎn),P0、P1與P2、P3的匹配點(diǎn)組成第一個(gè)目標(biāo)矩形,如果不能成功匹配,則P0與P3、P4以及P5的匹配點(diǎn)組成第二個(gè)目標(biāo)矩形,如果還是不能成功匹配,則P0與P5、P6以及P7的匹配點(diǎn)組成第三個(gè)目標(biāo)矩形,如果還是不能成功匹配,則P0、P1與P8、P7的匹配點(diǎn)組成第四個(gè)目標(biāo)矩形;如果還是不能成功匹配,則解碼失敗。
上述的方法,所述步驟7)數(shù)據(jù)點(diǎn)分組的過程包括71)以定位點(diǎn)四點(diǎn)坐標(biāo)劃定一個(gè)閉合四邊形,72)判斷數(shù)據(jù)點(diǎn)是否位于該四邊形內(nèi),該四邊形內(nèi)的數(shù)據(jù)點(diǎn)屬于當(dāng)前碼圖的數(shù)據(jù)點(diǎn)。所述步驟72)判斷一個(gè)點(diǎn)是否在四邊形內(nèi)的方法包括分別判斷一個(gè)點(diǎn)是否在四邊形的兩組對應(yīng)邊內(nèi);是,則該點(diǎn)在四邊形內(nèi);否,則該點(diǎn)不在四邊形內(nèi);設(shè)兩邊的直線方程為y=k1*x+b1;y=k2*x+b2;點(diǎn)(x0,y0)在兩邊之內(nèi)條件為(k1*x0+b1-y0)*(k2*x0+b2-y0)<0。
上述的方法,所述步驟8)重構(gòu)數(shù)據(jù)點(diǎn)矩陣的過程包括81)設(shè)定四角定位點(diǎn)單元模塊的坐標(biāo),從而設(shè)定每一個(gè)條碼單元的棋盤坐標(biāo);82)按照坐標(biāo)校正公式,根據(jù)每個(gè)數(shù)據(jù)點(diǎn)的中心坐標(biāo)計(jì)算出對應(yīng)在條碼符號棋盤中的坐標(biāo)。
由于采用以上的技術(shù)方案,本發(fā)明帶來了如下的有益效果本發(fā)明的二維碼在碼圖符號的四個(gè)角采用面積大于數(shù)據(jù)點(diǎn)的定位點(diǎn),并且碼圖符號陣列共用定位點(diǎn),排除了二維碼對靜區(qū)的要求,同樣的碼圖可以重復(fù)印刷、無縫拼接為碼圖陣列,獲取碼圖簡便;簡化了條碼解碼算法,使碼圖可以印刷的更緊密更小,提高了編碼效率。本發(fā)明的二維碼符號可以不需要肉眼清晰可見,無需獨(dú)自占用空白版面,所以不會對出版物的印刷排版造成影響,使用方便靈活。本發(fā)明的二維碼應(yīng)用非常簡便,數(shù)據(jù)讀取快捷,可靠性高,誤碼率低。對設(shè)備的要求低,利于廣泛推廣應(yīng)用。
使用本發(fā)明的二維碼的出版物,由于采用同一個(gè)碼重復(fù)排列大面積印刷,便于閱讀器讀取,而且無須“對準(zhǔn)”動作,閱讀器隨便放總有碼在閱讀器的閱讀范圍內(nèi)。采用重復(fù)大面積印刷時(shí),當(dāng)文字覆蓋在二維碼的排列區(qū)上時(shí),某些二維碼可以從字里行間中完整露出;或者采用不同油墨使識讀器對覆蓋在條碼上的印刷內(nèi)容產(chǎn)生透視效果,使二維碼可以方便地被讀取。
由于本發(fā)明的二維碼可以實(shí)現(xiàn)對所有出版物的所有語音索引號進(jìn)行無重復(fù)編碼,使得使用這種二維碼的出版物完全具備成為一種新的出版物種的數(shù)量條件,由于解碼算法運(yùn)算量小,解碼時(shí)間更短,可以采用較低成本的硬件,使應(yīng)用本發(fā)明的二維碼的出版物的成本降低。二維碼的單元模塊取兩種顏色,只要前景色的亮度值與背景色的亮度值有足夠的差別,即可保證條碼的易識讀性;背景色可直接用紙張或者其他印刷媒介的底色,節(jié)省印刷成本。
圖1是本發(fā)明實(shí)施例的單個(gè)碼圖符號示意圖。
圖2是本發(fā)明實(shí)施例的多個(gè)碼圖相鄰重復(fù)排列的示意圖。
圖3是本發(fā)明二維碼的解碼流程圖。
圖4是使用閱讀器獲取的本發(fā)明二維碼的原始圖像。
圖5是圖4所示的原始圖像的增強(qiáng)圖像。
圖6是圖5所示的原始圖像二值化的圖像。
圖7是邊界檢測時(shí)某個(gè)像素的相鄰像素的定義示意圖。
圖8是對圖6所示的二值化圖像進(jìn)行邊界檢測得到的邊界圖像。
圖9是計(jì)算閉合邊界圖像的圓形規(guī)范度的示意圖。
圖10是解碼流程中定位點(diǎn)篩選結(jié)果的示意圖。
圖11是解碼流程中進(jìn)行定位圓點(diǎn)的矩形匹配的示意圖。
圖12是定位圓點(diǎn)的矩形匹配結(jié)果示意圖。
圖13是解碼重構(gòu)出的條碼符號圓點(diǎn)布局圖。
具體實(shí)施方式下面通過具體的實(shí)施例并結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述。
本發(fā)明的二維碼,其碼圖的條碼單元可以采用圓點(diǎn),也可以是其它形狀的實(shí)心點(diǎn)。每一個(gè)黑點(diǎn)代表一個(gè)條碼單元,對應(yīng)地每一個(gè)白點(diǎn)也是一個(gè)條碼單元,如果黑點(diǎn)的值等于1,那么白點(diǎn)的值就等于0,反之也然。白點(diǎn)可以不用印刷,直接用紙張等印刷媒介的底色。
黑點(diǎn)的直徑應(yīng)足夠大,以便于印刷具體需視印刷機(jī)而定。編碼時(shí)可以采用RS編碼,保證其有足夠糾錯能力。解碼算法運(yùn)算量小,以便于低成本的MCU運(yùn)行。
本發(fā)明的二維碼可以作為暗碼印刷,即碼圖符號在日光下,人眼不可見,只有專用設(shè)備或者特定光照下才顯現(xiàn)。由于暗碼也可以放大明印,或排列成與文字大小相當(dāng)?shù)年嚵胁⒓哟蠛邳c(diǎn)明印,以便于肉眼查找,故本發(fā)明的二維碼能支持暗碼就可支持明碼。在明碼印刷時(shí),多個(gè)碼圖排列,可減少對準(zhǔn)要求。碼圖的總邊長希望盡量小。
請結(jié)合圖1、圖2所示,圖1是本發(fā)明實(shí)施例的單個(gè)碼圖符號示意圖,圖2是本發(fā)明實(shí)施例的多個(gè)碼圖相鄰重復(fù)排列的示意圖。圖1的碼圖符號中四角的大黑圓點(diǎn)是碼圖的識別與定位特征,小圓點(diǎn)為條碼單元,用來表示數(shù)據(jù),大圓點(diǎn)直徑可以是小圓點(diǎn)直徑的兩倍,大圓點(diǎn)總是為深色,小圓點(diǎn)深色表示1,淺色表示0;圖1中每8個(gè)被標(biāo)為同一種圖案的相鄰圓點(diǎn)表示一個(gè)碼字,一個(gè)碼圖符號具有共12個(gè)碼字,從左至右從上至下依次標(biāo)為碼字1~碼字12,碼字在符號中的坐標(biāo)以及碼字的比特位排列順序定義如下面的碼字布局表碼字布局表;
一個(gè)碼圖符號中12個(gè)字節(jié)的編碼容量可以根據(jù)應(yīng)用合理分配數(shù)據(jù)碼和糾錯碼的長度。同一個(gè)碼圖,在水平方向與垂直方向上多次重復(fù),以提高取景擊中概率,相鄰兩個(gè)碼圖共用兩個(gè)大定位圓點(diǎn),因此可以做到碼圖的無縫拼接,最大限度的提高面積效率。
在獲取本發(fā)明的二維碼符號的圖像后,解碼開始。作為一個(gè)實(shí)施例,請參考圖3所示的解碼流程圖,具體步驟包括圖像增強(qiáng),圖像二值化,邊緣檢測,閉合邊界跟蹤,圓點(diǎn)識別,篩選定位圓點(diǎn),定位圓點(diǎn)舉行匹配,數(shù)據(jù)點(diǎn)分組,重構(gòu)數(shù)據(jù)點(diǎn)矩陣,碼字還原并糾錯。
解碼流程詳述如下一、圖像增強(qiáng)為了提高碼圖的識別率,在有需要的前提下,可以先對讀取的如圖4所示的原始圖像進(jìn)行圖像增強(qiáng),得到如圖5所示的增強(qiáng)圖像。圖像增強(qiáng)算法可以采用USM(Unsharp Mask)算法,該算法是數(shù)字圖像處理領(lǐng)域人員熟知的圖像增強(qiáng)算法,其原理是先對原圖像用二維高斯低通濾波獲得模糊的圖像,然后從原圖像中減去該模糊的圖像得到對比度增強(qiáng)的圖像。設(shè)原圖像為F(x,y),經(jīng)過二維高斯低通濾波后得到圖像U(x,y),則增強(qiáng)的圖像為V(x,y)=F(x,y)+K×(F(x,y)-U(x,y)),其中K為增強(qiáng)系數(shù),經(jīng)驗(yàn)值為1~4,K越大增強(qiáng)效果越明顯,但圖像中的噪聲也會被放大。
二、二值化獲得增強(qiáng)的圖像后需要對其進(jìn)行二值化處理,設(shè)定一個(gè)閾值T(0<T<255),亮度大于T的像素歸為白,其它像素歸為黑,因?yàn)閳D像增強(qiáng)后像素亮度值的動態(tài)范圍擴(kuò)大了,背景亮度趨近于最大值255,組成圓點(diǎn)的像素的亮度趨近于最小值0,因此很容易選擇一個(gè)固定的或動態(tài)的閾值T。二值化處理后得到如圖6所示的圖像。
三、邊緣檢測對二值化后的圖像進(jìn)行邊緣檢測,邊緣像素的定義為像素值為0且像鄰8個(gè)像素中有非0像素的像素。某個(gè)像素相鄰像素的定義如圖7所示編號為0的像素其相鄰8個(gè)像素分別為編號為1至8的像素。
如果一個(gè)像素是邊緣像素將標(biāo)記為最大亮度255,否則標(biāo)記為0,對二值圖像中所有像素作邊緣檢測得到邊界圖像,如圖8所示。
四、閉合邊界跟蹤閉合邊界跟蹤的操作對象為上一步驟中邊界檢測得到的邊界圖像,具體包括如下步驟A)對邊界圖像按行主的方向掃描(即從左至右,從上至下),以掃描到的第一個(gè)邊緣像素為邊界跟蹤的起點(diǎn)像素,如果沒有邊緣像素則表明本次流程結(jié)束;B)將起點(diǎn)像素的坐標(biāo)放入隊(duì)列Q,并將該起點(diǎn)像素標(biāo)記為0,表示已跟蹤過了;C)判斷起點(diǎn)像素的相鄰8個(gè)像素中是否有邊緣像素,如果有則任選一個(gè)像素作為下次跟蹤的起點(diǎn),跳轉(zhuǎn)到上一步驟B;否則本次跟蹤結(jié)束,隊(duì)列Q中的坐標(biāo)列表即是一個(gè)閉合邊界,也是候選目標(biāo)圓點(diǎn)的邊界,存儲隊(duì)列Q中的坐標(biāo)列表并將其清空,跳轉(zhuǎn)到上述步驟A。
此流程結(jié)束后圓點(diǎn)圖像的邊界都被檢測出來了,同時(shí)部分噪聲黑點(diǎn)混入了檢測結(jié)果。
五、圓點(diǎn)識別本步驟目的在于從步驟四的檢測結(jié)果中剔除部分噪聲數(shù)據(jù),即將非圓形閉合邊界丟棄,噪聲數(shù)據(jù)的判斷依據(jù)是圓的幾何特征。如果碼圖采用的本發(fā)明的二維碼,其單元是其它形狀的實(shí)心點(diǎn),則不執(zhí)行該步驟。如圖9所示,對于一個(gè)閉合邊界,首先將所有邊界點(diǎn)橫坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)橫坐標(biāo)u,然后再將所有邊界點(diǎn)縱坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)縱坐標(biāo)v,以閉合邊界中心點(diǎn)坐標(biāo)(u,v)按四個(gè)方向掃描閉合邊界的直徑,分別得到四個(gè)長度值d1,d2,d3,d4,設(shè)平均直徑為d=(d1+d2+d3+d4)/4,定義圓的規(guī)范度為N=|d-d1|/d+|d-d2|/d+|d-d3|/d+|d-d4|/d,N的值越小則閉合邊界是圓的可信度越高。對每一個(gè)閉合邊界計(jì)算其N值,根據(jù)實(shí)測統(tǒng)計(jì)結(jié)果將N值大于某個(gè)閾值TN的閉合邊界丟棄,剩下的閉合邊界認(rèn)為是條碼圓點(diǎn)的邊界。
六、選定位圓點(diǎn)此過程從已識別出的圓點(diǎn)中篩選出定位圓點(diǎn)。請參考圖10所示,先統(tǒng)計(jì)圓點(diǎn)面積的直方圖,找到面積直方圖中分布最集中的面積值S0,則S0為中心的一個(gè)范圍對應(yīng)的即是數(shù)據(jù)圓點(diǎn)的面積,而定位圓點(diǎn)的面積則在以4*S0為中心的范圍,據(jù)此將面積直方圖分成兩部分,一部分對應(yīng)數(shù)據(jù)圓點(diǎn),一部分對應(yīng)定位圓點(diǎn)。這種基于統(tǒng)計(jì)的計(jì)算方法是穩(wěn)定的,因?yàn)榫鸵粋€(gè)碼圖而言,有96個(gè)數(shù)據(jù)點(diǎn),依據(jù)統(tǒng)計(jì)值深色圓點(diǎn)的個(gè)數(shù)為48,因此面積直方圖不會出現(xiàn)因?yàn)閳A點(diǎn)數(shù)太少導(dǎo)致統(tǒng)計(jì)結(jié)果不穩(wěn)定的問題。
如果碼圖采用的本發(fā)明的二維碼,其單元是其它非圓形形狀的實(shí)心點(diǎn),則在執(zhí)行該步驟時(shí),先計(jì)算每一個(gè)閉合邊界內(nèi)的面積,再統(tǒng)計(jì)每一個(gè)閉合邊界面積的直方圖,找到面積直方圖中分布最集中的面積值S0,則以S0為中心的一個(gè)范圍對應(yīng)的即是數(shù)據(jù)點(diǎn)的面積,而定位點(diǎn)的面積則是數(shù)據(jù)點(diǎn)的面積的數(shù)倍,該倍數(shù)可以根據(jù)預(yù)先確定的定位點(diǎn)與數(shù)據(jù)點(diǎn)的尺寸確定。據(jù)此在面積直方圖提取兩部分,一部分以S0為中心對應(yīng)數(shù)據(jù)圓點(diǎn),一部分以S0的數(shù)倍為中心對應(yīng)定位圓點(diǎn)。這種方法對噪聲數(shù)據(jù)的判斷依據(jù)是閉合邊界內(nèi)的面積大小,一些面積過小或者過大的沒有統(tǒng)計(jì)特征的閉合邊界被舍棄。
七、定位圓點(diǎn)的矩形匹配四個(gè)定位圓點(diǎn)確定一個(gè)獨(dú)立的碼圖,此過程就是確定哪些定位圓點(diǎn)確定了碼圖,所依據(jù)的前提條件是每個(gè)碼圖四角的定位圓點(diǎn)組成一個(gè)矩形。過程如下a)選取離圖像中心最近的一個(gè)定位圓點(diǎn)作為第一個(gè)參考點(diǎn);
b)選取離第一個(gè)參考點(diǎn)最近的另外一個(gè)定位圓點(diǎn)作為第二個(gè)參考點(diǎn);c)兩個(gè)參考點(diǎn)組成的邊為目標(biāo)矩形的參考邊,以第一個(gè)參考點(diǎn)為原點(diǎn),計(jì)算第二個(gè)參考點(diǎn)的極坐標(biāo)(r0,θ0);d)計(jì)算其余定位點(diǎn)相對于第一個(gè)參考點(diǎn)的極坐標(biāo)(ri,θi),i∈[1~n],n為定位圓點(diǎn)總數(shù);e)計(jì)算以第一個(gè)參考點(diǎn)為中心可能存在的4個(gè)矩形的其它定位點(diǎn)相對于參考邊的極坐標(biāo)P1=(r0,θ0),P2=(r0*1.414,θ0+45),P3=(r0*1,θ0+90)P4=(r0*1.414,θ0+135)P5=(r0*1,θ0+180)P6=(r0*1.414,θ0+225)P7=(r0*1,θ0+270)P8=(r0*1.414,θ0+315)如圖11、圖12所示,P0為所述第一參考點(diǎn),P1為所述第二參考點(diǎn),所有極坐標(biāo)的角度都?xì)w一到
度的范圍內(nèi);f)在步驟d)的計(jì)算結(jié)果中尋找與P1至P8匹配的極坐標(biāo)點(diǎn),P0、P1與P2、P3的匹配點(diǎn)組成第一個(gè)目標(biāo)矩形,P0與P3、P4以及P5的匹配點(diǎn)組成第二個(gè)目標(biāo)矩形,P0與P5、P6以及P7的匹配點(diǎn)組成第三個(gè)目標(biāo)矩形,P0、P1與P8、P7的匹配點(diǎn)組成第四個(gè)目標(biāo)矩形。
八、數(shù)據(jù)點(diǎn)分組碼圖的四個(gè)定位圓點(diǎn)確定下來后,以定位圓點(diǎn)四點(diǎn)坐標(biāo)劃定一個(gè)閉合四邊形,四邊形內(nèi)的數(shù)據(jù)點(diǎn)才屬于當(dāng)前碼圖的數(shù)據(jù)點(diǎn)。判斷一個(gè)點(diǎn)是否在四邊形內(nèi)可以分兩次判斷一個(gè)點(diǎn)是否分別在四邊形的兩條對邊之內(nèi),一個(gè)點(diǎn)在兩邊之內(nèi)的判斷方法為設(shè)兩邊的直線方程為y=k1*x+b1;y=k2*x+b2;點(diǎn)(x0,y0)在兩邊之內(nèi)條件為(k1*x0+b1-y0)*(k2*x0+b2-y0)<0;九、重構(gòu)數(shù)據(jù)點(diǎn)矩陣設(shè)四角定位圓點(diǎn)在條碼中的名義坐標(biāo)分別為(0,0)、(20,0)、(0,20)以及(20、20);根據(jù)這四個(gè)定位圓點(diǎn)的坐標(biāo),按照下面的坐標(biāo)校正公式即計(jì)算出數(shù)據(jù)圓點(diǎn)在條碼中的名義坐標(biāo)
x’=K0*x+K1*x*y+K2*y+K3;y’=K4*x+K5*x*y+K6*y+K7;(x’,y’)為條碼圓點(diǎn)的名義坐標(biāo),(x,y)為圖像中圓點(diǎn)的中心坐標(biāo),將四角定位圓點(diǎn)在條碼中的名義坐標(biāo)以及它們在圖像中的坐標(biāo)代入上面的公式得到8個(gè)8元一次方程,解方程組得出K0~K7,將K0~K7代入方程就得到了坐標(biāo)轉(zhuǎn)換方程,將每個(gè)數(shù)據(jù)點(diǎn)在圖像中的中心坐標(biāo)代入該方程組,計(jì)算出該數(shù)據(jù)點(diǎn)在條碼中的名義坐標(biāo),由于上面所述的坐標(biāo)轉(zhuǎn)換是以左上角的定位原點(diǎn)映射為目標(biāo)矩陣的原點(diǎn),因此各數(shù)據(jù)點(diǎn)在條碼中的名義坐標(biāo)值為奇數(shù),轉(zhuǎn)換后的坐標(biāo)值應(yīng)向最近的奇數(shù)取整。
十、碼字還原并糾錯如圖13所示,上述步驟九得到了重構(gòu)的數(shù)據(jù)點(diǎn)矩陣,根據(jù)編碼過程的碼字布局的逆過程即可還原碼字,運(yùn)用Reed-solomon糾錯算法按照與編碼參數(shù)對應(yīng)的解碼參數(shù)對步驟八得到的碼字糾錯。
隨著計(jì)算機(jī)技術(shù)和存儲技術(shù)的發(fā)展,文字圖像類的出版物常常伴有相應(yīng)的多媒體影音資料。圖書往往可以按照章節(jié)分成幾個(gè)部分同時(shí)還編有頁碼,讀者可以根據(jù)圖書的目錄選擇不同的章節(jié)閱讀;這些與圖書相應(yīng)的多媒體影音資料也可以同樣分成幾個(gè)相應(yīng)的部分,讀者同樣可以按照索引選擇相應(yīng)的部分播放。又例如某些出版物中可以為一些文字注音或者翻譯成另一種文字,這種翻譯和注音也可以使用多媒體方式存儲,并配置索引。使用本發(fā)明的二維碼,這個(gè)多媒體資料的索引可以印刷在圖書的相應(yīng)部位,例如在圖書的目錄處,和/或者在圖書的不同章節(jié)的首頁,或者在頁面的不同部位。同時(shí)這個(gè)多媒體資料的索引能由多媒體播放設(shè)備讀取并自動選擇到要播放的段落。
本發(fā)明的二維碼用在出版物上,以碼圖符號的陣列作為頁面的底紋印刷,而其它文字內(nèi)容則覆蓋在碼圖之上,這樣識讀設(shè)備在獲取碼圖符號時(shí),不用特別對準(zhǔn),總能獲取字里行間的碼圖符號。而且頁面排版美觀。
本發(fā)明的二維碼應(yīng)用在出版物上作為多媒體資料的索引時(shí),可以使用統(tǒng)一的編碼方式,使得各種不同出版物的每一段多媒體資料都具有統(tǒng)一的唯一編碼,這種標(biāo)準(zhǔn)化的統(tǒng)一編碼,有利于多媒體資料的出版物的推廣應(yīng)用和交流。
標(biāo)準(zhǔn)的出版物二維碼出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料的索引編碼的編制結(jié)構(gòu)包括每個(gè)二維碼的內(nèi)容都由16位十進(jìn)制數(shù)字組成,分為6個(gè)功能段,每段具有固定的位數(shù)長度,包括語種號、分類號、種次號、頁序號、碼序號、校驗(yàn)號。
例如一份出版物的多媒體索引編碼信息如下
其中語種號是指為出版物二維碼編制所特別設(shè)定的語種數(shù)字代號,語種號長度為1位十進(jìn)制數(shù),分為漢語、英語、法語、日語、德語、俄語、西班牙語、其他語種和二個(gè)待補(bǔ)入語種,用數(shù)字O、1、2、3、4、5、6、7、8、9對應(yīng)表示。
分類號是指為出版物二維碼編制所特別設(shè)定的分類數(shù)字代號,所指“分類”是依據(jù)出版物所適應(yīng)的圖書門類而專門設(shè)定的。這段編號表示每個(gè)語種內(nèi)的具體分類數(shù)。每個(gè)分類號為2位十進(jìn)制數(shù),二維碼中的分類號在“00-99”之間取值。
種次號是指為出版物二維碼編制所特別設(shè)定的種次代表數(shù)字,本段編號代表某語種出版物內(nèi)某分類所分圖書的具體種次數(shù)。每個(gè)種次號的位數(shù)為6位十進(jìn)制數(shù),分配時(shí)可以按出版品種需要和先后順序編制流水號,二維碼中的種次號在“000000-999999”之間取值。每一分類的每一個(gè)出版物必須給出一個(gè)不同的種次號。
以上設(shè)定,語種號可分?jǐn)?shù)量為10個(gè),每語種可分門類(分類)號是100個(gè),每個(gè)門類可容出書100萬種。從而,每個(gè)語種可出圖書為1億種;本編碼方案可供10億種出版物使用。
頁序號是指編入出版物二維碼中的頁碼數(shù)字標(biāo)示。每個(gè)頁序號的位數(shù)為4位十進(jìn)制數(shù),可以按照該多媒體資料對應(yīng)出版物的頁碼對應(yīng)的流水號編制頁序號,每個(gè)二維碼中的頁序號在“0001-9999”之間取值。當(dāng)超過1萬頁時(shí),另外給出MPR編號,例如某出版物的第21頁有二維碼出現(xiàn),則此二維碼中的頁序號段的數(shù)字是“0021”。
碼序號是指出版物中使用二維碼的頁面所用二維碼的數(shù)量和標(biāo)注順序,并以此作為編制二維碼碼序號所分配的數(shù)值。每頁的碼序號位數(shù)為2位十進(jìn)制數(shù),按每頁用碼次序從數(shù)字01開始編制流水號。每個(gè)二維碼中的碼序號在“01-99”之間取值。例如某出版物第8頁只有一個(gè)二維碼時(shí),其頁序號和碼序號表示為“000801”。
校驗(yàn)位是出版物二維碼編制的最后一位數(shù)字,用以檢查編碼錄用中的正誤。
校驗(yàn)位的數(shù)值通過對編碼的前面15個(gè)十進(jìn)制數(shù)進(jìn)行計(jì)算得到,計(jì)算方法是依次分別取出版物多媒體信息索引號的前15個(gè)十進(jìn)制數(shù)的每一位為基數(shù),以“1”和“2”為加權(quán)因子,與所取基數(shù)的段的十進(jìn)制數(shù)對應(yīng)相乘,再將各乘積之和被模數(shù)10除,即各段基數(shù)乘以加權(quán)因子,積大于10時(shí),求各項(xiàng)乘積之和時(shí)應(yīng)將該項(xiàng)乘積的十位數(shù)與個(gè)位數(shù)相加,如10→1+0=1,16→1+6=7,當(dāng)各項(xiàng)乘積之和少于10時(shí),將其乘積之和加10后再被模數(shù)10除,其余數(shù)與10的差,即是校驗(yàn)位的數(shù)值。所以,校驗(yàn)位的數(shù)值只能是1-10中的任何一個(gè)整數(shù),當(dāng)校驗(yàn)位為10時(shí),用“0”表示,由此可見校驗(yàn)位只能是1234567890恒為一位數(shù)。
例 1 1 6 0 6 3 4 5 2 0 0 8 6 2 9 (6)2 1 2 1 2 1 2 1 2 1 2 1 2 1乘積1 2 6 0 6 6 4 10 2 0 0 16 6 4 9各項(xiàng)乘積之和1+2+6+0+6+6+4+(1+0)+2+0+0+(1+6)+6+4+9=5454÷10=5余4校驗(yàn)位10-4=6驗(yàn)算1+2+6+0+6+6+4+(1+0)+2+0+0+(1+6)+6+4+9+6=6060÷10=6因?yàn)楫?dāng)校驗(yàn)碼與編碼的前15個(gè)十進(jìn)制數(shù)分別乘積所得單位數(shù)字之和相加,正好被模數(shù)整除時(shí),表明編碼正確。
所以編碼1160634520086296是一個(gè)正確的出版物多媒體索引編碼。
出版物二維碼編制結(jié)構(gòu)的特點(diǎn)在于,出版物多媒體索引編碼的結(jié)構(gòu)是16位十進(jìn)制數(shù)字,并將該16位十進(jìn)制數(shù)編制為二維碼,所分的每段長度是恒定位數(shù),每個(gè)的出版物多媒體索引編碼的分配都具唯一性,所編制的二維碼保證了MPR閱讀筆或者其它多媒體播放設(shè)備的讀出正確,為計(jì)算機(jī)管理提供了方便。
如本發(fā)明的二維碼是1160634520086296時(shí),可按排列順序區(qū)分6段,語種號固定1位數(shù)字1,分類號固定2位數(shù)字16,種次號固定6位數(shù)字063452,頁序號固定4位數(shù)字0086,碼序號固定2位數(shù)字29,校驗(yàn)位固定1位數(shù)字6,于是得到1-16-063452-0086-29-6,即該二維碼編碼是指代碼為1的語種、分類代碼為16的第063452種出版物的第86頁的第29個(gè)編碼。
權(quán)利要求
1.一種二維碼,其碼圖符號由具有不同光學(xué)反射率的條碼單元在基底上排列而成;其特征是所述碼圖符號為矩形,所述符號中的所述條碼單元為等間距排列的實(shí)心點(diǎn),位于碼圖四角的單元是用于邊界定位與識別的定位點(diǎn),其余的單元是數(shù)據(jù)點(diǎn),所述定位點(diǎn)的面積大于數(shù)據(jù)點(diǎn)的面積。
2.如權(quán)利要求1所述的二維碼,其特征是所述數(shù)據(jù)點(diǎn)單元全部在由相鄰的所述定位點(diǎn)單元的中心連接而成的矩形框之內(nèi)。
3.如權(quán)利要求1或者2所述的二維碼,其特征是所述碼圖符號在基底上重復(fù)排列,無縫拼接為碼圖陣列,碼圖陣列包括至少二個(gè)相同的碼圖符號,并且相鄰碼圖共用定位點(diǎn)。
4.如權(quán)利要求3所述的二維碼,其特征是所述條碼單元的形狀為實(shí)心圓點(diǎn),所述定位點(diǎn)單元的直徑為數(shù)據(jù)點(diǎn)單元的直徑的二倍。
5.如權(quán)利要求3中所述的二維碼,其特征是所述碼圖符號具有10×10個(gè)條碼單元,除定位點(diǎn)外,每相鄰的8個(gè)數(shù)據(jù)點(diǎn)為一組,表示一個(gè)碼字;所述定位點(diǎn)單元的坐標(biāo)分別為(0,0)、(9,0)、(0,9)以及(9,9);在由定位點(diǎn)坐標(biāo)規(guī)定的棋盤坐標(biāo)系中,數(shù)據(jù)點(diǎn)單元分為12組,各表示一個(gè)碼字;第一組包括的單元坐標(biāo)為(1,0),(2,0),(0,1),(1,1),(2,1),(0,2),(1,2),(2,2);第二組包括的單元坐標(biāo)為(3,0),(4,0),(5,0),(6,0),(3,1),(4,1),(5,1),(6,1);第三組包括的單元坐標(biāo)為(7,0),(8,0),(7,1),(8,1),(9,1),(7,2),(8,2),(9,2);第四組包括的單元坐標(biāo)為(3,2),(4,2),(2,3),(3,3),(4,3),(2,4),(3,4),(4,4);第五組包括的單元坐標(biāo)為(5,2),(6,2),(5,3),(6,3),(7,3),(5,4),(6,4),(7,4);第六組包括的單元坐標(biāo)為(0,3),(1,3),(0,4),(1,4),(0,5),(1,5),(0,6),(1,6);第七組包括的單元坐標(biāo)為(8,3),(9,3),(8,4),(9,4),(8,5),(9,5),(8,6),(9,6);第八組包括的單元坐標(biāo)為(2,5),(3,5),(4,5),(2,6),(3,6),(4,6),(3,7),(4,7)為;第九組包括的單元坐標(biāo)為(5,5),(6,5),(7,5),(5,6),(6,6),(7,6),(5,7),(6,7);第十組包括的單元坐標(biāo)為(0,7),(1,7),(2,7),(0,8),(1,8),(2,8),(2,9),(2,9);第十一組包括的單元坐標(biāo)為(3,8),(4,8),(5,8),(6,8),(3,9),(4,9),(5,9),(6,9);第十二組包括的單元坐標(biāo)為(7,7),(8,7),(9,7),(7,8),(8,8),(9,8),(7,9),(8,9)。
6.一種印刷出版物,其印刷有供正常閱讀的圖文和供設(shè)備識別的二維碼,所述二維碼的碼圖符號由具有不同光學(xué)反射率的條碼單元在基底上排列而成;其特征是所述碼圖符號為矩形,所述符號中的所述條碼單元為等間距排列的實(shí)心點(diǎn),位于碼圖四角的單元是用于邊界定位與識別的定位點(diǎn),其余的單元是數(shù)據(jù)點(diǎn),所述定位點(diǎn)的面積大于數(shù)據(jù)點(diǎn)的面積。
7.如權(quán)利要求6所述的印刷出版物,其特征是所述數(shù)據(jù)點(diǎn)單元全部在由相鄰的所述定位點(diǎn)單元的中心連接而成的矩形框之內(nèi)。
8.如權(quán)利要求6或者7所述的印刷出版物,其特征是所述碼圖符號在基底上重復(fù)排列,無縫拼接為碼圖陣列,碼圖陣列包括至少二個(gè)相同的碼圖符號,并且相鄰碼圖共用定位點(diǎn)。
9.如權(quán)利要求8所述的印刷出版物,其特征是所述條碼單元的形狀為實(shí)心圓點(diǎn),所述定位點(diǎn)單元的直徑為數(shù)據(jù)點(diǎn)單元的直徑的二倍。
10.如權(quán)利8所述的印刷出版物,其特征是所述碼圖符號在通常的閱讀環(huán)境中肉眼不可見;或相對于普通印刷圖文,所述碼圖符號肉眼不易見。
11.如權(quán)利要求8所述的印刷出版物,其特征是所述條碼單元包括深色單元和淺色單元,分別表示二進(jìn)制值1和0,所述淺色單元直接用紙張或者其他印刷媒介的底色表示。
12.如權(quán)利要求10所述的印刷出版物,其特征是所述碼圖的單元采用對紅外光譜的光表現(xiàn)為不同的反射率、對可見光譜內(nèi)的光表現(xiàn)同樣的反射率的紅外油墨印刷,覆蓋在所述碼圖上的其它印刷內(nèi)容采用對紅外光譜的光表現(xiàn)為透射的油墨印刷。
13.如權(quán)利要求8所述的印刷出版物,其特征是所述二維碼攜帶的信息包括與所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料索引編碼。
14.如權(quán)利要求13所述的印刷出版物,其特征是所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料索引編碼包括6個(gè)具有固定的位數(shù)長度的功能段語種號、分類號、種次號、頁序號、碼序號和校驗(yàn)號;其中,語種號是語種數(shù)字代號,依據(jù)出版物的語種而定;分類號是某個(gè)語種中的出版物分類數(shù)字代號,依據(jù)出版物的圖書門類而定;種次號代表某語種出版物內(nèi)某分類圖書的具體種次,可以是流水號;頁序號是索引編碼的內(nèi)容所對應(yīng)的所述出版物的頁碼數(shù)字;碼序號是對應(yīng)出版物中使用二維碼的頁面所用二維碼的數(shù)量和標(biāo)注順序的號碼;校驗(yàn)號用以檢查索引編碼的正誤。
15.如權(quán)利要求14所述的印刷出版物,其特征是所述出版物的出版種類索引編碼和所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料的索引編碼包括16位十進(jìn)制數(shù)字,其中每個(gè)功能段的長度分別為語種號1位、分類號2位、種次號6位、頁序號4位、碼序號2位和校驗(yàn)號1位。
16.如權(quán)利要求15所述的印刷出版物,其特征是所述出版種類索引編碼和所述多媒體資料索引編碼的校驗(yàn)位的數(shù)值通過對編碼的前面15個(gè)十進(jìn)制數(shù)進(jìn)行計(jì)算得到,計(jì)算方法是依次分別取出版物多媒體信息索引號的前15個(gè)十進(jìn)制數(shù)的每一位為基數(shù),以“1”和“2”為加權(quán)因子,與所取基數(shù)的段的十進(jìn)制數(shù)對應(yīng)相乘,再將各乘積之和被模數(shù)10除,即各段基數(shù)乘以加權(quán)因子,積大于10時(shí),求各項(xiàng)乘積之和時(shí)應(yīng)將該項(xiàng)乘積的十位數(shù)與個(gè)位數(shù)相加,當(dāng)各項(xiàng)乘積之和少于10時(shí),將其乘積之和加10后再被模數(shù)10除,其余數(shù)與10的差,即是校驗(yàn)位的數(shù)值。
17.一種二維碼解碼方法,包括如下步驟1)使用識讀設(shè)備讀取碼圖,獲得灰度碼像;2)對所述灰度碼像作二值化處理,得到二值化圖像;3)對二值化圖像進(jìn)行數(shù)據(jù)分析,檢測出每一個(gè)點(diǎn)的邊緣,得到邊緣圖像;4)對邊緣圖像進(jìn)行數(shù)據(jù)分析,跟蹤其中的閉合邊界,舍棄其中的所有非閉合邊界,得到閉合邊界圖像;5)對閉合邊界圖像做數(shù)據(jù)分析,計(jì)算每一個(gè)閉合邊界內(nèi)的面積,篩選出定位點(diǎn)單元;6)對定位點(diǎn)單元作矩形匹配,選定一個(gè)單獨(dú)的碼圖符號的圖像;7)對該碼圖符號的圖像中的數(shù)據(jù)點(diǎn)分組;8)重構(gòu)數(shù)據(jù)點(diǎn)矩陣;9)碼字還原。
18.如權(quán)利要求17所述的方法,其特征是所述步驟5)篩選出定位點(diǎn)單元的過程包括51)計(jì)算每一個(gè)閉合邊界內(nèi)的面積,統(tǒng)計(jì)出所有閉合邊界內(nèi)的面積的直方圖,找到面積直方圖中分布最集中的面積值S0;52)面積在以S0為中心、并符合規(guī)定誤差范圍內(nèi)的閉合邊界即是數(shù)據(jù)點(diǎn)單元;面積是S0的已知倍數(shù)、并符合規(guī)定誤差范圍內(nèi)的閉合邊界就是定位點(diǎn)單元。
19.如權(quán)利要求17所述的方法,其特征是在已知條碼單元的形狀為圓點(diǎn)時(shí),所述步驟5)之前,還包括步驟5′)進(jìn)行圓點(diǎn)識別的過程,包括51′)將閉合邊界所有邊界點(diǎn)的象素橫坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)象素橫坐標(biāo)u;將所有邊界點(diǎn)象素縱坐標(biāo)累加,將累加和除以邊界點(diǎn)總數(shù)得到閉合邊界的中心點(diǎn)象素縱坐標(biāo)v;52′)以閉合邊界中心點(diǎn)象素坐標(biāo)(u,v)按四個(gè)方向掃描尋找閉合邊界的直徑,分別得到四個(gè)長度值d1,d2,d3,d4;53′)取平均直徑為d=(d1+d2+d3+d4)/4,定義圓的規(guī)范度為N=|d-d1|/d+|d-d2|/d+|d-d3|/d+|d-d4|/d;54′)對每一個(gè)閉合邊界計(jì)算其N值,根據(jù)實(shí)測統(tǒng)計(jì)結(jié)果將N值大于設(shè)定閾值TN的閉合邊界丟棄,剩下的閉合邊界認(rèn)為是條碼圓點(diǎn)單元的邊界。
20.如權(quán)利要求17、18或者19所述的方法,其特征是所述步驟6)對定位點(diǎn)單元作矩形匹配的過程包括61)選取離圖像中心最近的一個(gè)定位點(diǎn)作為第一個(gè)參考點(diǎn);62)選取離第一個(gè)參考點(diǎn)最近的另外一個(gè)定位點(diǎn)作為第二個(gè)參考點(diǎn);63)兩個(gè)參考點(diǎn)組成的邊為目標(biāo)矩形的參考邊,以第一個(gè)參考點(diǎn)為原點(diǎn),計(jì)算第二個(gè)參考點(diǎn)的極坐標(biāo)(r0,θ0);64)計(jì)算其余定位點(diǎn)相對于第一個(gè)參考點(diǎn)的極坐標(biāo)(ri,θi),i∈[1~n],n為定位點(diǎn)單元總數(shù);65)第一個(gè)參考點(diǎn)為中心,相對于參考邊,計(jì)算可能存在的4個(gè)碼圖符號外接矩形的其它定位點(diǎn)的極坐標(biāo)P1=(r0,θ0),P2=(r0*1.414,θ0+45),P3=(r0*1,θ0+90)P4=(r0*1.414,θ0+135)P5=(r0*1,θ0+180)P6=(r0*1.414,θ0+225)P7=(r0*1,θ0+270)P8=(r0*1.414,θ0+315)其中P0為第一參考點(diǎn),P1為第二參考點(diǎn),所有極坐標(biāo)的角度都?xì)w一到
度的范圍內(nèi);66)在步驟64)的計(jì)算結(jié)果中尋找與P1至P8匹配的極坐標(biāo)點(diǎn),P0、P1與P2、P3的匹配點(diǎn)組成第一個(gè)目標(biāo)矩形,如果不能成功匹配,則P0與P3、P4以及P5的匹配點(diǎn)組成第二個(gè)目標(biāo)矩形,如果還是不能成功匹配,則P0與P5、P6以及P7的匹配點(diǎn)組成第三個(gè)目標(biāo)矩形,如果還是不能成功匹配,則P0、P1與P8、P7的匹配點(diǎn)組成第四個(gè)目標(biāo)矩形;如果還是不能成功匹配,則解碼失敗。
21.如權(quán)利要求17所述的方法,其特征是所述步驟7)數(shù)據(jù)點(diǎn)分組的過程包括71)以定位點(diǎn)四點(diǎn)坐標(biāo)劃定一個(gè)閉合四邊形,72)判斷數(shù)據(jù)點(diǎn)是否位于該四邊形內(nèi),該四邊形內(nèi)的數(shù)據(jù)點(diǎn)屬于當(dāng)前碼圖的數(shù)據(jù)點(diǎn)。
22.如權(quán)利要求17所述的方法,其特征是所述步驟8)重構(gòu)數(shù)據(jù)點(diǎn)矩陣的過程包括81)設(shè)定四角定位點(diǎn)單元模塊的坐標(biāo),從而設(shè)定每一個(gè)條碼單元的棋盤坐標(biāo);82)按照坐標(biāo)校正公式,根據(jù)每個(gè)數(shù)據(jù)點(diǎn)的中心坐標(biāo)計(jì)算出對應(yīng)在條碼符號棋盤中的坐標(biāo)。
23.如權(quán)利要求21所述的方法,其特征是所述步驟72)判斷一個(gè)點(diǎn)是否在四邊形內(nèi)的方法包括分別判斷一個(gè)點(diǎn)是否在四邊形的兩組對應(yīng)邊內(nèi);是,則該點(diǎn)在四邊形內(nèi);否,則該點(diǎn)不在四邊形內(nèi);設(shè)兩邊的直線方程為y=k1*x+b1;y=k2*x+b2;點(diǎn)(x0,y0)在兩邊之內(nèi)條件為(k1*x0+b1-y0)*(k2*x0+b2-y0)<0。
全文摘要
本發(fā)明公開一種二維碼及其解碼方法,以及應(yīng)用該二維碼的印刷出版物。二維碼符號中位于碼圖四角的定位點(diǎn)的面積比數(shù)據(jù)點(diǎn)的面積大;在出版物中,該二維碼攜帶所述出版物的出版種類索引編碼和與所述出版物中不同部分的內(nèi)容相應(yīng)的多媒體資料的索引編碼,該碼圖符號在通常的閱讀環(huán)境中肉眼不可見,或不易見;并可采用同一個(gè)碼圖重復(fù)大面積印刷,無縫拼接為碼圖陣列;出版物的其它圖文資料覆蓋在碼圖陣列之上。相鄰碼圖共用定位點(diǎn),方便閱讀器讀取。在解碼中先篩選出定位點(diǎn);再對定位點(diǎn)單元作矩形匹配,選定一個(gè)單獨(dú)的碼圖符號后,進(jìn)行數(shù)據(jù)點(diǎn)分組,重構(gòu)數(shù)據(jù)點(diǎn)矩陣。本發(fā)明的二維碼應(yīng)用非常簡便,數(shù)據(jù)讀取快捷,可靠性高。對識讀設(shè)備的要求低,利于廣泛應(yīng)用。
文檔編號G06K9/18GK1963843SQ200610156879
公開日2007年5月16日 申請日期2006年11月16日 優(yōu)先權(quán)日2006年11月16日
發(fā)明者張偉, 李政放, 呂迎豐, 顧光一 申請人:深圳矽感科技有限公司, 深圳市天朗時(shí)代科技有限公司