專利名稱:二維代碼,以及用于檢測(cè)二維代碼的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及二維代碼的配置,并涉及用于從圖像檢測(cè)二維代碼的方法和設(shè)備。
背景技術(shù):
圖18示出了叫做MaxiCode的已知的二維代碼。在此二維代碼中,在位于二維代碼的中心部分的具有不同半徑的同心環(huán)狀的黑白區(qū)域的周圍有規(guī)律地排列著微小的正六邊形單元。每一個(gè)正六邊形單元都被涂成黑色或白色,從而代表了二進(jìn)制信息。通過(guò)使用照相機(jī)等等捕獲代碼的圖像,讀出代碼的內(nèi)容。在下文中將把這種類型的二維代碼稱為“二維代碼1”。
圖19和20所示的二維代碼也是已知的。這些二維代碼中的每一個(gè)都具有可以根據(jù)亮度從背景區(qū)別開來(lái)的正方形外部區(qū)域,以及通過(guò)將代碼的內(nèi)部區(qū)域劃分為大小相等的區(qū)域而形成的小的正方形單元。信息通過(guò)小的正方形單元的亮度/暗度來(lái)表達(dá)。通常,這樣的二維代碼的圖像是通過(guò)照相機(jī)來(lái)捕獲的,并且從捕獲到的圖像識(shí)別和檢測(cè)代碼的周界(輪廓)或外部形狀。根據(jù)檢測(cè)到的周界(輪廓)內(nèi)分配的每一個(gè)小的正方形單元的亮度,讀出由代碼代表的信息。在下文中,將把這種類型的二維代碼稱為“二維代碼2”。
一般而言,“二維代碼1”和“二維代碼2”要被附加到產(chǎn)品等中,并且用于管理諸如制造信息和運(yùn)輸信息之類的信息,其中制造信息包括產(chǎn)品號(hào)碼、產(chǎn)品ID以及制造日期,運(yùn)輸信息包括產(chǎn)地、目的地以及運(yùn)輸日期/時(shí)間。讀取這樣的二維代碼是根據(jù)這樣的前提執(zhí)行的代碼的圖像是由照相機(jī)大致從代碼的正面的位置(即,照相機(jī)的光軸大致正好垂直于代碼的位置)捕獲的,并且捕獲的代碼圖像充分大。
在混合現(xiàn)實(shí)(MR)的領(lǐng)域中(其中虛擬對(duì)象被重疊在真實(shí)空間上以便顯示在真實(shí)空間中),執(zhí)行下列處理以呈現(xiàn)虛擬圖像。估計(jì)真實(shí)的照相機(jī)相對(duì)于位于真實(shí)空間中的正方形標(biāo)記的位置和取向。根據(jù)真實(shí)的照相機(jī)的估計(jì)位置和取向,設(shè)置虛擬照相機(jī)的參數(shù)。然后,根據(jù)設(shè)置的參數(shù),呈現(xiàn)虛擬圖像。
這樣的MR應(yīng)用中使用的技術(shù)的一個(gè)示例是ARToolkit,這在X.Zhang,S Fronz,N.Navab″Visualmarker detection and decodingin AR systemsA comparative study,″Proc.of InternationalSymposium on Mixed and Augmented Reality{ISMAR′02),2002(以下簡(jiǎn)稱為“Zhang等人的著作”)中進(jìn)行了描述。在ARToolkit中,使用了具有正方形周界(輪廓)或外部形狀的標(biāo)記。從所捕獲的圖像檢測(cè)標(biāo)記周界(輪廓)的四邊形形狀。然后,根據(jù)檢測(cè)到的四邊形形狀與原始正方形形狀相比如何變形(即,檢測(cè)到的四邊形由于透視投影的效果而變形),估計(jì)照相機(jī)的位置和取向。此外,為了將一個(gè)標(biāo)記與多個(gè)標(biāo)記區(qū)別開來(lái),用不同的圖案施加于各個(gè)標(biāo)記的內(nèi)部。通過(guò)對(duì)從所捕獲的圖像獲得的四邊形的內(nèi)部的圖案執(zhí)行稱為“圖案匹配”的處理,來(lái)區(qū)別每一個(gè)標(biāo)記。在下文中,將把這種類型的二維代碼稱為“二維代碼3”。
圖22示出了MR應(yīng)用中使用的標(biāo)記的另一個(gè)示例,這是“Zhang等人的著作”中所描述的。此標(biāo)記與“二維代碼3”的不同之處在于,標(biāo)記的內(nèi)部被分成4×4網(wǎng)格圖案。此外,根據(jù)其中心位于一個(gè)劃分的網(wǎng)格單元的中心的每一個(gè)圓形的區(qū)域是否為黑色,實(shí)現(xiàn)區(qū)別每一個(gè)標(biāo)記的功能。然而,此標(biāo)記與“二維代碼3”的相同之處在于,根據(jù)原始正方形輪廓,估計(jì)照相機(jī)的位置和取向。在下文中,將把這種類型的二維代碼稱為“二維代碼4”。
在MR領(lǐng)域提出了具有正方形輪廓的其他類型的標(biāo)記。例如,如圖23所示的標(biāo)記具有多個(gè)小的正方形單元,位于其正方形輪廓的外面。這些小的正方形單元被用來(lái)標(biāo)識(shí)正方形輪廓在所捕獲的圖像內(nèi)的旋轉(zhuǎn)方向。標(biāo)記的內(nèi)部被分成4×4個(gè)正方形單元。用于區(qū)別標(biāo)記的信息由每一個(gè)小的正方形單元的亮度來(lái)代表。在下文中,將把這種類型的二維代碼稱為“二維代碼5”。
上文所描述的MR應(yīng)用的“二維代碼3”、“二維代碼4”和“二維代碼5”所共有的一個(gè)特征是,它們都具有正方形輪廓。
“相關(guān)技術(shù)1”中所描述的“二維代碼1”具有位于代碼的中心的同心圓,這些同心圓被小的正六邊形單元圍繞起來(lái)。這些正六邊形單元彼此聯(lián)鎖(interlock)起來(lái),每一個(gè)單元都被涂色成黑色或者白色。這些黑色和白色單元代表了二進(jìn)制數(shù)據(jù)。使用從最里邊的同心圓以60度的間隔輻射出的線作為參考,標(biāo)識(shí)六邊形單元的位置。換句話說(shuō),只有在從代碼(索引)的大致正面的位置捕獲“二維代碼1”的圖像的情況下(即,使用其光軸沿大致著索引(index)所附著的平面的法線方向的照相機(jī)捕獲圖像時(shí)),才可以檢測(cè)到索引。這對(duì)“二維代碼2”也成立。執(zhí)行上文所描述的相關(guān)技術(shù)1的二維代碼的圖像的捕獲的前提是,索引圖像從照相機(jī)的光軸大致正好垂直于索引平面的位置捕獲,而不是從照相機(jī)的光軸不正好垂直于索引平面的任意位置捕獲圖像。
上文所描述的“二維代碼3”、“二維代碼4”和“二維代碼5”中的每一個(gè)都具有正方形輪廓的外部區(qū)域。此區(qū)域的亮度低于背景的亮度。在相關(guān)技術(shù)2的技術(shù)中,執(zhí)行估算,以便根據(jù)二維代碼的輪廓的變形來(lái)確定照相機(jī)相對(duì)于二維代碼的位置和取向。變形是由于三維特征投影到二維平面中而發(fā)生的。即,執(zhí)行相關(guān)技術(shù)2的索引的圖像捕獲的前提不是它們的圖像從正好垂直于索引平面的方向捕獲。相反地,執(zhí)行這些索引的圖像捕獲的前提是,圖像從可能偏離索引平面的法線方向的方向捕獲。
對(duì)于“二維代碼3”,為了區(qū)別各個(gè)索引,通過(guò)圖案匹配技術(shù),識(shí)別正方形輪廓內(nèi)部的任意圖案。預(yù)先獨(dú)立地存儲(chǔ)了索引內(nèi)部的圖案,供進(jìn)行圖案匹配時(shí)使用。然后,在通過(guò)從所捕獲的圖像中剪輯索引的內(nèi)部區(qū)域所獲得的圖像被規(guī)范化之后,將規(guī)范化的圖像和存儲(chǔ)的圖案進(jìn)行比較,以便根據(jù)規(guī)范化的圖像是否相似于存儲(chǔ)的圖案來(lái)識(shí)別索引。然而,此技術(shù)有一個(gè)缺點(diǎn)隨著要使用的圖案的數(shù)量或要被同時(shí)捕獲圖像的索引的數(shù)量增大,要進(jìn)行圖案匹配的對(duì)的數(shù)量也增大。這可能會(huì)導(dǎo)致進(jìn)行計(jì)算所需要的時(shí)間顯著地增加。此外,圖案的數(shù)量的增加產(chǎn)生相似的圖案,會(huì)導(dǎo)致可能發(fā)生的對(duì)圖案的錯(cuò)誤識(shí)別。如此,實(shí)際可以同時(shí)使用不超過(guò)大約幾十個(gè)圖案。
另一方面,在“二維代碼4”和“二維代碼5”中,內(nèi)部區(qū)域被相等地分成小的正方形單元,由每一個(gè)單元的亮度(黑色或白色)來(lái)代表比特值。如此,“二維代碼4”和“二維代碼5”沒(méi)有上文所描述的與“二維代碼3”關(guān)聯(lián)的缺點(diǎn)。然而,如下面所描述的,“二維代碼4”和“二維代碼5”仍有改進(jìn)的余地。
為了使二維代碼包含盡可能多的信息,必須增大比特單元的數(shù)量。然而,由于必須從所捕獲的圖像中識(shí)別各個(gè)比特單元,因此,在縮小每一個(gè)比特單元的大小方面存在限制。換句話說(shuō),二維代碼的可識(shí)別性取決于投射到圖像上/或圖像上捕獲的比特單元的大小。一般而言,對(duì)于MR應(yīng)用,較小的二維代碼是合乎需要的。然而,當(dāng)要記錄在二維代碼中的信息量增大時(shí),二維代碼的大小必須在物理上增大,以便它在所捕獲的圖像中看起來(lái)充分大。即,二維代碼的大小和其中包含的信息量處于折衷的關(guān)系。如此,為了縮小二維代碼的大小并且還要盡可能多地記錄信息,需要在代碼的內(nèi)部區(qū)域高密度地排列比特單元。
“二維代碼4”具有排列在正方形網(wǎng)格中的圓形的內(nèi)部比特單元。利用這種類型的二維代碼,當(dāng)縮小每一個(gè)圓形比特單元的大小時(shí),圓形單元之間的間隔的大小變得重要。例如,當(dāng)被涂成黑色的圓形比特單元的大小被縮小到所捕獲的圖像中的像素的寬度的大小時(shí),單元看起來(lái)是與單元周圍的白色空間混合,從而產(chǎn)生了中性亮度的區(qū)域。這會(huì)導(dǎo)致在讀出比特時(shí)錯(cuò)誤的數(shù)量增加。即,希望內(nèi)部單元的排列彼此靠近,它們之間沒(méi)有間隔。
在“二維代碼5”中,內(nèi)部區(qū)域被相等地分成彼此相鄰的正方形比特單元。如此,這種類型的二維代碼沒(méi)有與“二維代碼4”關(guān)聯(lián)的上述問(wèn)題。此外,即使在標(biāo)記所在的圖像從不正好垂直于標(biāo)記平面的方向被捕獲的情況下,也可以檢測(cè)到該標(biāo)記。如此,將從哪個(gè)方向捕獲小的內(nèi)部正方形單元的圖像是不明確的。即,這些單元的何種類型的四邊形形狀將出現(xiàn)在投影的圖像中是不明確的。在“二維代碼5”中,根據(jù)所捕獲的圖像中的各個(gè)正方形單元的亮度,執(zhí)行將代碼轉(zhuǎn)換為基于比特的表示法的處理。如此,當(dāng)讀取亮度時(shí),將讀出每一個(gè)正方形單元的中心點(diǎn)(亮度參考點(diǎn))的亮度。為了準(zhǔn)確地讀取亮度,必須捕獲代碼的圖像,以便在所捕獲的圖像中的正方形單元的亮度參考點(diǎn)之間有足夠的恒定的距離。換句話說(shuō),當(dāng)原始索引中的單元的圖像被投影到圖像平面中時(shí),越是接近于圓形形狀(其中心位于亮度參考點(diǎn)中),投影圖像中的每一個(gè)單元都出現(xiàn)在圖像平面中,那么,原始索引中的單元的大小的減小程度就越大。通過(guò)減小單元的大小,會(huì)增大為整個(gè)索引區(qū)分配的比特的數(shù)量,每一個(gè)單元都代表了一個(gè)比特值。相比之下,當(dāng)單元的形狀是正方形時(shí)(表明每一個(gè)單元看上去是四邊形,且各角位于圖像平面中),這些單元可能不會(huì)被有效地高密度地排列起來(lái)。
另一方面,在“二維代碼4”中,單個(gè)比特單元是圓形的。然而,在單元之間有不需要的間隔,如此,這些單元可能不會(huì)被高密度地排列起來(lái)。
發(fā)明內(nèi)容
本發(fā)明是在考慮到上述情況的背景下作出的。從上文可以看出,在“二維代碼4”和“二維代碼3”在比特單元的排列的密度方面有改進(jìn)的余地。
根據(jù)本發(fā)明的一個(gè)方面的二維代碼,其包括可以根據(jù)亮度或顏色從背景區(qū)別開來(lái)的多邊形外部區(qū)域,以及位于與外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域。內(nèi)部區(qū)域被分成預(yù)定大小的單元,以便通過(guò)每一個(gè)單元的亮度或顏色來(lái)代表信息。單元被放置得彼此毗鄰,每一個(gè)單元都具有六邊形的形狀。
根據(jù)本發(fā)明的一個(gè)方面的檢測(cè)二維代碼的方法包括下列步驟從背景中檢測(cè)在圖像上投影的二維代碼的多邊形外部區(qū)域,根據(jù)圖像中的多邊形外部區(qū)域的形狀判斷內(nèi)部比特單元的位置,以及根據(jù)比特單元的亮度或顏色獲取比特值。二維代碼包括可以根據(jù)亮度或顏色從背景區(qū)別開來(lái)的多邊形外部區(qū)域,以及位于與六邊形外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域,內(nèi)部區(qū)域具有多個(gè)六邊形比特單元,比特單元被放置得彼此毗鄰。
通過(guò)下面的參考附圖進(jìn)行的詳細(xì)描述,本發(fā)明的其他特征和優(yōu)點(diǎn)將變得顯而易見(jiàn),其中,相同的附圖標(biāo)記在整個(gè)圖中表示相同或類似的部分。
本說(shuō)明書收入的并構(gòu)成本說(shuō)明書的一部分的
了本發(fā)明的實(shí)施例,并且與說(shuō)明書一起用于說(shuō)明本發(fā)明的原理。
圖1A到1C說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼的配置。
圖2A到2C說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的另一個(gè)二維代碼的配置。
圖3是說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼檢測(cè)器的方框圖。
圖4是說(shuō)明了由根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼檢測(cè)器所執(zhí)行的處理過(guò)程的流程圖。
圖5A到5E是說(shuō)明了用于檢測(cè)二維代碼的正方形輪廓的方法的示意圖。
圖6是示出了二維代碼的原始六邊形輪廓和在投影的圖像上獲得的二維代碼的輪廓,并說(shuō)明了原始輪廓和投影輪廓之間的投影變換的示意圖。
圖7是說(shuō)明了根據(jù)檢測(cè)到的六邊形輪廓計(jì)算內(nèi)部比特單元的中心位置的方案的示意圖。
圖8是說(shuō)明了二維代碼的投影圖像中的特定比特單元的中心點(diǎn)和鄰近像素之間的關(guān)系的示意圖。
圖9A到9D是說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼的比特單元和根據(jù)已知技術(shù)的二維代碼的比特單元之間的比較的示意圖。
圖10A到10D說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼的配置。
圖11是說(shuō)明了由根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼檢測(cè)器所執(zhí)行的處理過(guò)程的流程圖。
圖12A到12E是說(shuō)明了用于檢測(cè)二維代碼的正方形輪廓的方法的示意圖。
圖13是示出了二維代碼的原始正方形輪廓和在投影圖像上獲得的二維代碼的輪廓,并說(shuō)明了原始輪廓和投影輪廓之間的投影變換的示意圖。
圖14A到14D是說(shuō)明了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼的比特單元和根據(jù)已知技術(shù)的二維代碼的比特單元之間的比較的示意圖。
圖15說(shuō)明了兩種情況下的二維代碼,其中一種情況在白色外部區(qū)域上提供了比特單元,另一種情況在黑色外部區(qū)域上提供了比特單元。
圖16說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖17說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖18說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖19說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖20說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖21說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖22說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
圖23說(shuō)明了基于六邊形輪廓的索引的示例,這是一種根據(jù)已知技術(shù)的二維代碼類型。
具體實(shí)施例方式
現(xiàn)在將根據(jù)附圖詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。
請(qǐng)參看圖1A到1C,它們示出了根據(jù)本發(fā)明的示范性實(shí)施例的二維代碼。圖1A示出了二維代碼102,它具有白色的正六邊形外部區(qū)域,并在黑色背景101上形成。在二維代碼102的內(nèi)部,在與二維代碼102的正六邊形周界(輪廓)具有預(yù)定距離處,提供了一個(gè)區(qū)域。此內(nèi)部區(qū)域被分成正六邊形單元,每一個(gè)單元都被涂成黑色或者白色。圖1B中示出了每一個(gè)單元和外周界(輪廓)之間的關(guān)系。在此示例中,六邊形單元被排列成相對(duì)于六邊形周界(輪廓)的對(duì)角線傾斜30度。每一個(gè)六邊形單元和外周界(輪廓)之間的間隔的長(zhǎng)度被設(shè)置為在對(duì)角線方向等分六邊形單元的線的長(zhǎng)度的一半。圖1C示出了此排列。如該圖所示,由虛線表示的三角網(wǎng)作為額外的線覆蓋在圖1B中的二維代碼上。此三角網(wǎng)由平行線的組每隔一定間隔構(gòu)成,每120度角布置一組平行線。
如此,在圖1A到1C中所示出的二維代碼102中,六邊形單元是這樣排列的,以便在對(duì)角線方向連接六邊形的外周界(輪廓)的頂點(diǎn)的線和正六邊形單元的任何對(duì)邊成直角地交叉。
下面,將描述用于讀取二維代碼的二維代碼檢測(cè)器的優(yōu)選配置的示例。圖3是示出了用于檢測(cè)圖1中所示的這樣的二維代碼的二維代碼檢測(cè)器的配置的方框圖。
二維代碼檢測(cè)器包括用于捕獲圖1中的二維代碼的圖像的照相機(jī)301。所捕獲的圖像被根據(jù)總線控制器304的仲裁通過(guò)圖像加載單元302寫入到存儲(chǔ)器305中。存儲(chǔ)器305中記錄了用于執(zhí)行根據(jù)本發(fā)明的示范性實(shí)施例的處理過(guò)程的程序。CPU(中央處理單元)303根據(jù)該過(guò)程執(zhí)行處理。總線控制器304對(duì)于CPU 303、圖像加載單元302以及存儲(chǔ)器305之間的數(shù)據(jù)的輸入/輸出執(zhí)行仲裁。
請(qǐng)參看圖4,流程圖示出了圖3中所示的二維代碼檢測(cè)器的處理過(guò)程。
在步驟S401中,由照相機(jī)301捕獲二維代碼的圖像,并且通過(guò)圖像加載單元302獲取所捕獲的圖像。在步驟S402中,檢測(cè)作為在圖像上投影的二維代碼(索引)的外周界(輪廓)的六邊形形狀。由照相機(jī)301執(zhí)行此圖像捕獲過(guò)程時(shí),不一定要讓照相機(jī)的取向使得照相機(jī)的光軸正好垂直于索引平面。相反地,當(dāng)在MR應(yīng)用中使用時(shí),可以從各種方向捕獲索引圖像。在此情況下,圖像平面的垂直和水平軸以及索引的六邊形周界(輪廓)的各邊不一定排成一線。
下面將參考圖5A到5E描述用于檢測(cè)外周界(輪廓)的步驟S402的處理。圖5A示出了從正好垂直于索引的平面的方向查看的索引。在此圖中沒(méi)有示出內(nèi)部單元,在對(duì)步驟S402的處理的此處描述中忽略這些單元。例如,可以由照相機(jī)捕獲圖5B所示出的圖像。甚至在索引具有正六邊形形狀的情況下,所捕獲的圖像中的索引也可以看起來(lái)像凸起的六邊形,除非索引是從照相機(jī)的光軸垂直于索引平面的位置捕獲的。此外,圖像中的索引也可以取向?yàn)槿魏畏较?。此外,所捕獲的圖像中的黑色區(qū)域和白色區(qū)域用于代表亮度的級(jí)別,黑色區(qū)域和白色區(qū)域之間的邊界區(qū)域代表中間亮度級(jí)別。圖5C示出了通過(guò)二進(jìn)制化圖5B所示的圖像而獲得的二進(jìn)制圖像。此圖像二進(jìn)制化可以通過(guò)簡(jiǎn)單的閾值處理來(lái)實(shí)現(xiàn)。然而,可以應(yīng)用任何二進(jìn)制化方案來(lái)獲得這樣的圖像。從此二進(jìn)制圖像,通過(guò)像素跟蹤技術(shù),檢測(cè)形成白色區(qū)域的周界(輪廓)的像素,以便獲得形成了具有圖5D所示出的一個(gè)像素的寬度的閉環(huán)的像素排列。當(dāng)對(duì)此像素排列(alignment)執(zhí)行虛線近似法時(shí),獲得了圖5E所示的六邊形。此時(shí),在索引的原來(lái)的形狀不是六邊形的情況下,可以通過(guò)虛線近似法發(fā)現(xiàn),斷點(diǎn)的數(shù)量不是六個(gè)。如此,可以判斷原來(lái)的形狀是否是六邊形。
在步驟S402的處理的上述描述中,忽略了索引的內(nèi)部區(qū)域中的比特單元。然而,由于在內(nèi)部比特單元和六邊形周界(輪廓)之間提供了空間,因此,內(nèi)部單元不影響步驟S402的處理,只要索引在圖像平面中占據(jù)了比預(yù)定面積更大的面積(即,如此捕獲圖像,以便空間的寬度大于所捕獲的圖像中的一個(gè)像素的寬度)。
然后,在步驟S403中,根據(jù)檢測(cè)到的六邊形輪廓計(jì)算各個(gè)內(nèi)部比特單元的中心位置。下面將參考圖6描述此計(jì)算。如該圖所示,作為索引的原始輪廓的正六邊形的頂點(diǎn)被排序?yàn)?Xn,Yn)(n=0,1,...,5),而在圖像中檢測(cè)到的六邊形輪廓的頂點(diǎn)被排序?yàn)?xn,yn)。這些六邊形通過(guò)二維投影變換相關(guān)聯(lián),該二維投影變換通過(guò)下面的公式來(lái)表達(dá)。
xn=H11Xn+H12Yn+H13H31Xn+H32Yn+1,]]>yn=H21Xn+H22Yn+H23H31Xn+H32Yn+1---(1)]]>此關(guān)系表達(dá)式可以通過(guò)如下所示的矩陣運(yùn)算而寫成齊次坐標(biāo)變換公式。
wxnwynw=H11H12H13H21H22H23H31H321XnYn1---(2)]]>在此情況下,矩陣H11H12H13H21H22H23H31H321---(3)]]>稱為“單應(yīng)性矩陣”。頂點(diǎn)(Xn,Yn)和(xn,yn)具有六個(gè)對(duì)應(yīng)的點(diǎn)??梢詫?dǎo)出公式(1)和關(guān)聯(lián)的公式(2)的六個(gè)關(guān)系表達(dá)式。換句話說(shuō),通過(guò)對(duì)聯(lián)立方程進(jìn)行求解,可以從六個(gè)對(duì)應(yīng)的點(diǎn)之間的關(guān)系導(dǎo)出上述單應(yīng)性矩陣(3)或公式(1)中的八個(gè)參數(shù)H11、H12、H13、H21、H22、H23、H31和H32。由于未知數(shù)的數(shù)量是八個(gè),因此,為了唯一地確定八個(gè)未知數(shù),需要四個(gè)對(duì)應(yīng)的點(diǎn)。如此,從六個(gè)對(duì)應(yīng)的點(diǎn)計(jì)算八個(gè)參數(shù)導(dǎo)致聯(lián)立方程中存在冗余,希望使用最小二乘方法等等來(lái)計(jì)算參數(shù)。
一旦獲得了公式(1)或(2)中所示的關(guān)系表達(dá)式,空間(X,Y)中的任何點(diǎn)都可以映射到空間(x,y)。即,該公式允許計(jì)算索引中的任意比特單元的中心點(diǎn)出現(xiàn)在投影圖像上的位置。例如,參看圖7,可以獲得中心點(diǎn)701在投影圖像中的坐標(biāo)。利用上文所描述的配置,可以在步驟S403的處理中計(jì)算內(nèi)部比特單元的中心點(diǎn)出現(xiàn)在投影圖像平面中的位置。
隨后,在步驟S404中,獲取所獲得的各個(gè)比特單元在圖像平面中的中心位置的亮度值。由于在步驟S403的處理中計(jì)算出的中心位置是基于與六邊形輪廓的圖像捕獲關(guān)聯(lián)的投影變換的,因此,亮度值將不一定是整數(shù)值。即,要獲取的亮度值不直接代表對(duì)應(yīng)的像素。如此,亮度值可以被設(shè)置為最近的相鄰像素的值或基于最近的四個(gè)像素的值通過(guò)諸如線性內(nèi)插之類的內(nèi)插方案來(lái)進(jìn)行計(jì)算。使用圖8對(duì)此進(jìn)行了描述。假設(shè)在步驟S403中獲取的比特單元在圖像平面中的中心位置位于該圖所示的點(diǎn)801處。點(diǎn)801的坐標(biāo)值不是整數(shù)值,表明點(diǎn)801不對(duì)應(yīng)于圖像中的像素的中心。在步驟S404的處理中,獲取此點(diǎn)801的亮度。在此示例中,使用上文所提及的最近的相鄰像素的值進(jìn)行的亮度計(jì)算意味著,距離點(diǎn)801最近的像素802的值被用作點(diǎn)801的亮度值。使用上文所提及的線性內(nèi)插方案進(jìn)行的亮度計(jì)算意味著,從最近的四個(gè)像素,即像素802、803、804和805的值內(nèi)插亮度值。
然后,在步驟S405中,所獲得的亮度值被轉(zhuǎn)換為比特值。最簡(jiǎn)單的比特轉(zhuǎn)換方案是閾值處理,其中,通過(guò)亮度值和預(yù)定閾值之間的比較,亮度值被確定為0或1??梢允褂貌襟ES402的二進(jìn)制化處理中使用的值作為預(yù)定的閾值。然而,也可以使用任何其他方案來(lái)確定閾值。此外,步驟S405的處理可以并入到在步驟S406中對(duì)所有比特單元執(zhí)行了比特轉(zhuǎn)換過(guò)程之后執(zhí)行的處理中,而不是在步驟S404和步驟S406的處理之間執(zhí)行。在此情況下,也可能在步驟S403和步驟S404中的每個(gè)處理中獲取每一個(gè)比特單元的亮度值,然后,根據(jù)亮度值的分布,將所獲得的亮度值轉(zhuǎn)換為比特值。
在上文中,描述了根據(jù)此示范性實(shí)施例的從二維代碼中讀取比特值的處理,該二維代碼呈現(xiàn)正六邊形的形狀,其具有內(nèi)部被分成聯(lián)鎖的正六邊形單元的區(qū)域。由于正六邊形具有旋轉(zhuǎn)對(duì)稱性,因此,前面的處理過(guò)程沒(méi)有提供例如關(guān)于投影圖像中的哪個(gè)方向?qū)?yīng)于索引的頂部的信息。鑒于此,可以使用這樣的方案事先向多個(gè)預(yù)定單元中的每一個(gè)分配一種顏色(黑色或白色),以便可以確定索引的旋轉(zhuǎn)方向。作為替換,可以將另一個(gè)單元置于六邊形輪廓的外部,以便可以確定旋轉(zhuǎn)方向,與“二維代碼5”的情況相同。
在上文中,描述了從二維代碼中讀取比特值的方法,該二維代碼具有正六邊形輪廓,并在六邊形輪廓的內(nèi)部具有聯(lián)鎖的正六邊形單元。這樣的二維代碼是有利的,原因有下面幾個(gè)。
圖9A示出了根據(jù)此示范性實(shí)施例的與圖1B所示的二維代碼相同的二維代碼,在該二維代碼的內(nèi)部區(qū)域中,排列有聯(lián)鎖的正六邊形比特單元。圖9B示出了根據(jù)與相關(guān)技術(shù)2的“二維代碼5”中使用的方案相似的方案排列比特單元的情況。如該圖所示,在內(nèi)部區(qū)域排列著聯(lián)鎖的正方形單元。圖9C示出了圖9A所示的其中一個(gè)單元被覆蓋到圖9B所示的其中一個(gè)單元上的情況。從該圖可以看出,六邊形單元的相對(duì)的邊之間的距離與正方形單元的相對(duì)的邊之間的距離相同。如上文所描述的,從任何角度捕獲這些二維代碼的圖像。如此,當(dāng)由照相機(jī)捕獲圖9C所示的單個(gè)單元的圖像然后覆蓋在一起時(shí),可以獲得圖9D所示的圖像。通常,照相機(jī)將像素排列在網(wǎng)格中,以便獲取外部對(duì)象等等的亮度和顏色,作為像素的值。如此,如上文使用圖8并結(jié)合步驟S403的處理所描述的,將從相對(duì)于投影圖像中的比特單元的中心點(diǎn)最近的相鄰像素的像素值或四個(gè)最近的像素的像素值獲得圖9C所示的每一個(gè)比特單元的亮度或顏色。從圖9D可以看出,當(dāng)比特單元是正方形時(shí),在圖像中投射的四邊形的頂點(diǎn)的附近的那些部分的大小增大,因?yàn)榕c圖像中的六邊形的頂點(diǎn)相比,這些頂點(diǎn)與中心點(diǎn)的距離更遠(yuǎn)。這表明,位于四邊形的頂點(diǎn)附近的這些部分很少影響中心點(diǎn)的亮度或顏色。由于此二維代碼的圖像的捕獲是在代碼的圖像可以從各個(gè)方向捕獲的前提下執(zhí)行的,因此,通過(guò)與中心點(diǎn)具有相同距離的點(diǎn)來(lái)定義比特單元,可以縮小比特單元的大小。即,希望比特單元的形狀盡可能地接近于圓形,以降低比特單元的大小。雖然圖9A所示的比特單元的大小是圖9B所示的比特單元的0.866倍,但是,當(dāng)從各個(gè)方向捕獲它們的圖像時(shí),這些比特單元具有大致相同的最小可讀的比特大小。盡管圖9A的二維代碼包含19個(gè)比特單元,而圖9B的二維代碼只包含16個(gè)單元。然而,圖9A所示的總共19個(gè)比特單元的面積與圖9B所示的總共16個(gè)比特單元的面積大致相同。如此,根據(jù)本發(fā)明的本示范性實(shí)施例,在二維代碼中可以記錄更多的比特?cái)?shù),而不會(huì)增大二維代碼的大小。
第一個(gè)示范性實(shí)施例的二維代碼包括具有正六邊形輪廓的外部區(qū)域,以及位于外部區(qū)域中的內(nèi)部區(qū)域,在該內(nèi)部區(qū)域中,如圖1所示的那樣布置了正六邊形的比特單元。然而,輪廓和每一個(gè)比特單元的形狀不需要是正六邊形,可以是任何六邊形形狀。例如,二維代碼可以具有如圖2所示的那樣的矩形輪廓。只要聯(lián)鎖的六邊形比特單元被布置在與二維代碼的輪廓有預(yù)定距離的位置處,并且可以根據(jù)投影圖像平面中的(變形的)輪廓的形狀,確定投影圖像平面中的每一個(gè)比特單元的位置,就可以實(shí)現(xiàn)本發(fā)明的本質(zhì)。
此外,作為本發(fā)明的實(shí)施例的示例,描述了這樣的情況每一個(gè)比特單元都被分配了一種顏色(黑色或白色),每一個(gè)單元的亮度都通過(guò)閾值處理被轉(zhuǎn)換為二進(jìn)制值(1或0)。然而,作為上述實(shí)施例的修改方案,也可能使用多個(gè)亮度值,以便將它們轉(zhuǎn)換為n個(gè)值。還可能向各個(gè)單元分配多個(gè)不同的顏色。也是在此情況下,如上文所描述的,可以使用相鄰像素通過(guò)例如最近鄰技術(shù)或諸如雙線性內(nèi)插法之類的內(nèi)插技術(shù)獲得各個(gè)單元的顏色。然后,選擇與所獲得的顏色最接近的多個(gè)注冊(cè)的候選顏色(m個(gè)顏色),以便分配給各個(gè)單元。如此,比特單元可以被轉(zhuǎn)換為最多m個(gè)值。
圖10A到10D說(shuō)明了根據(jù)本發(fā)明的第二示范性實(shí)施例的二維代碼。參看圖10A,在黑色背景1001上形成二維代碼1002。二維代碼1002具有被涂成白色的并具有正方形輪廓的外部區(qū)域,以及在與輪廓有預(yù)定距離的位置處提供的內(nèi)部區(qū)域。內(nèi)部區(qū)域被分成被聯(lián)鎖在一起的六邊形單元。每一個(gè)六邊形單元都具有相等的高度和寬度,并被涂成黑色或白色。
圖10B示出了六邊形單元和正方形輪廓之間的關(guān)系。圖10C示出了一個(gè)六邊形單元,以及一個(gè)四邊形,作為具有相等的高度和寬度的額外的線。該圖中的值“s”是六邊形單元和四邊形的高度和寬度。六邊形單元的兩個(gè)頂點(diǎn)位于四邊形的右邊和左邊的中點(diǎn),其余的四個(gè)頂點(diǎn)位于四邊形的上邊和下邊中,其中每一個(gè)都與右邊或左邊有s/4的距離。圖10D示出了四個(gè)六邊形單元1003、1004、1005和1006,其中每一個(gè)六邊形單元都位于正方形輪廓的各個(gè)頂點(diǎn)的最鄰近的附近處。這些六邊形單元將在步驟S1103到S1106的處理中使用。每一個(gè)六邊形單元1003、1004、1005和1006都分別用預(yù)定的顏色填充在此示例中,分別為白色、黑色、黑色、黑色。
圖11是示出了根據(jù)此示范性實(shí)施例的處理過(guò)程的流程圖,該處理過(guò)程是使用上文所描述的二維代碼檢測(cè)器執(zhí)行的。
在步驟S1101中,由照相機(jī)201捕獲如圖10所示的二維代碼的圖像,通過(guò)圖像加載單元202獲取所捕獲的圖像。在步驟S1102中,從所捕獲的圖像檢測(cè)作為二維代碼的輪廓的四邊形。
參看圖12A到12E,將描述用于檢測(cè)輪廓的步驟S1102的此處理。圖12A示出了當(dāng)從視軸垂直于索引平面的位置查看時(shí)該索引的形狀。在此描述中,忽略了內(nèi)部比特單元,并且在圖中沒(méi)有示出。圖12B示出了由照相機(jī)捕獲的索引的圖像的示例。即使在索引的原來(lái)的形狀是正方形的情況下,它在所捕獲的圖像中看起來(lái)也不是正方形,而是凸的四邊形,除非它是從照相機(jī)的光軸垂直于索引的平面的位置捕獲的。此外,在圖像平面中,索引也可以朝任何方向。此外,每一個(gè)白色和黑色單元都代表圖像中的亮度的級(jí)別,黑色和白色區(qū)域之間的邊界區(qū)域被觀察為具有中等級(jí)別的亮度。圖12C示出了通過(guò)二進(jìn)制化圖12B所示的圖像而獲得的二進(jìn)制圖像。此圖像二進(jìn)制化可以通過(guò)簡(jiǎn)單的閾值處理來(lái)實(shí)現(xiàn)。然而,可以應(yīng)用任何二進(jìn)制化方案來(lái)獲得這樣的圖像。從此二進(jìn)制圖像,通過(guò)像素跟蹤技術(shù),檢測(cè)形成被涂成白色的區(qū)域的輪廓的像素,以便獲得形成了具有圖12D所示的一個(gè)像素的寬度的閉環(huán)的像素排列。當(dāng)對(duì)此像素排列執(zhí)行虛線近似法時(shí),獲得了圖12E所示的四邊形。此時(shí),在原始索引的形狀不是正方形的情況下,通過(guò)虛線近似法可以發(fā)現(xiàn),斷點(diǎn)的數(shù)量不是四個(gè)。如此,可以判斷原來(lái)的形狀是否是正方形。在步驟S1102的處理的上述描述中,沒(méi)有提及索引的內(nèi)部區(qū)域中的比特單元。由于在內(nèi)部比特單元和正方形輪廓之間提供了空間,因此,內(nèi)部單元不影響步驟S1102的處理,只要索引在整個(gè)圖像中占據(jù)了比預(yù)定面積更大的面積(即,空間的寬度大于所捕獲的圖像中的一個(gè)像素的寬度)。
然后,在步驟S1103中,根據(jù)圖像平面中的檢測(cè)到的四邊形周界(輪廓),計(jì)算在二維代碼的四個(gè)頂點(diǎn)的最近的附近提供的如圖10D所示的各個(gè)內(nèi)部比特單元1003、1004、1005,以及1006的中心位置。下面將參考圖13描述此計(jì)算。如該圖所示,作為索引的原始輪廓的正方形的頂點(diǎn)被排序?yàn)?Xn,Yn)(n=0,1,2,3),而在圖像中檢測(cè)到的四邊形輪廓的頂點(diǎn)被排序?yàn)?xn,yn)。這些輪廓可以通過(guò)以下公式表達(dá)的二維投影變換相關(guān)聯(lián)。
xn=H11Xn+H12Yn+H13H31Xn+H32Yn+1,]]>yn=H21Xn+H22yn+H23H31Xn+H32yn+1---(4)]]>此關(guān)系表達(dá)式可以通過(guò)如下所示的矩陣運(yùn)算而寫成齊次坐標(biāo)變換公式。
wxnwynw=H11H12H13H21H22H23H31H321Xnyn1---(5)]]>
在此情況下,矩陣H11H12H13H21H22H23H31H321---(6)]]>叫做“單應(yīng)性矩陣”。頂點(diǎn)(Xn,Yn)和(xn,yn)具有四個(gè)對(duì)應(yīng)的點(diǎn)。可以導(dǎo)出公式(4)和關(guān)聯(lián)的公式(5)的四個(gè)關(guān)系表達(dá)式。換句話說(shuō),通過(guò)對(duì)聯(lián)立方程進(jìn)行求解,可以從四個(gè)對(duì)應(yīng)的點(diǎn)之間的關(guān)系導(dǎo)出上述單應(yīng)性矩陣(6)或公式(4)中的八個(gè)參數(shù)H11、H12、H13、H21、H22、H23、H31和H32。
一旦獲得了公式(4)或關(guān)聯(lián)的公式(5)中所示的關(guān)系表達(dá)式,空間(X,Y)中的任何點(diǎn)都可以映射到空間(x,y)。即,該公式允許計(jì)算索引中的任意比特單元的中心點(diǎn)出現(xiàn)在投影圖像上的位置。請(qǐng)注意,此示范性實(shí)施例的重要的特征是,單元1003、1004、1005以及1006的中心點(diǎn)位于正方形周界(輪廓)的對(duì)角線上。在正方形中,上邊和下邊之間的距離等于右邊和左邊之間的距離。如此,可以根據(jù)檢測(cè)到的四邊形周界(輪廓)獲得圖像平面上的四個(gè)六邊形單元的中心位置,不管二維代碼的正方形輪廓的圖像所取向的方向。然而,不可能只根據(jù)圖像中的四邊形輪廓將各個(gè)單元1003、1004、1005和1006彼此區(qū)別開來(lái)。換句話說(shuō),在步驟S1103的處理中,獲得四個(gè)六邊形單元的中心點(diǎn),而不將各個(gè)單元彼此區(qū)別開來(lái)。
隨后,在步驟S1104中,使用與參考圖4描述的步驟S403的處理中使用的方案相似的方案,獲取四個(gè)六邊形單元的所獲得的中心位置的亮度值。
然后,在步驟S1105中,將每一個(gè)所獲得的亮度值轉(zhuǎn)換為二進(jìn)制值(黑色或白色)。最簡(jiǎn)單的比特轉(zhuǎn)換方案是閾值處理,其中,通過(guò)亮度值和預(yù)定閾值之間的比較,亮度值被確定為0或1(白色或黑色)。可以使用步驟S1102的二進(jìn)制化處理中使用的值作為預(yù)定的閾值。然而,也可以使用任何其他方案來(lái)確定閾值。通過(guò)步驟S1103到步驟S1105的處理,已經(jīng)確定了位于各個(gè)頂點(diǎn)的最近的附近處的每一個(gè)六邊形單元的顏色(黑色或白色)。根據(jù)此結(jié)果,在步驟S1106中,可以確定圖像中的二維代碼的旋轉(zhuǎn)方向(取向)。在此確定過(guò)程中,如上文所描述的,由于單元1003、1004、1005和1006分別被涂成白色、黑色、黑色和黑色,因此可以通過(guò)比較在步驟S1104的處理中所獲得的單元的那些亮度值來(lái)識(shí)別每一個(gè)單元的顏色。
通過(guò)上文所描述的處理,判斷投影到圖像平面上的二維代碼與原來(lái)的形狀相比如何變形,以及二維代碼在圖像平面中取向?yàn)槟膫€(gè)方向?,F(xiàn)在,根據(jù)上述結(jié)果,將執(zhí)行讀出內(nèi)部比特單元的處理。在步驟S1107中,使用公式(4)或(5)計(jì)算圖像平面上的任何一個(gè)比特單元(除了圖10D中的比特單元1003、1004、1005和1006之外)的中心位置。然后,在步驟S1108中,獲取圖像平面中的單元的中心點(diǎn)的亮度值。此用于獲取亮度值的處理類似于步驟S1104的處理。在步驟S1109中,所獲得的亮度值被轉(zhuǎn)換為比特值。此轉(zhuǎn)換處理類似于步驟S1105的處理,其中,四個(gè)六邊形單元的亮度值被轉(zhuǎn)換為二進(jìn)制值,并通過(guò)閾值處理等等來(lái)實(shí)現(xiàn)。在步驟S1110中,判斷是否對(duì)所有比特單元執(zhí)行了該處理。如果結(jié)果是否定的,則重復(fù)步驟S1107到步驟S1109的處理,直到對(duì)所有比特單元執(zhí)行了該處理。此外,步驟S1109的處理可以并入到在步驟S1110中對(duì)所有比特單元執(zhí)行了比特轉(zhuǎn)換處理之后執(zhí)行的處理中,而不是在步驟S1108和步驟S1110的處理之間執(zhí)行。在此情況下,當(dāng)執(zhí)行步驟S1107、S1108和S1110的處理時(shí),已經(jīng)獲得了所有比特單元的亮度值。因此,也可能根據(jù)步驟S1107、S1108和S1110的每個(gè)處理中所獲得的亮度值的分布,將每一個(gè)亮度值轉(zhuǎn)換為比特值。
在上文中,描述了從二維代碼中讀取比特值的處理,該二維代碼具有正方形輪廓,并且在正方形輪廓的內(nèi)部具有聯(lián)鎖的單元,其中每一個(gè)單元都呈現(xiàn)六邊形形狀,具有相等的高度和寬度。上文還描述了用于根據(jù)正方形輪廓檢測(cè)六邊形的檢測(cè)器和方法。這樣的二維代碼是有利的,原因有下面幾個(gè)。
請(qǐng)參看圖14A,其示出了二維代碼,該二維代碼基本上與圖10B中所示的二維代碼相同。在此示范性實(shí)施例中實(shí)現(xiàn)的二維代碼的正六邊形輪廓的內(nèi)部,布置著相鄰的比特單元,每一個(gè)比特單元都具有六邊形的形狀,具有相等的高度和寬度。圖14B示出了這樣的情況使用與用于上文所描述的相關(guān)技術(shù)2的“二維代碼5”的方案相似的方案提供相鄰的正方形比特單元。如圖14A和14B所示,其中一個(gè)六邊形單元和其中一個(gè)正方形單元帶有陰影。在這些圖中,圖14A的單元看起來(lái)小于圖14B的單元。然而,當(dāng)它們被覆蓋在一起時(shí),如圖14C所示,圖14B的單元只比圖14A的單元大較小的空間。如上文所描述的,這些二維代碼將由照相機(jī)從任何方向進(jìn)行圖像捕獲。如此,當(dāng)圖14A和14B的單元的所捕獲的圖像被覆蓋在一起時(shí),可以獲得如圖14D所示的圖像。通常,照相機(jī)將像素排列在網(wǎng)格中,以便獲得外部對(duì)象等等的亮度和顏色等作為像素的值。如此,如上文使用圖6并結(jié)合步驟S1103和步驟S1107的處理所描述的,將從基于投影圖像中的比特單元的中心點(diǎn)的最鄰近的相鄰像素的像素值或四個(gè)最鄰近的像素的像素值獲得這些比特單元中的每一個(gè)比特單元的亮度或顏色。從圖14D可以看出,當(dāng)比特單元是正方形時(shí),圖像平面中的四邊形的頂點(diǎn)的周圍的那些部分的大小增大,這是因?yàn)榕c六邊形的頂點(diǎn)相比,這些頂點(diǎn)與中心點(diǎn)的距離更遠(yuǎn)。這表明,這些部分很少影響中心點(diǎn)的亮度或顏色。由于將從各個(gè)方向捕獲這些二維代碼的圖像,因此,通過(guò)與中心點(diǎn)具有相同距離的點(diǎn)來(lái)定義比特單元,可以縮小比特單元的大小。即,希望比特單元的輪廓的形狀盡可能地接近于圓形,以降低比特單元的大小。換句話說(shuō),圖14A和14B的二維代碼在根據(jù)該前提被捕獲圖像時(shí),這些比特單元具有大致相同的最小可讀比特大小。然而,圖14B中的二維代碼只有16個(gè)比特單元,而圖14A中的二維代碼具有18個(gè)比特單元。如此,根據(jù)本發(fā)明的示范性實(shí)施例,在二維代碼中可以記錄更多的比特?cái)?shù),而不會(huì)對(duì)代碼的最小可識(shí)別大小產(chǎn)生負(fù)面影響。
此外,將每一個(gè)六邊形比特單元的高度和寬度設(shè)定得相等會(huì)產(chǎn)生下列優(yōu)點(diǎn)。當(dāng)代碼用于MR應(yīng)用時(shí),二維代碼的正方形輪廓是非常重要的特征。當(dāng)估計(jì)照相機(jī)的位置和取向時(shí),在觀察二維代碼時(shí),正方形輪廓將不會(huì)產(chǎn)生特定方向性,允許從各個(gè)視點(diǎn)進(jìn)行觀察。然而,如果每一個(gè)比特單元的形狀被設(shè)置為正六邊形,而正方形輪廓的形狀仍保持原狀,則難以在正方形輪廓的內(nèi)部布置聯(lián)鎖的比特單元,同時(shí)在輪廓和單元之間提供恒定的距離。例如,如圖16所示,在輪廓的頂邊或底邊和比特單元之間提供的距離比在輪廓的右邊或左邊和比特單元之間提供的距離長(zhǎng)。換句話說(shuō),與如圖10D所示的二維代碼不同,位于圖16的正方形輪廓的四個(gè)頂點(diǎn)附近的正六邊形單元的四個(gè)中心點(diǎn)的位置相對(duì)于對(duì)角線不是對(duì)稱的(即,中心點(diǎn)不在正方形輪廓的對(duì)角線上)。如此,在此情況下,不可能根據(jù)通過(guò)步驟S1103到步驟S1106的處理檢測(cè)到的四邊形輪廓,確定圖像平面中的四邊形輪廓的旋轉(zhuǎn)方向或取向。由于各個(gè)比特單元的位置相對(duì)于對(duì)角線不是對(duì)稱的,因此,不可能從在確定圖像平面中的四邊形輪廓的取向之前執(zhí)行的輪廓檢測(cè)結(jié)果中獲得比特單元的中心點(diǎn)。另一方面,當(dāng)使用如圖10D所示的具有六邊形的形狀的高度和寬度相等的比特單元時(shí),可能在正方形輪廓的頂點(diǎn)的最近的附近布置四個(gè)比特單元的中心位置,以便相對(duì)于頂點(diǎn)是對(duì)稱的(中心點(diǎn)位于對(duì)角線上)。在使用這些四個(gè)比特單元檢測(cè)圖像平面中的四邊形輪廓的取向之后,可以計(jì)算除了這四個(gè)比特單元之外的比特單元的中心點(diǎn)。此外,也可能通過(guò)在正方形輪廓的外部提供索引,確定圖像平面中的四邊形的取向,類似于相關(guān)技術(shù)2的“二維代碼5”。然而,在這樣的情況下,增大了二維代碼的總的大小。如果這樣的大的空間可以用于索引,可以增大正方形輪廓的大小,如此,根據(jù)本發(fā)明的示范性實(shí)施例,可以在索引中分配更多的比特?cái)?shù)。
當(dāng)希望在二維代碼中表達(dá)更多數(shù)量的比特值時(shí),可以布置更多數(shù)量的比特單元,如圖17所示。如此,具有相等高度和寬度的比特單元有助于將比特單元布置在正方形中。
在上述示范性實(shí)施例中,每一個(gè)比特單元都被涂成黑色或者白色,比特單元的亮度值通過(guò)閾值處理被轉(zhuǎn)換為二進(jìn)制比特值(1或0)。然而,也可能使用多個(gè)亮度值,它們將被轉(zhuǎn)換為n個(gè)灰度值。還可能向各個(gè)單元分配多個(gè)不同的顏色。也是在此情況下,如上文所描述的,可以通過(guò)最近鄰技術(shù)或諸如使用相鄰像素的雙線性內(nèi)插法之類的內(nèi)插法獲得各個(gè)單元的顏色。然后,選擇與所獲取的顏色最接近的多個(gè)注冊(cè)的候選顏色(m個(gè)顏色),以便分配給各個(gè)單元。如此,比特單元可以被轉(zhuǎn)換最多為m個(gè)色值。
在上述示范性實(shí)施例中,正方形輪廓內(nèi)的外部區(qū)域用白色填充,各個(gè)比特單元通過(guò)黑色和白色來(lái)表達(dá)。然而,外部區(qū)域也可以用黑色或任何其他半色調(diào)或顏色填充。此外,如圖15所示,具有黑色邊界區(qū)域的二維代碼和具有白色邊界區(qū)域的二維代碼可以一起使用,以便可以通過(guò)外部區(qū)域的顏色表達(dá)額外的一個(gè)比特。
此外,在上述示范性實(shí)施例中,描述了這樣的情況比特單元1003、1004、1005以及1006分別用白色、黑色、黑色和黑色填充,用于確定二維代碼的旋轉(zhuǎn)方向或取向。然而,也可以使用諸如黑色、白色、白色、白色之類的其他顏色布置。此外,具有白色、黑色、黑色以及白色的布置的二維代碼和具有黑色、白色、白色以及白色的二維代碼可以一起使用,以便可以通過(guò)這兩種布局之間的差異表達(dá)額外的一個(gè)比特。
也可以使用由多個(gè)設(shè)備構(gòu)成的系統(tǒng)實(shí)現(xiàn)與上文所描述的二維代碼檢測(cè)器的功能相似的功能。
本發(fā)明也包含這樣的布置其中,用于實(shí)現(xiàn)上文所描述的實(shí)施例的功能的軟件程序被提供到具有能夠執(zhí)行直接來(lái)自記錄介質(zhì)或通過(guò)有線或者無(wú)線通信讀取的程序的計(jì)算機(jī)的系統(tǒng)或設(shè)備,以便通過(guò)執(zhí)行提供到系統(tǒng)或設(shè)備的計(jì)算機(jī)的程序來(lái)實(shí)現(xiàn)等效的功能。
如此,要被提供到計(jì)算機(jī)并安裝在計(jì)算機(jī)中的用于實(shí)現(xiàn)上文所描述的實(shí)施例的功能的程序代碼也是實(shí)現(xiàn)本發(fā)明的特征。即,用于實(shí)現(xiàn)上文所描述的實(shí)施例的功能的計(jì)算機(jī)程序可以包含在本發(fā)明中。
在此情況下,程序不局限于任何形式,如目標(biāo)代碼、由解釋器執(zhí)行的程序、提供到操作系統(tǒng)的腳本數(shù)據(jù)等等。
用于提供程序的記錄介質(zhì)的示例包括磁記錄介質(zhì),如軟盤、硬盤、磁帶等等;光學(xué)/磁光記錄介質(zhì),如磁光(MO)盤、光盤只讀存儲(chǔ)器(CD-ROM)、可記錄CD(CD-R)、可重寫CD(CD-RW)、數(shù)字多用途盤ROM(DVD-ROM)、DVD-R、DVD-RW、等等;非易失性半導(dǎo)體存儲(chǔ)器等等。
用于通過(guò)有線/無(wú)線通信提供程序的方法的示例包括,在網(wǎng)絡(luò)上的服務(wù)器上存儲(chǔ)數(shù)據(jù)文件(程序數(shù)據(jù)文件),它們可以充當(dāng)在客戶端計(jì)算機(jī)上實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)程序,如計(jì)算機(jī)程序本身,具有自動(dòng)安裝功能的壓縮的和自解壓文件等等;并且將程序數(shù)據(jù)文件下載到對(duì)服務(wù)器進(jìn)行訪問(wèn)的客戶端計(jì)算機(jī)。在此情況下,程序數(shù)據(jù)文件可以被分段為多個(gè)分段文件,并將分段文件存儲(chǔ)在不同的服務(wù)器上。也就是說(shuō),服務(wù)器設(shè)備可以將用于實(shí)現(xiàn)本發(fā)明的功能處理的程序數(shù)據(jù)文件下載到多個(gè)用戶。
即,用于將實(shí)現(xiàn)上述示范性實(shí)施例的功能的程序數(shù)據(jù)文件下載到多個(gè)用戶的服務(wù)器設(shè)備也包含在本發(fā)明中。
此外,也可以作出這種布置,其中,根據(jù)本發(fā)明的程序被加密并存儲(chǔ)在諸如CD-ROM之類的記錄介質(zhì)中,并在此狀態(tài)下分發(fā)給用戶,同時(shí)用于對(duì)加密信息進(jìn)行解密的密鑰信息從因特網(wǎng)主頁(yè)下載給例如滿足某些條件的用戶,以便可以使用密鑰信息執(zhí)行加密的程序并安裝到計(jì)算機(jī)中。
此外,除了上文所描述的實(shí)施例的功能通過(guò)讀出的程序在計(jì)算機(jī)上執(zhí)行來(lái)實(shí)現(xiàn)之外,上文所描述的實(shí)施例的功能可以由在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)來(lái)實(shí)現(xiàn),該操作系統(tǒng)基于程序的指令執(zhí)行部分或所有實(shí)際處理。
此外,上文所描述的功能可以通過(guò)從記錄介質(zhì)讀出的程序被寫入到存儲(chǔ)器中來(lái)實(shí)現(xiàn),其中該存儲(chǔ)器被提供到插入到計(jì)算機(jī)的功能擴(kuò)展板或連接到計(jì)算機(jī)的功能擴(kuò)展單元,之后,在計(jì)算機(jī)上運(yùn)行的OS基于程序的指令執(zhí)行部分或所有實(shí)際處理。
由于在不偏離本發(fā)明的范圍的情況下,可以作出本發(fā)明的許多顯然廣泛不同的實(shí)施例,應(yīng)該理解,本發(fā)明不限于其特定實(shí)施例,除非如所附的權(quán)利要求所限定。
權(quán)利要求
1.一種二維代碼,包括可以根據(jù)亮度或顏色與背景區(qū)別開來(lái)的多邊形外部區(qū)域,以及位于與外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域,其中,內(nèi)部區(qū)域被分成預(yù)定大小的單元,以便通過(guò)每一個(gè)單元的亮度或顏色來(lái)代表信息,以及其中,這些單元被布置得彼此毗鄰,每一個(gè)單元都具有六邊形的形狀。
2.根據(jù)權(quán)利要求1所述的二維代碼,其中,多邊形外部區(qū)域具有六邊形的形狀。
3.根據(jù)權(quán)利要求2所述的二維代碼,其中,每一個(gè)單元都具有正六邊形的形狀。
4.根據(jù)權(quán)利要求2所述的二維代碼,其中,各單元是這樣排列的,使得連接六邊形外部區(qū)域的相對(duì)頂點(diǎn)的線和與其交叉的正六邊形單元的任何相對(duì)的邊成直角地交叉。
5.根據(jù)權(quán)利要求1所述的二維代碼,其中,單元具有六邊形的形狀,其高度和寬度相等。
6.根據(jù)權(quán)利要求5所述的二維代碼,其中,外部區(qū)域具有四邊形的形狀。
7.根據(jù)權(quán)利要求5所述的二維代碼,其中,使用四個(gè)六邊形單元來(lái)確定二維代碼的取向,每一個(gè)六邊形單元都位于四邊形外部區(qū)域的四個(gè)頂點(diǎn)的其中一個(gè)的附近。
8.一種用于檢測(cè)二維代碼的方法,包括下列步驟從背景中檢測(cè)在圖像上投影的二維代碼的多邊形外部區(qū)域;根據(jù)圖像中的多邊形外部區(qū)域的形狀識(shí)別內(nèi)部比特單元的位置;以及根據(jù)圖像中的比特單元的亮度或顏色獲取比特值,其中,二維代碼包括可以根據(jù)亮度或顏色與背景區(qū)別開來(lái)的六邊形外部區(qū)域,以及位于與六邊形外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域,內(nèi)部區(qū)域具有多個(gè)六邊形比特單元,比特單元被布置得彼此毗鄰。
9.根據(jù)權(quán)利要求8所述的方法,其中,識(shí)別步驟包括下列步驟根據(jù)在檢測(cè)步驟中檢測(cè)到的四邊形外部區(qū)域的形狀和對(duì)應(yīng)的物理外部區(qū)域的實(shí)際形狀之間的關(guān)系,計(jì)算代表二維投影變換的信息;以及使用代表二維投影變換的信息計(jì)算圖像中的每一個(gè)比特單元的位置。
10.根據(jù)權(quán)利要求8所述的方法,其中,多邊形外部區(qū)域具有六邊形的形狀。
11.根據(jù)權(quán)利要求10所述的方法,其中,每一個(gè)比特單元都具有正六邊形的形狀。
12.根據(jù)權(quán)利要求10所述的方法,其中,比特單元是這樣排列的,以便連接六邊形外部區(qū)域的相對(duì)頂點(diǎn)的線和與其交叉的正六邊形比特單元的任何相對(duì)的邊成直角地交叉。
13.根據(jù)權(quán)利要求8所述的方法,其中,比特單元具有其高度和寬度相等的六邊形的形狀。
14.根據(jù)權(quán)利要求13所述的方法,其中,外部區(qū)域具有四邊形的形狀。
15.根據(jù)權(quán)利要求14所述的方法,其中,使用四個(gè)六邊形單元來(lái)確定二維代碼的取向,每一個(gè)六邊形單元都位于四邊形外部區(qū)域的四個(gè)頂點(diǎn)的其中一個(gè)的附近。
16.一種計(jì)算機(jī)可讀的記錄介質(zhì),在其中以計(jì)算機(jī)可讀取方式存儲(chǔ)了用于在計(jì)算機(jī)上執(zhí)行根據(jù)權(quán)利要求8的檢測(cè)二維代碼的方法的程序。
17.一種二維代碼檢測(cè)器,包括多邊形外部區(qū)域檢測(cè)設(shè)備,適用于從背景中檢測(cè)在圖像上投影的二維代碼的多邊形外部區(qū)域;比特單元識(shí)別設(shè)備,適用于根據(jù)圖像中的多邊形外部區(qū)域的形狀識(shí)別內(nèi)部比特單元的位置;以及比特值獲取設(shè)備,適用于根據(jù)圖像中的比特單元的亮度或顏色獲取比特值,其中,二維代碼包括可以根據(jù)亮度或顏色與背景區(qū)別開來(lái)的多邊形外部區(qū)域,以及位于與六邊形外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域,內(nèi)部區(qū)域具有多個(gè)六邊形比特單元,這些比特單元被布置得彼此毗鄰。
全文摘要
一種二維代碼,包括可以根據(jù)亮度或顏色與背景區(qū)別開來(lái)的多邊形外部區(qū)域,以及位于與外部區(qū)域的周界具有預(yù)定距離處的內(nèi)部區(qū)域。內(nèi)部區(qū)域被分成預(yù)定大小的單元,以便通過(guò)每一個(gè)單元的亮度或顏色來(lái)代表信息。這些單元被布置得彼此毗鄰,每一個(gè)單元都具有六邊形的形狀。
文檔編號(hào)G06K9/18GK1971591SQ20061016284
公開日2007年5月30日 申請(qǐng)日期2006年11月24日 優(yōu)先權(quán)日2005年11月24日
發(fā)明者內(nèi)山晉二, 尼莎·薩布拉瑪尼阿瑪, 佐藤清秀 申請(qǐng)人:佳能株式會(huì)社