本發(fā)明涉及數(shù)據(jù)識(shí)別、信息存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種多維碼及其編碼和解碼方法。
背景技術(shù):
現(xiàn)有的一維碼僅能存儲(chǔ)一個(gè)變量信息,空間利用率低,二維碼雖然比一維碼存儲(chǔ)的信息量增加到了在縱和橫兩個(gè)方位同時(shí)表達(dá)信息,但是仍然不能滿足日益增長的社會(huì)需求,仍存在信息存儲(chǔ)量相對(duì)較小的問題,現(xiàn)有技術(shù)中為了擴(kuò)大二維碼的存儲(chǔ)信息量,采取了很多方式,現(xiàn)有的多維碼技術(shù),是在二維碼的基礎(chǔ)上,采用了色彩和灰度來表示第三維,從而大幅度增加了信息量,但也同樣存在容易復(fù)制的問題,且色彩和灰度易受外界環(huán)境的影響,在使用中存在識(shí)別困難的問題。申請(qǐng)?zhí)枮椋?016100127393的中國發(fā)明專利申請(qǐng),比普通二維碼的多出了一個(gè)z維度,采用凹部和凸部在z維度上錯(cuò)開,形成多維碼,在現(xiàn)有的二維碼掃描識(shí)別技術(shù)的基礎(chǔ)上,無法實(shí)現(xiàn)對(duì)這種多維碼的讀取,對(duì)識(shí)別設(shè)備要求較高,不易于推廣應(yīng)用。
中國發(fā)明專利,申請(qǐng)?zhí)枺?014100420135,授權(quán)公告日:2017年1月4日,公開了一種多維碼及其制作方法,該多維碼包括多個(gè)空間復(fù)用的二維編碼圖形,所述空間復(fù)用是指將多個(gè)二維編碼圖形以不同的角度記錄在記錄材料表面的同一空間處,解碼時(shí),利用識(shí)讀引擎以記錄時(shí)對(duì)應(yīng)的角度進(jìn)行識(shí)讀,從而分別解碼出特定角度下記錄的二維編碼圖形字符。其不足之處在于,該專利雖然在二維碼的基礎(chǔ)上增加了信息存儲(chǔ)量,但是存在編碼過程較為復(fù)雜,解碼過程需對(duì)準(zhǔn)一定的角度,增大使用難度,不具備通用性。
申請(qǐng)?zhí)枮?016109471771的中國發(fā)明專利申請(qǐng),在二維碼掃描x軸與y軸的基礎(chǔ)上增加z軸方向(45°)掃描從而達(dá)到三維效果,并可增加三角形加正方形相結(jié)合的許多幾何圖形,通過增加掃描45°的z軸,達(dá)到增加被掃條碼多樣性,通過幾何倍的增長,滿足社會(huì)的需求。其不足之處在于,需要在45°方向掃描,對(duì)掃描者提供了更高的要求,使用不便,不利于推廣使用。
技術(shù)實(shí)現(xiàn)要素:
1.發(fā)明要解決的技術(shù)問題
針對(duì)現(xiàn)有技術(shù)的二維碼存儲(chǔ)信息量較少的問題,本發(fā)明提供了一種多維碼及其編碼和解碼方法。相比于現(xiàn)有的二維碼和多維碼技術(shù),它可以提供較多的信息存儲(chǔ)量,且利用現(xiàn)有的二維碼識(shí)別技術(shù),便于推廣使用。
2.技術(shù)方案
為解決上述問題,本發(fā)明提供的技術(shù)方案為:
一種多維碼,包括二維碼,在承載物上將二維碼的矩陣塊劃分成面積相等的單個(gè)矩陣塊,還增加了第三維度,所述的第三維度,將單個(gè)矩陣塊中的某一直角劃分成n等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成n份等角塊,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0。
優(yōu)選地,所述的n為整數(shù),且n≥2。
一種多維碼的編碼方法,根據(jù)以上所述的一種多維碼,預(yù)先生成矩陣塊,矩陣塊生成多個(gè)單個(gè)矩陣塊,為n取一個(gè)整數(shù)值,輸入一個(gè)n位的二進(jìn)制碼a,二進(jìn)制碼a轉(zhuǎn)化成十進(jìn)制數(shù)字b,b<n+1,將矩陣塊中的每個(gè)單個(gè)矩陣塊中的某一直角劃分成n等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成n份等角塊,每個(gè)單個(gè)矩陣塊對(duì)應(yīng)一個(gè)二進(jìn)制碼a,二進(jìn)制碼a的每一位的取值與單個(gè)矩陣塊中每一份等角塊的涂色狀態(tài)相對(duì)應(yīng),根據(jù)二進(jìn)制碼a的取值對(duì)矩陣塊中的每一個(gè)單個(gè)矩陣塊中的相同位置的等角塊進(jìn)行涂色,均形成一個(gè)多維碼圖,將所有的多維碼圖組合在一起形成以上所述的一種多維碼。
優(yōu)選地,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0。
優(yōu)選地,二進(jìn)制碼a的左邊第一位與單個(gè)矩陣塊中一個(gè)直角邊作為邊長的第一個(gè)等角塊的涂色狀態(tài)相對(duì)應(yīng),相鄰的第二個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a的左邊第二位相對(duì)應(yīng),相鄰的第三個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a的左邊第三位相對(duì)應(yīng),依次類推,單個(gè)矩陣塊中另一個(gè)直角邊作為邊長的最后一個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a右邊第一位相對(duì)應(yīng)。
一種多維碼的解碼方法,識(shí)別設(shè)備掃描根據(jù)以上所述的一種多維碼的編碼方法所形成的以上所述的一種多維碼,識(shí)別設(shè)備根據(jù)二維碼的定位塊對(duì)矩陣塊進(jìn)行定位,然后進(jìn)行單個(gè)矩陣塊的定位和識(shí)別,將每一個(gè)單個(gè)矩陣塊轉(zhuǎn)化成相應(yīng)的二進(jìn)制編碼a,最終將多維碼識(shí)別成一系列的二進(jìn)制碼。
優(yōu)選地,所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,根據(jù)預(yù)先劃定的n份等角塊的位置,每個(gè)等角塊與x軸平行的邊存在線段的部分和每個(gè)等角塊與y軸平行的邊存在線段的部分,二進(jìn)制碼a對(duì)應(yīng)的位數(shù)取值為1,其余位數(shù)取值為0,從而解碼生成單個(gè)矩陣塊的一組二進(jìn)制碼a,重復(fù)以上步驟,對(duì)每一個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,組合生成上述的一種多維碼的一系列二進(jìn)制碼。
優(yōu)選地,當(dāng)單個(gè)矩陣塊的涂色部分從一個(gè)直角邊開始連續(xù)著色時(shí),或者從另一個(gè)直角邊開始也連續(xù)著色時(shí),所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將所述的權(quán)利要求7中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,然后傳感器檢測到單個(gè)矩陣塊中y軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值c,將角度值c與預(yù)先劃定的n份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從左到右共取幾個(gè)1,傳感器檢測到單個(gè)矩陣塊中x軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值d,將角度值d與預(yù)先劃定的n份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從右到左共取幾個(gè)1,按照上述方法對(duì)每個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,以確定每個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
優(yōu)選地,包括以下步驟:
步驟一、當(dāng)n為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前n/2個(gè)等角塊對(duì)應(yīng)的面積sn,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼e,后n/2個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼f,e和f組合形成二進(jìn)制碼a;
步驟二、當(dāng)n為奇數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的面積sn,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼g,后n-int(n/2)-1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼h,g和h組合形成二進(jìn)制碼a;
步驟三、將步驟一和步驟二的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟四、當(dāng)n為偶數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前n/2個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟一中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼e,然后按照此法,再確定后n/2個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼f,e和f組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼;
步驟五、當(dāng)n為奇數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟二中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼g,然后按照此法,再確定后n-int(n/2)-1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼h,g和h組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
優(yōu)選地,包括以下步驟:
步驟一、當(dāng)n為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前n/2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼i,后n/2個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼j,i和j組合形成二進(jìn)制碼a;
步驟二、當(dāng)n為奇數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)任意組合相加的等角塊涂色時(shí)與x軸平行的邊相加的長度,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼k,后n-int(n/2)-1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼l,k和l組合形成二進(jìn)制碼a;
步驟三、將步驟一和步驟二的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟四、當(dāng)n為偶數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前n/2個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前n/2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼i,然后按照此法,再確定后n/2個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼j,i和j組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼;
步驟五、當(dāng)n為奇數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼k,然后按照此法,再確定后n-int(n/2)-1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼l,k和l組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
3.有益效果
采用本發(fā)明提供的技術(shù)方案,與現(xiàn)有技術(shù)相比,具有如下有益效果:
(1)本發(fā)明一種多維碼,除能夠生成二維碼外,可生成多維碼,增大了信息存儲(chǔ)量;
(2)本發(fā)明一種多維碼,對(duì)掃描者以及現(xiàn)有的掃描設(shè)備不作特殊要求,可以廣泛推廣使用;
(3)本發(fā)明一種多維碼的編碼方法,創(chuàng)造性的引用角度劃分的方式將單個(gè)矩陣劃分成多份,以承載多維信息;
(4)本發(fā)明一種多維碼的解碼方法,原理簡單,解碼速度快;
(5)本發(fā)明的結(jié)構(gòu)原理簡單、制作成本低、易于實(shí)現(xiàn);
(6)本發(fā)明的一種多維碼,可隨硬件條件提升加大n值,從而實(shí)現(xiàn)自動(dòng)升級(jí),加大多維碼的信息容納量。
附圖說明
圖1為本發(fā)明的編碼流程圖;
圖2為當(dāng)n等于8時(shí)本發(fā)明對(duì)應(yīng)的編碼流程圖;
圖3為當(dāng)n等于2時(shí)本發(fā)明對(duì)應(yīng)的單個(gè)矩陣塊的劃分示意圖;
圖3-1為當(dāng)n=2時(shí)二進(jìn)制碼10對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖3-2為當(dāng)n=2時(shí)二進(jìn)制碼01對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖3-3為當(dāng)n=2時(shí)二進(jìn)制碼11對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4為當(dāng)n=3時(shí)本發(fā)明對(duì)應(yīng)的單個(gè)矩陣塊的劃分示意圖;
圖4-1為當(dāng)n=3時(shí)二進(jìn)制碼100對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-2為當(dāng)n=3時(shí)二進(jìn)制碼010對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-3為當(dāng)n=3時(shí)二進(jìn)制碼001對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-4為當(dāng)n=3時(shí)二進(jìn)制碼101對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-5為當(dāng)n=3時(shí)二進(jìn)制碼110對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-6為當(dāng)n=3時(shí)二進(jìn)制碼011對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖4-7為當(dāng)n=3時(shí)二進(jìn)制碼111對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5為當(dāng)n=8時(shí)本發(fā)明對(duì)應(yīng)的單個(gè)矩陣塊的劃分示意圖;
圖5-1為當(dāng)n=8時(shí)二進(jìn)制碼10000000對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5-2為當(dāng)n=8時(shí)二進(jìn)制碼01000000對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5-3為當(dāng)n=8時(shí)二進(jìn)制碼00100000對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5-4為當(dāng)n=8時(shí)二進(jìn)制碼00100100對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5-5為當(dāng)n=8時(shí)二進(jìn)制碼01010101對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖5-6為當(dāng)n=8時(shí)二進(jìn)制碼11111111對(duì)應(yīng)的單個(gè)矩陣塊涂色示意圖;
圖6為本發(fā)明的角度解碼方法;
圖7為本發(fā)明的面積解碼方法的數(shù)據(jù)存儲(chǔ)值;
圖8為當(dāng)n=2時(shí)的多維碼示意圖。
具體實(shí)施方式
為進(jìn)一步了解本發(fā)明的內(nèi)容,結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作詳細(xì)描述。
實(shí)施例1
一種多維碼,包括二維碼,在承載物上將二維碼的矩陣塊劃分成面積相等的單個(gè)矩陣塊,還增加了第三維度,所述的第三維度,將單個(gè)矩陣塊中的某一直角劃分成n等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成n份等角塊,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0,所述的n為整數(shù),且n≥2。
一種多維碼的編碼方法,如圖1所示,根據(jù)以上所述的一種多維碼,預(yù)先生成矩陣塊,矩陣塊生成多個(gè)單個(gè)矩陣塊,為n取一個(gè)整數(shù)值,輸入一個(gè)n位的二進(jìn)制碼a,二進(jìn)制碼a轉(zhuǎn)化成十進(jìn)制數(shù)字b,b<n+1,將矩陣塊中的每個(gè)單個(gè)矩陣塊中的某一直角劃分成n等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成n份等角塊(每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0)。
每個(gè)單個(gè)矩陣塊對(duì)應(yīng)一個(gè)二進(jìn)制碼a,二進(jìn)制碼a的每一位的取值與單個(gè)矩陣塊中每一份等角塊的涂色狀態(tài)相對(duì)應(yīng),二進(jìn)制碼a的左邊第一位與單個(gè)矩陣塊中一個(gè)直角邊作為邊長的第一個(gè)等角塊的涂色狀態(tài)相對(duì)應(yīng),相鄰的第二個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a的左邊第二位相對(duì)應(yīng),相鄰的第三個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a的左邊第三位相對(duì)應(yīng),依次類推,單個(gè)矩陣塊中另一個(gè)直角邊作為邊長的最后一個(gè)等角塊的涂色狀態(tài)與二進(jìn)制碼a右邊第一位相對(duì)應(yīng)。
根據(jù)二進(jìn)制碼a的取值對(duì)矩陣塊中的每一個(gè)單個(gè)矩陣塊中的相同位置的等角塊進(jìn)行涂色,均形成一個(gè)多維碼圖,將所有的多維碼圖組合在一起形成以上所述的一種多維碼。
一種多維碼的解碼方法,識(shí)別設(shè)備掃描根據(jù)以上所述的一種多維碼的編碼方法所形成的以上所述的一種多維碼,識(shí)別設(shè)備根據(jù)二維碼的定位塊4(如圖8所示)對(duì)矩陣塊進(jìn)行定位,然后進(jìn)行單個(gè)矩陣塊的定位和識(shí)別,將每一個(gè)單個(gè)矩陣塊轉(zhuǎn)化成相應(yīng)的二進(jìn)制編碼a,最終將多維碼識(shí)別成一系列的二進(jìn)制碼。
所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,根據(jù)預(yù)先劃定的n份等角塊的位置,每個(gè)等角塊與x軸平行的邊存在線段的部分和每個(gè)等角塊與y軸平行的邊存在線段的部分,二進(jìn)制碼a對(duì)應(yīng)的位數(shù)取值為1,其余位數(shù)取值為0,從而解碼生成單個(gè)矩陣塊的一組二進(jìn)制碼a,重復(fù)以上步驟,對(duì)每一個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,組合生成上述的一種多維碼的一系列二進(jìn)制碼。
當(dāng)單個(gè)矩陣塊的涂色部分從一個(gè)直角邊開始連續(xù)著色時(shí),或者從另一個(gè)直角邊開始也連續(xù)著色時(shí),如圖6所示,是一種角度解碼方法,所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將所上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,然后傳感器檢測到單個(gè)矩陣塊中y軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值c,將角度值c與預(yù)先劃定的n份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從左到右共取幾個(gè)1,傳感器檢測到單個(gè)矩陣塊中x軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值d,將角度值d與預(yù)先劃定的n份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從右到左共取幾個(gè)1,按照上述方法對(duì)每個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,以確定每個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
另外還可以使用以下所述的一種多維碼的解碼方法,即面積掃描法,包括以下步驟:
步驟一、當(dāng)n為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前n/2個(gè)等角塊對(duì)應(yīng)的面積sn,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼e,后n/2個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼f,e和f組合形成二進(jìn)制碼a;
步驟二、當(dāng)n為奇數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的面積sn,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼g,后n-int(n/2)-1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼h,g和h組合形成二進(jìn)制碼a;如圖7所示;
步驟三、將步驟一和步驟二的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟四、當(dāng)n為偶數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前n/2個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟一中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼e,然后按照此法,再確定后n/2個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼f,e和f組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼;
步驟五、當(dāng)n為奇數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟二中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼g,然后按照此法,再確定后n-int(n/2)-1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼h,g和h組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
其次還可以使用以下所述的一種多維碼的解碼方法,即長度掃描法,包括以下步驟:
步驟一、當(dāng)n為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前n/2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼i,后n/2個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼j,i和j組合形成二進(jìn)制碼a;
步驟二、當(dāng)n為奇數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)任意組合相加的等角塊涂色時(shí)與x軸平行的邊相加的長度,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼k,后n-int(n/2)-1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼l,k和l組合形成二進(jìn)制碼a;
步驟三、將步驟一和步驟二的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟四、當(dāng)n為偶數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前n/2個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前n/2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼i,然后按照此法,再確定后n/2個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼j,i和j組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼;
步驟五、當(dāng)n為奇數(shù)時(shí),按照預(yù)先劃定的n份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前int(n/2)+1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼k,然后按照此法,再確定后n-int(n/2)-1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼l,k和l組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
實(shí)施例2
本實(shí)施例的一種多維碼,包括二維碼,在承載物(可以為紙張、塑料材質(zhì)或者任何可以打印或者涂覆上圖形的承載體)上將二維碼的矩陣塊劃分成面積相等的單個(gè)矩陣塊,還增加了第三維度,所述的第三維度,將單個(gè)矩陣塊中的某一直角(該直角豎直方向的直角邊作為y軸,該直角水平方向的直角邊作為x軸)劃分成2等份,如圖3所示,沿著該直角所在位置將單個(gè)矩陣塊劃分成2份等角塊,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0,如圖3、3-1、3-2和3-3所示,對(duì)應(yīng)的二進(jìn)制碼分別為00、10、01和11,這些二進(jìn)制碼分別可以用來承載物流信息、身份信息等其他需要識(shí)別的信息。
實(shí)施例3
本實(shí)施例的一種多維碼的編碼方法,適用于實(shí)施例2,如圖1所示,根據(jù)以上所述的一種多維碼,預(yù)先生成矩陣塊,如圖8所示,矩陣塊中包括定位塊4,矩陣塊被劃分成多個(gè)單個(gè)矩陣塊,n=2,輸入一個(gè)2位的二進(jìn)制碼a,二進(jìn)制碼a轉(zhuǎn)化成十進(jìn)制數(shù)字b,b<3,將矩陣塊中的每個(gè)單個(gè)矩陣塊中的某一直角劃分成2等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成2份等角塊(每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0)。
每個(gè)單個(gè)矩陣塊對(duì)應(yīng)一個(gè)二進(jìn)制碼a,二進(jìn)制碼a的每一位的取值與單個(gè)矩陣塊中每一份等角塊的涂色狀態(tài)相對(duì)應(yīng),二進(jìn)制碼a的左邊第一位與單個(gè)矩陣塊中一個(gè)直角邊作為邊長的第一個(gè)等角塊(對(duì)應(yīng)圖3中標(biāo)號(hào)為202的等角塊)的涂色狀態(tài)相對(duì)應(yīng),相鄰的第二個(gè)等角塊(對(duì)應(yīng)圖3中標(biāo)號(hào)為201的等角塊)的涂色狀態(tài)與二進(jìn)制碼a的左邊第二位相對(duì)應(yīng)。
當(dāng)二進(jìn)制碼a分別為00、10、01和11時(shí),生產(chǎn)的單個(gè)矩陣塊對(duì)應(yīng)分別如圖3、3-1、3-2和3-3所示。
根據(jù)二進(jìn)制碼a的取值對(duì)矩陣塊中的每一個(gè)單個(gè)矩陣塊中的相同位置的等角塊進(jìn)行涂色,均形成一個(gè)多維碼圖,將所有的多維碼圖組合在一起形成以上所述的一種多維碼。
實(shí)施例3
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例2,識(shí)別設(shè)備掃描根據(jù)以上所述的一種多維碼的編碼方法所形成的以上所述的一種多維碼,識(shí)別設(shè)備根據(jù)二維碼的定位塊4(如圖8所示)對(duì)矩陣塊進(jìn)行定位,然后進(jìn)行單個(gè)矩陣塊的定位和識(shí)別,將每一個(gè)單個(gè)矩陣塊轉(zhuǎn)化成相應(yīng)的二進(jìn)制編碼a,最終將多維碼識(shí)別成一系列的二進(jìn)制碼。
實(shí)施例4
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例2,在實(shí)施例3的基礎(chǔ)上,所述的單個(gè)矩陣塊的定位和識(shí)別的過程:
識(shí)別設(shè)備將上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,如圖3、3-1、3-2和3-3所示,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,根據(jù)預(yù)先劃定的2份等角塊的位置,每個(gè)等角塊與x軸平行的邊存在線段的部分和每個(gè)等角塊與y軸平行的邊存在線段的部分(圖3、3-1和3-2中的線條是虛擬的,此處是為了劃分等角塊需要而設(shè)置,實(shí)際使用中不存在的,僅當(dāng)對(duì)應(yīng)的等角塊上涂色時(shí),相應(yīng)的線段才存在),二進(jìn)制碼a對(duì)應(yīng)的位數(shù)取值為1,其余位數(shù)取值為0,從而解碼生成單個(gè)矩陣塊的一組二進(jìn)制碼a,重復(fù)以上步驟,對(duì)每一個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,組合生成上述的一種多維碼的一系列二進(jìn)制碼。
實(shí)施例5
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例2,在實(shí)施例3的基礎(chǔ)上,當(dāng)單個(gè)矩陣塊的涂色部分從一個(gè)直角邊開始連續(xù)著色時(shí),或者從另一個(gè)直角邊開始也連續(xù)著色時(shí),如圖6所示,是一種角度解碼方法,所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將所上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,然后傳感器檢測到單個(gè)矩陣塊中y軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值c(0°、45°和90°),將角度值c(0°、45°和90°)與預(yù)先劃定的2份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份涂色的等角塊(0°對(duì)應(yīng)為00,45°對(duì)應(yīng)為01,90°對(duì)應(yīng)為11),即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從左到右共取幾個(gè)1,傳感器檢測到單個(gè)矩陣塊中x軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值d,將角度值d與預(yù)先劃定的2份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份涂色等角(0°對(duì)應(yīng)為00,45°對(duì)應(yīng)為10,90°對(duì)應(yīng)為11)塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從右到左共取幾個(gè)1,按照上述方法對(duì)每個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,以確定每個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a,組合生成(兩個(gè)二維碼序列取或)上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼(00、10、01和11)。
實(shí)施例6
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例2,在實(shí)施例3的基礎(chǔ)上,即面積掃描法,包括以下步驟:
步驟一、n=2為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前1個(gè)等角塊對(duì)應(yīng)的面積s1,即對(duì)應(yīng)等角塊202涂色時(shí)的面積值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼e,后1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼f,e和f組合形成二進(jìn)制碼a;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、n=2為偶數(shù),按照預(yù)先劃定的2份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前1個(gè)等角塊對(duì)應(yīng)的涂色面積值s,s為0,對(duì)應(yīng)二進(jìn)制碼0;s不為0,對(duì)應(yīng)二進(jìn)制碼1;然后按照此法,再確定后1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼f,即f可為0,也可為1,e和f組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼(00、10、01和11)。
實(shí)施例7
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例2,在實(shí)施例3的基礎(chǔ)上,即長度掃描法,包括以下步驟:
步驟一、當(dāng)n為偶數(shù)時(shí),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼i,后1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼j,i和j組合形成二進(jìn)制碼a;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、當(dāng)n為偶數(shù)時(shí),按照預(yù)先劃定的2份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前1個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前1個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度進(jìn)行對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼i(長度為0,對(duì)應(yīng)二進(jìn)制碼為0,長度不為0,對(duì)應(yīng)的二進(jìn)制碼為1),然后按照此法,再確定后1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼j,i和j組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
實(shí)施例8
本實(shí)施例的一種多維碼,包括二維碼,在承載物上將二維碼的矩陣塊劃分成面積相等的單個(gè)矩陣塊,還增加了第三維度,所述的第三維度,將單個(gè)矩陣塊中的某一直角劃分成3等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成3份等角塊,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0(對(duì)應(yīng)的二進(jìn)制碼分別為000、100、010、001、101、110、011和111,分別對(duì)應(yīng)如圖4、4-1、4-2、4-3、4-4、4-5、4-6和4-7所示)。
實(shí)施例9
本實(shí)施例的一種多維碼的編碼方法,適用于實(shí)施例8,如圖1所示,根據(jù)以上所述的一種多維碼,預(yù)先生成矩陣塊,矩陣塊生成多個(gè)單個(gè)矩陣塊,輸入一個(gè)3位的二進(jìn)制碼a,二進(jìn)制碼a轉(zhuǎn)化成十進(jìn)制數(shù)字b,b<4,將矩陣塊中的每個(gè)單個(gè)矩陣塊中的某一直角劃分成4等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成4份等角塊(每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0)。
每個(gè)單個(gè)矩陣塊對(duì)應(yīng)一個(gè)二進(jìn)制碼a,二進(jìn)制碼a的每一位的取值與單個(gè)矩陣塊中每一份等角塊的涂色狀態(tài)相對(duì)應(yīng),二進(jìn)制碼a的左邊第一位與單個(gè)矩陣塊中一個(gè)直角邊作為邊長的第一個(gè)等角塊(對(duì)應(yīng)為圖4、4-1、4-2、4-3、4-4、4-5、4-6和4-7中的標(biāo)號(hào)301)的涂色狀態(tài)相對(duì)應(yīng),相鄰的第二個(gè)等角塊(對(duì)應(yīng)為圖4、4-1、4-2、4-3、4-4、4-5、4-6和4-7中的標(biāo)號(hào)302)的涂色狀態(tài)與二進(jìn)制碼a的左邊第二位相對(duì)應(yīng),相鄰的第三個(gè)等角塊(對(duì)應(yīng)為圖4、4-1、4-2、4-3、4-4、4-5、4-6和4-7中的標(biāo)號(hào)303)的涂色狀態(tài)與二進(jìn)制碼a的左邊第三位相對(duì)應(yīng)。
根據(jù)二進(jìn)制碼a的取值對(duì)矩陣塊中的每一個(gè)單個(gè)矩陣塊中的相同位置的等角塊進(jìn)行涂色,均形成一個(gè)多維碼圖,將所有的多維碼圖組合在一起形成以上所述的一種多維碼。
實(shí)施例10
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例8,識(shí)別設(shè)備掃描根據(jù)以上所述的一種多維碼的編碼方法所形成的以上所述的一種多維碼,識(shí)別設(shè)備根據(jù)二維碼的定位塊4(如圖8所示)對(duì)矩陣塊進(jìn)行定位,然后進(jìn)行單個(gè)矩陣塊的定位和識(shí)別,將每一個(gè)單個(gè)矩陣塊轉(zhuǎn)化成相應(yīng)的二進(jìn)制編碼a,最終將多維碼識(shí)別成一系列的二進(jìn)制碼。
實(shí)施例11
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例8,在實(shí)施例10的基礎(chǔ)上,所述的單個(gè)矩陣塊的定位和識(shí)別過程包括:
識(shí)別設(shè)備將上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,根據(jù)預(yù)先劃定的3份等角塊的位置,每個(gè)等角塊與x軸平行的邊存在線段的部分和每個(gè)等角塊與y軸平行的邊存在線段的部分,二進(jìn)制碼a對(duì)應(yīng)的位數(shù)取值為1,其余位數(shù)取值為0,從而解碼生成單個(gè)矩陣塊的一組二進(jìn)制碼a,重復(fù)以上步驟,對(duì)每一個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,組合生成上述的一種多維碼的一系列二進(jìn)制碼。
實(shí)施例12
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例8,在實(shí)施例10的基礎(chǔ)上,當(dāng)單個(gè)矩陣塊的涂色部分從一個(gè)直角邊開始連續(xù)著色時(shí),或者從另一個(gè)直角邊開始也連續(xù)著色時(shí)(在本實(shí)施例中適用于000、100、110、111、011和001),如圖6所示,是一種角度解碼方法,所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將所上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,然后傳感器檢測到單個(gè)矩陣塊中y軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值c,將角度值c與預(yù)先劃定的3份等角塊的涂色角度值進(jìn)行對(duì)比,以確定涂色角度值包括幾份等角塊(如果d為0,就是沒有任何涂色等角塊;如果d為90°/3,則有一塊涂色等角塊,對(duì)應(yīng)的二進(jìn)制碼為100,如果d為90°/3*2,則有2塊涂色等角塊,對(duì)應(yīng)的二進(jìn)制碼為110),即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從左到右共取幾個(gè)1,傳感器檢測到單個(gè)矩陣塊中x軸為直角邊作為邊長的第一個(gè)等角(標(biāo)號(hào)301)塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值d,將角度值d與預(yù)先劃定的3份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊(如果d為0,就是沒有任何涂色等角塊;如果d為90°/3,則有一塊涂色等角塊,對(duì)應(yīng)的二進(jìn)制碼為001,如果d為90°/3*2,則有2塊涂色等角塊,對(duì)應(yīng)的二進(jìn)制碼為011),即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從右到左共取幾個(gè)1,按照上述方法對(duì)每個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,以確定每個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a,組合(二進(jìn)制碼取或)生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
實(shí)施例13
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例8,在實(shí)施例10的基礎(chǔ)上,另外還可以使用以下所述的一種多維碼的解碼方法,即面積掃描法,包括以下步驟:
步驟一、n=3為奇數(shù),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前2個(gè)等角塊對(duì)應(yīng)的面積s1、s2,并計(jì)算出它們組合相加的數(shù)值(s1+s2),即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼g(涂色時(shí)面積才存在,所以s1、s2和s1+s2依次對(duì)應(yīng)為10、01、11,面積為0時(shí)對(duì)應(yīng)為00),后1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼h(涂色時(shí)面積才存在,所以s3對(duì)應(yīng)為1、0),g和h組合在一起形成二進(jìn)制碼a;如圖7所示;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、n=3為奇數(shù),按照預(yù)先劃定的3份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前2個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟二中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼g,然后按照此法,再確定后1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼h,g和h組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
實(shí)施例14
本實(shí)施例的一種多維碼的解碼方法,適用于實(shí)施例8,在實(shí)施例10的基礎(chǔ)上,其次還可以使用以下所述的一種多維碼的解碼方法,即長度掃描法,包括以下步驟:
步驟一、n=3為奇數(shù),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)任意組合相加的等角塊涂色時(shí)與x軸平行的邊相加的長度,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼k,后1個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼l,k和l組合形成二進(jìn)制碼a;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、n=3為奇數(shù),按照預(yù)先劃定的3份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前2個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前2個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼k,然后按照此法,再確定后1個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼l,k和l組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
實(shí)施例15
本實(shí)施例的一種多維碼,包括二維碼,在承載物上將二維碼的矩陣塊劃分成面積相等的單個(gè)矩陣塊,還增加了第三維度,所述的第三維度,將單個(gè)矩陣塊中的某一直角劃分成8等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成8份等角塊,每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0。
一種多維碼的編碼方法,如圖2所示,根據(jù)以上所述的一種多維碼,預(yù)先生成矩陣塊,矩陣塊生成多個(gè)單個(gè)矩陣塊,輸入一個(gè)8位的二進(jìn)制碼a,二進(jìn)制碼a轉(zhuǎn)化成十進(jìn)制數(shù)字b,b<9,將矩陣塊中的每個(gè)單個(gè)矩陣塊中的某一直角劃分成8等份,沿著該直角所在位置將單個(gè)矩陣塊劃分成8份等角塊(每一份等角塊涂滿色時(shí)對(duì)應(yīng)的二進(jìn)制取值為1,每一份等角塊不涂色時(shí)對(duì)應(yīng)的二進(jìn)制取值為0)。
每個(gè)單個(gè)矩陣塊對(duì)應(yīng)一個(gè)二進(jìn)制碼a,二進(jìn)制碼a的每一位的取值與單個(gè)矩陣塊中每一份等角塊的涂色狀態(tài)相對(duì)應(yīng),二進(jìn)制碼a的左邊第一位與單個(gè)矩陣塊中一個(gè)直角邊作為邊長的第一個(gè)等角塊(對(duì)應(yīng)圖5中的標(biāo)號(hào)101)的涂色狀態(tài)相對(duì)應(yīng),相鄰的第二個(gè)等角塊(對(duì)應(yīng)圖5中的標(biāo)號(hào)102)的涂色狀態(tài)與二進(jìn)制碼a的左邊第二位相對(duì)應(yīng),相鄰的第三個(gè)等角塊(對(duì)應(yīng)圖5中的標(biāo)號(hào)103)的涂色狀態(tài)與二進(jìn)制碼a的左邊第三位相對(duì)應(yīng),依次類推,單個(gè)矩陣塊中另一個(gè)直角邊作為邊長的最后一個(gè)等角塊(對(duì)應(yīng)圖5中的標(biāo)號(hào)108)的涂色狀態(tài)與二進(jìn)制碼a右邊第一位相對(duì)應(yīng)。
對(duì)應(yīng)的二維碼a的可能取值狀態(tài)分別為00000000、00000001、00000010、、、、、、11111111共有2^8種情況,本實(shí)施例中僅列舉了幾種單個(gè)矩陣塊的二進(jìn)制碼取值情況,如圖5、5-1、5-2、5-3、5-4、5-5和5-6分別對(duì)應(yīng)的二進(jìn)制碼a為00000000、10000000、01000000、00100000、00100100、01010101和11111111。
根據(jù)二進(jìn)制碼a的取值對(duì)矩陣塊中的每一個(gè)單個(gè)矩陣塊中的相同位置的等角塊進(jìn)行涂色,均形成一個(gè)多維碼圖,將所有的多維碼圖組合在一起形成以上所述的一種多維碼。
即如圖5所示,對(duì)整個(gè)矩陣塊進(jìn)行處理時(shí),首先對(duì)每一個(gè)單個(gè)矩陣塊中相同等角塊位置的二維碼進(jìn)行確認(rèn),比如假設(shè)整個(gè)矩陣塊中共有10個(gè)單個(gè)矩陣塊,對(duì)應(yīng)共有10個(gè)二進(jìn)制碼a彼此獨(dú)立,根據(jù)二進(jìn)制碼a的第一位,對(duì)應(yīng)為單個(gè)矩陣中的等角塊101,先生成每個(gè)單個(gè)矩陣塊中101位置的涂色狀態(tài)(如果第一個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為0,那么第一個(gè)單個(gè)矩陣塊的等角塊101位置處不涂色;如果第一個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為1,那么第一個(gè)單個(gè)矩陣塊的等角塊101位置處涂滿色,然后對(duì)第二個(gè)單個(gè)矩陣塊進(jìn)行處理,如果第二個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為0,那么第二個(gè)單個(gè)矩陣塊的等角塊101位置處不涂色;如果第二個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為1,那么第二個(gè)單個(gè)矩陣塊的等角塊101位置處涂滿色,依次類推,直到對(duì)第十個(gè)單個(gè)矩陣塊的等角塊101位置處理完成,生成第一個(gè)多維碼圖形),再生成每個(gè)單個(gè)矩陣塊中102位置的涂色狀態(tài)(如果第一個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為0,那么第一個(gè)單個(gè)矩陣塊的等角塊102位置處不涂色;如果第一個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為1,那么第一個(gè)單個(gè)矩陣塊的等角塊102位置處涂滿色,然后對(duì)第二個(gè)單個(gè)矩陣塊進(jìn)行處理,如果第二個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為0,那么第二個(gè)單個(gè)矩陣塊的等角塊102位置處不涂色;如果第二個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二維碼a的左邊第一位為1,那么第二個(gè)單個(gè)矩陣塊的等角塊102位置處涂滿色,依次類推,直到對(duì)第十個(gè)單個(gè)矩陣塊的等角塊101位置處理完成,生成第二個(gè)多維碼圖形),依次類推,直到生成第八個(gè)多維碼圖形,將這八個(gè)多維碼的圖形合成在一起形成多維碼圖形。
一種多維碼的解碼方法,識(shí)別設(shè)備掃描根據(jù)以上所述的一種多維碼的編碼方法所形成的以上所述的一種多維碼,識(shí)別設(shè)備根據(jù)二維碼的定位塊4(如圖8所示)對(duì)矩陣塊進(jìn)行定位,然后進(jìn)行單個(gè)矩陣塊的定位和識(shí)別,將每一個(gè)單個(gè)矩陣塊轉(zhuǎn)化成相應(yīng)的二進(jìn)制編碼a,最終將多維碼識(shí)別成一系列的二進(jìn)制碼。
所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,根據(jù)預(yù)先劃定的8份等角塊的位置,每個(gè)等角塊與x軸平行的邊存在線段的部分和每個(gè)等角塊與y軸平行的邊存在線段的部分(在實(shí)際生成多維碼的過程中并不存在圖5、5-1、5-2、5-3、5-4和5-5中的線條,該處的線條僅用于區(qū)分各個(gè)等角塊而設(shè)置,在實(shí)際當(dāng)中僅有涂色的等角塊存在,而不存在其他線條。),二進(jìn)制碼a對(duì)應(yīng)的位數(shù)取值為1,其余位數(shù)取值為0,從而解碼生成單個(gè)矩陣塊的一組二進(jìn)制碼a,比如圖5-2中,等角塊102與x軸平行的邊存在線段部分,而等角塊102與二進(jìn)制碼a左邊第二位取值對(duì)應(yīng),所以二進(jìn)制碼a為01000000;比如圖5-5中,等角塊102和等角塊104與x軸平行的邊存在線段部分,等角塊106和等角塊108與y軸平行的邊存在線段部分,而等角塊102、等角塊104、等角塊106和等角塊108分別對(duì)應(yīng)與二進(jìn)制碼a左邊第二位、第四位、第六位和右邊第一位取值對(duì)應(yīng),所以二進(jìn)制碼a為01010101。重復(fù)以上步驟,對(duì)矩陣塊中每一個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,組合生成上述的一種多維碼的一系列二進(jìn)制碼。
當(dāng)單個(gè)矩陣塊的涂色部分從一個(gè)直角邊開始連續(xù)著色時(shí),或者從另一個(gè)直角邊開始也連續(xù)著色時(shí)(即等角塊101涂色,等角塊101和102同時(shí)涂色,等角塊101、102和103同時(shí)涂色、、、對(duì)應(yīng)的二進(jìn)制碼a的取值分別為10000000,11000000,11100000、、、或者等角塊108涂色,等角塊108和107同時(shí)涂色,等角塊108、107和106同時(shí)涂色、、、對(duì)應(yīng)的二進(jìn)制碼a的取值分別為00000001,00000011,00000111、、、),如圖6所示,是一種角度解碼方法,所述的單個(gè)矩陣塊的定位和識(shí)別過程如下:識(shí)別設(shè)備將所上述中的直角邊作為y軸,將另一個(gè)直角邊作為x軸,為識(shí)別設(shè)備掃描到的上述的一種多維碼的單個(gè)矩陣塊作定位,然后傳感器檢測到單個(gè)矩陣塊中y軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值c,將角度值c與預(yù)先劃定的8份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從左到右共取幾個(gè)1(當(dāng)角度值c為0時(shí),二進(jìn)制碼a從左到右共取0個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為00000000;當(dāng)角度值c為90°/8時(shí),二進(jìn)制碼a從左到右共取1個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為10000000;當(dāng)角度值c為90°/8*2時(shí),二進(jìn)制碼a從左到右共取2個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為11000000、、、當(dāng)角度值c為90°時(shí),二進(jìn)制碼a從左到右共取8個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為11111111),傳感器檢測到單個(gè)矩陣塊中x軸為直角邊作為邊長的第一個(gè)等角塊處于涂色狀態(tài)時(shí),角度傳感器測量該涂色部分的角度值d,將角度值d與預(yù)先劃定的8份等角塊的角度值進(jìn)行對(duì)比,以確定角度值包括幾份等角塊,即可得到單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a從右到左共取幾個(gè)1(當(dāng)角度值d為0時(shí),二進(jìn)制碼a從左到右共取0個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為00000000;當(dāng)角度值d為90°/8時(shí),二進(jìn)制碼a從左到右共取1個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為00000001;當(dāng)角度值d為90°/8*2時(shí),二進(jìn)制碼a從左到右共取2個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為00000011、、、當(dāng)角度值d為90°時(shí),二進(jìn)制碼a從左到右共取8個(gè)1,對(duì)應(yīng)的二進(jìn)制碼a為11111111),按照上述方法對(duì)每個(gè)單個(gè)矩陣塊進(jìn)行掃描解碼,以確定每個(gè)單個(gè)矩陣塊對(duì)應(yīng)的二進(jìn)制碼a(兩個(gè)二進(jìn)制碼取或得到),組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
另外還可以使用以下所述的一種多維碼的解碼方法,即面積掃描法,包括以下步驟:
步驟一、n=8為偶數(shù),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前4個(gè)等角塊對(duì)應(yīng)的面積s1、s2、s3和s4,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值(s1+s2、s1+s3、s1+s4、s2+s3、s3+s4、s2+s4、s1+s2+s3、s1+s2+s3+s4、s1+s2+s4、s4+s2+s3和s1+s4+s3),即對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼e(s1+s2對(duì)應(yīng)二進(jìn)制碼11000000,s1+s3對(duì)應(yīng)二進(jìn)制碼10100000,s1+s4對(duì)應(yīng)二進(jìn)制碼10010000,s2+s3對(duì)應(yīng)二進(jìn)制碼01100000,s3+s4對(duì)應(yīng)二進(jìn)制碼00110000,s2+s4對(duì)應(yīng)二進(jìn)制碼01010000,s1+s2+s3對(duì)應(yīng)二進(jìn)制碼11100000,s1+s2+s3+s4對(duì)應(yīng)二進(jìn)制碼11110000,s1+s2+s4對(duì)應(yīng)二進(jìn)制碼11010000,s2+s3+s4對(duì)應(yīng)二進(jìn)制碼01110000,和s1+s3+s4對(duì)應(yīng)二進(jìn)制碼10110000),后4個(gè)等角塊(等角塊105的面積為s5、等角塊106的面積為s6、等角塊107的面積為s7和等角塊108的面積為s8,其中s5與s4相等,s6與s3相等,s7與s2相等,s8與s1相等)的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼f(s7+s8對(duì)應(yīng)二進(jìn)制碼00000011,s8+s6對(duì)應(yīng)二進(jìn)制碼00000101,s8+s6對(duì)應(yīng)二進(jìn)制碼00001001,s7+s6對(duì)應(yīng)二進(jìn)制碼00000110,s6+s5對(duì)應(yīng)二進(jìn)制碼00001100,s6+s8對(duì)應(yīng)二進(jìn)制碼00000101,s8+s6+s7對(duì)應(yīng)二進(jìn)制碼00000111,s5+s6+s7+s8對(duì)應(yīng)二進(jìn)制碼00001111,s8+s7+s5對(duì)應(yīng)二進(jìn)制碼00001011,s6+s7+s8對(duì)應(yīng)二進(jìn)制碼00000111,和s8+s7+s5對(duì)應(yīng)二進(jìn)制碼00001011),e和f組合(取或)形成二進(jìn)制碼a;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、n=8為偶數(shù),按照預(yù)先劃定的8份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前4個(gè)等角塊對(duì)應(yīng)的涂色面積值s,將該涂色面積值s與步驟一中的單個(gè)等角塊的面積值和對(duì)應(yīng)不同等角塊涂色時(shí)任意組合相加的面積值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼e,然后按照此法,再確定后4個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼f,e和f組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
其次還可以使用以下所述的一種多維碼的解碼方法,即長度掃描法,包括以下步驟:
步驟一、n=8為偶數(shù),計(jì)算出從單個(gè)矩陣的y軸出發(fā)前4個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度,并計(jì)算出它們?nèi)我饨M合相加的數(shù)值,即對(duì)應(yīng)一個(gè)唯一的二進(jìn)制碼i,后4個(gè)等角塊的二維碼與之相反,對(duì)應(yīng)為二進(jìn)制碼j,i和j組合形成二進(jìn)制碼a;
步驟二、將步驟一的數(shù)據(jù)全部儲(chǔ)存在識(shí)別設(shè)備所關(guān)聯(lián)的服務(wù)器上;
步驟三、n=8為偶數(shù),按照預(yù)先劃定的8份等角塊,識(shí)別設(shè)備的傳感器檢測到單個(gè)矩陣塊中,前4個(gè)等角塊對(duì)應(yīng)的涂色部分中與x軸平行的邊的長度和,將該長度和與前4個(gè)等角塊對(duì)應(yīng)的與x軸平行的邊的長度以及它們?nèi)我饨M合相加的數(shù)值進(jìn)行一一對(duì)比,確定與之相對(duì)應(yīng)的二進(jìn)制碼i,然后按照此法,再確定后4個(gè)等角塊相對(duì)應(yīng)的二進(jìn)制碼j,i和j組合構(gòu)成單個(gè)二制碼a,再計(jì)算出矩陣塊內(nèi)所有等角塊的二制碼,組合生成上述的一種多維碼對(duì)應(yīng)的一系列二進(jìn)制碼。
以上示意性的對(duì)本發(fā)明及其實(shí)施方式進(jìn)行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明的實(shí)施方式之一,實(shí)際的結(jié)構(gòu)并不局限于此。所以,如果本領(lǐng)域的普通技術(shù)人員受其啟示,在不脫離本發(fā)明創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設(shè)計(jì)出與該技術(shù)方案相似的結(jié)構(gòu)方式及實(shí)施例,均應(yīng)屬于本發(fā)明的保護(hù)范圍。