一種視覺導(dǎo)航用的crc二維碼的生成方法及識(shí)別方法
【專利摘要】本發(fā)明公開了一種視覺導(dǎo)航用的CRC二維碼的生成方法及識(shí)別方法,該生成方法的步驟為:設(shè)置數(shù)據(jù)區(qū)和ID編號(hào),所述數(shù)據(jù)區(qū)包括ID的二進(jìn)制位碼區(qū)和對(duì)應(yīng)的CRC校驗(yàn)碼區(qū),所述ID編號(hào)是該二維碼在二維碼數(shù)據(jù)庫中唯一的十進(jìn)制編號(hào);構(gòu)建CRC二維碼的邊框和設(shè)置邊框頂點(diǎn):邊框包括具有對(duì)比度的內(nèi)邊框和外邊框;頂點(diǎn)包括4個(gè)外邊框頂點(diǎn)和4個(gè)內(nèi)邊框頂點(diǎn);生成CRC二維碼圖片。該識(shí)別方法是用來識(shí)別上述方法所生成的CRC二維碼。本發(fā)明具有原理簡單、易實(shí)現(xiàn)和推廣、能夠快速準(zhǔn)確的從場(chǎng)景圖像中檢測(cè)與識(shí)別等優(yōu)點(diǎn)。
【專利說明】
一種視覺導(dǎo)航用的CRC二維碼的生成方法及識(shí)別方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明主要涉及到視覺導(dǎo)航領(lǐng)域,特指一種適用于視覺導(dǎo)航的CRC二維碼的生成 方法及識(shí)別方法。
【背景技術(shù)】
[0002] 目前,隨著科學(xué)技術(shù)的日益進(jìn)步,導(dǎo)航已經(jīng)在各行各業(yè)、甚至是普通人的生活當(dāng)中 得以普及。視覺導(dǎo)航是指依據(jù)視覺圖像,利用圖像處理、計(jì)算機(jī)視覺、模型識(shí)別等相關(guān)技術(shù) 獲取運(yùn)動(dòng)體的運(yùn)動(dòng)信息和空間位置信息,實(shí)現(xiàn)導(dǎo)航。比如無人機(jī)自主著落、倉儲(chǔ)智能車導(dǎo) 航、室內(nèi)機(jī)器人導(dǎo)航等均需要視覺導(dǎo)航系統(tǒng)同時(shí)提供位置和姿態(tài)信息。與此同時(shí),導(dǎo)航技術(shù) 逐漸在根據(jù)實(shí)際運(yùn)用的狀況與其他技術(shù)進(jìn)行融合,以達(dá)到在特定應(yīng)用場(chǎng)合中最佳的導(dǎo)航效 果。
[0003] 二維碼迅速走向市場(chǎng),被各行各業(yè)的用戶熟識(shí)并廣泛使用。在水平和垂直方向的 二維空間存儲(chǔ)信息的條形碼稱為二維條形碼(2-dimensional Barcode),簡稱二維碼。根據(jù) 二維碼的編碼原理,通??梢苑譃閮煞N類型:行排式二維條碼和矩陣式二維碼;典型的行排 式二維碼有:〇)(16161(、(:〇(1649、?0?417等。典型的矩陣式二維碼有 :(:〇(160116、]\^?1(:〇(16、 QRCode、DataMatr ix 等。
[0004] 從已經(jīng)公開的專利和文獻(xiàn)來看,目前還沒有專門針對(duì)視覺導(dǎo)航應(yīng)用而設(shè)計(jì)的二維 碼。但視覺導(dǎo)航應(yīng)用區(qū)別于其它應(yīng)用而言,對(duì)二維碼的性能需求是不同的:第一,視覺導(dǎo)航 應(yīng)用對(duì)二維碼的形狀是否美觀以及所含信息是否安全并不關(guān)注,而是要求其易于在大視角 變換以及遠(yuǎn)距離的情況下能夠準(zhǔn)確的從獲取的圖像中識(shí)別;第二,視覺導(dǎo)航應(yīng)用對(duì)二維碼 是否能夠從局部區(qū)域中恢復(fù)數(shù)據(jù)并不關(guān)注,而是要求能夠準(zhǔn)確的從圖像中檢測(cè)出盡量多的 頂點(diǎn),進(jìn)而根據(jù)成像原理估計(jì)出載體的位置和姿態(tài)。
[0005] 由此可見看出,通用二維碼圖像在導(dǎo)航應(yīng)用中的兩大缺點(diǎn):(1)通用二維碼圖像在 大視角變換條件下難以準(zhǔn)確識(shí)別;(2)通用二維碼圖像的頂點(diǎn)不易精確提取,一般只適用于 鄰近定位;而本發(fā)明設(shè)計(jì)的基于CRC的二維碼具有內(nèi)外一共8個(gè)頂點(diǎn),且在圖像中易于準(zhǔn)確 提取,可以根據(jù)成像原理同時(shí)估計(jì)載體的位置和姿態(tài)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明要解決的技術(shù)問題就在于:針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一 種原理簡單、易實(shí)現(xiàn)和推廣、能夠快速準(zhǔn)確的從場(chǎng)景圖像中檢測(cè)與識(shí)別的視覺導(dǎo)航用的CRC 二維碼的生成方法及識(shí)別方法。進(jìn)一步利用本發(fā)明的方法設(shè)計(jì)一種視覺導(dǎo)航專用的CRC二 維碼圖案,能夠快速準(zhǔn)確的從場(chǎng)景圖像中檢測(cè)與識(shí)別,為視覺導(dǎo)航應(yīng)用提供技術(shù)支撐。
[0007] 為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
[0008] -種視覺導(dǎo)航用的CRC二維碼的生成方法,其步驟為:
[0009] 設(shè)置數(shù)據(jù)區(qū)和ID編號(hào),所述數(shù)據(jù)區(qū)包括ID的二進(jìn)制位碼區(qū)和對(duì)應(yīng)的CRC校驗(yàn)碼區(qū), 所述ID編號(hào)是該二維碼在二維碼數(shù)據(jù)庫中唯一的十進(jìn)制編號(hào);
[0010] 構(gòu)建CRC二維碼的邊框和設(shè)置邊框頂點(diǎn):邊框包括具有對(duì)比度的內(nèi)邊框和外邊框; 頂點(diǎn)包括4個(gè)外邊框頂點(diǎn)和4個(gè)內(nèi)邊框頂點(diǎn);
[0011] 生成CRC二維碼圖片。
[0012] 作為本發(fā)明生成方法的進(jìn)一步改進(jìn):所述邊框采用連續(xù)邊線組成的對(duì)稱結(jié)構(gòu),所 述內(nèi)邊框和外邊框之間的對(duì)比度為顏色的對(duì)比度,或亮度的對(duì)比度,或者是兩者的組合。
[0013] 作為本發(fā)明生成方法的進(jìn)一步改進(jìn):所述外邊框的寬度為2個(gè)碼元寬度,所述內(nèi)邊 框的寬度為1個(gè)碼元寬度。
[0014] 作為本發(fā)明生成方法的進(jìn)一步改進(jìn):所述數(shù)據(jù)區(qū)的寬度為5個(gè)碼元寬度,所述數(shù)據(jù) 區(qū)包含5 X 5 = 25個(gè)b i t的信息;其中前21個(gè)b i t用于存放該二維碼ID對(duì)應(yīng)的二進(jìn)制位碼,后4 個(gè)bit用于存放二進(jìn)制位碼的CRC校驗(yàn)碼。
[0015] 作為本發(fā)明生成方法的進(jìn)一步改進(jìn):利用二進(jìn)制數(shù)表示二維碼的ID,并用循環(huán)冗 余碼技術(shù)計(jì)算ID的校驗(yàn)碼,將二進(jìn)制表示的ID與校驗(yàn)碼組合,構(gòu)成固定長度的位碼。
[0016] 作為本發(fā)明生成方法的進(jìn)一步改進(jìn):所述CRC校驗(yàn)碼由二進(jìn)制位碼對(duì)應(yīng)的多項(xiàng)式 與生成多項(xiàng)式相除取余得到。
[0017]作為本發(fā)明生成方法的進(jìn)一步改進(jìn):選取那些僅能從0°旋轉(zhuǎn)方向正確讀取的ID, 即對(duì)于一個(gè)給定的ID編號(hào),將其轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)得到位碼,并計(jì)算相應(yīng)的CRC校驗(yàn)碼碼; 然后將位碼和校驗(yàn)碼填入到數(shù)據(jù)區(qū),形成5 X 5的編碼矩陣。
[0018] -種基于上述CRC二維碼的識(shí)別方法,其步驟為:
[0019] S1:檢測(cè)二維碼圖像的邊緣和頂點(diǎn);即,進(jìn)行圖像二值化及邊緣檢測(cè),提取可能的 CRC二維碼邊沿和頂點(diǎn);
[0020] S2:并對(duì)提取的二維碼區(qū)域進(jìn)行單應(yīng)變換,讀取位碼;即,對(duì)圖像中的CRC二維碼區(qū) 域進(jìn)行單應(yīng)變換,根據(jù)像素值讀取位碼和CRC校驗(yàn)碼;
[0021] S3:利用循環(huán)冗余碼校驗(yàn)技術(shù)對(duì)位碼進(jìn)行錯(cuò)誤檢測(cè),識(shí)別二維碼的ID。
[0022] 作為本發(fā)明識(shí)別方法的進(jìn)一步改進(jìn):所述步驟S1的具體流程為:首先將輸入圖像 轉(zhuǎn)換為二值圖像,提取黑白區(qū)域的邊緣像素點(diǎn);然后在提取的圖像邊緣中,選取滿足具有4 個(gè)頂點(diǎn)的凸閉合邊緣,得到二維碼區(qū)域的候選集。
[0023] 作為本發(fā)明識(shí)別方法的進(jìn)一步改進(jìn):所述步驟S2中,對(duì)每個(gè)二維碼區(qū)域的候選集, 根據(jù)數(shù)據(jù)庫中的二維碼頂點(diǎn)Pl和場(chǎng)景圖像二維碼頂A Pl'之間的關(guān)系,估計(jì)單應(yīng)矩陣H;計(jì)算 公式為:
[0024] [pi' X ]Hpi = 0(i = 1,2,3,4)
[0025]其中[Pl'X]表示由齊次坐標(biāo)仍'形成的反對(duì)稱陣;上式是關(guān)于H的線性方程,將4個(gè) 頂點(diǎn)的齊次坐標(biāo)代人上式,用最小二乘估計(jì)算法求出H。
[0026] 與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
[0027] (1)、本發(fā)明視覺導(dǎo)航用的CRC二維碼具有同時(shí)估計(jì)相機(jī)的位置和姿態(tài)的優(yōu)點(diǎn);
[0028] (2)、本發(fā)明視覺導(dǎo)航用的CRC二維碼具有大視角圖像變換下實(shí)時(shí)識(shí)別的優(yōu)點(diǎn);
[0029] (3)、本發(fā)明視覺導(dǎo)航用的CRC二維碼的生成方法及識(shí)別方法,有效提高了二維碼 在視覺導(dǎo)航應(yīng)用中的環(huán)境適應(yīng)性和導(dǎo)航精度。
【附圖說明】
[0030] 圖1是本發(fā)明生成方法的流程示意圖。
[0031] 圖2是本發(fā)明在具體應(yīng)用實(shí)例中生成的CRC二維碼圖像的示意圖。
[0032] 圖3是本發(fā)明在具體應(yīng)用實(shí)例中數(shù)據(jù)區(qū)表示的四種可能的編碼矩陣示意圖。
[0033] 圖4是本發(fā)明識(shí)別方法的流程示意圖。
[0034]圖5是本發(fā)明在具體應(yīng)用實(shí)例中單應(yīng)矩陣H與數(shù)據(jù)庫中的二維碼頂點(diǎn)和場(chǎng)景圖像 二維碼頂點(diǎn)之間的關(guān)系示意圖。
【具體實(shí)施方式】
[0035]以下將結(jié)合說明書附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。
[0036]如圖1所示,本發(fā)明的視覺導(dǎo)航用的CRC二維碼的生成方法,其步驟為:
[0037] 設(shè)置數(shù)據(jù)區(qū)和ID編號(hào),所述數(shù)據(jù)區(qū)包括ID的二進(jìn)制位碼區(qū)和對(duì)應(yīng)的CRC校驗(yàn)碼區(qū), 所述ID編號(hào)是該二維碼在二維碼數(shù)據(jù)庫中唯一的十進(jìn)制編號(hào)。
[0038] 構(gòu)建CRC二維碼的邊框和設(shè)置邊框頂點(diǎn):邊框包括具有一定對(duì)比度的內(nèi)邊框和外 邊框;頂點(diǎn)包括4個(gè)外邊框頂點(diǎn)和4個(gè)內(nèi)邊框頂點(diǎn);具體應(yīng)用時(shí),黑色外邊框和白色內(nèi)邊框的 寬度以碼元寬度為單位,作為優(yōu)選的方案,黑色外邊框的寬度可以為2個(gè)碼元寬度,白色內(nèi) 邊框的寬度可以為1個(gè)碼元寬度。
[0039] 生成CRC二維碼圖片。
[0040] 在上述方案當(dāng)中,可以先進(jìn)行數(shù)據(jù)區(qū)和ID編號(hào)的設(shè)置,然后再進(jìn)行邊框和頂點(diǎn)的 設(shè)置;也可以先進(jìn)行邊框和頂點(diǎn)的設(shè)置,然后再進(jìn)行數(shù)據(jù)區(qū)和ID編號(hào)的設(shè)置。根據(jù)實(shí)際需要 來選擇即可,都應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。
[0041] 具體應(yīng)用時(shí),邊框采用連續(xù)邊線組成的對(duì)稱結(jié)構(gòu),內(nèi)邊框和外邊框之間具有一定 的對(duì)比度,可以是顏色的對(duì)比度,也可以是亮度的對(duì)比度,或者是兩者的組合。例如,可以采 用黑色外邊框和白色內(nèi)邊框,但不僅限于這種設(shè)定方式。
[0042] 具體應(yīng)用時(shí),作為優(yōu)選的方案,數(shù)據(jù)區(qū)的寬度可以為5個(gè)碼元寬度,則數(shù)據(jù)區(qū)包含5 X 5 = 25個(gè)bit的信息。其中,前21個(gè)bit用于存放該二維碼ID對(duì)應(yīng)的二進(jìn)制位碼,后4個(gè)bit 用于存放二進(jìn)制位碼的CRC校驗(yàn)碼。
[0043]具體應(yīng)用時(shí),CRC二維碼的編碼規(guī)則為:利用二進(jìn)制數(shù)表示二維碼的ID,并用循環(huán) 冗余碼技術(shù)計(jì)算ID的校驗(yàn)碼,將二進(jìn)制表示的ID與校驗(yàn)碼組合,構(gòu)成固定長度的位碼。
[0044] 具體應(yīng)用時(shí),CRC校驗(yàn)碼由二進(jìn)制位碼對(duì)應(yīng)的多項(xiàng)式與生成多項(xiàng)式相除取余得到。 作為優(yōu)選的方案,可以是選取x4+x 2+l為生成多項(xiàng)式。
[0045] 參見圖2,為在一個(gè)具體應(yīng)用實(shí)例中CRC二維碼的示意圖。黑色外邊框?yàn)閳D中的黑 色邊框邊長為11個(gè)位碼,寬度為2個(gè)位碼,白色內(nèi)邊框?yàn)閳D中的白色邊框?qū)挾葹?個(gè)位碼。外 邊框上有4個(gè)外頂點(diǎn),內(nèi)邊框上有4個(gè)內(nèi)頂點(diǎn)。數(shù)據(jù)區(qū)的大小為5X5個(gè)位碼;數(shù)據(jù)區(qū)的前21個(gè) bit為位碼區(qū),用于存放ID的二進(jìn)制表示,最后4個(gè)bit為CRC校驗(yàn)碼區(qū),用于存放CRC校驗(yàn)碼。
[0046] 例如:ID70939的二進(jìn)制表示是:10001010100011011,則加零補(bǔ)齊21位之后位碼區(qū) 的值為000010001010100011011。本實(shí)施案例中,CRC生成多項(xiàng)式是x 4+x2+l,該示例中位碼區(qū) 數(shù)據(jù)對(duì)應(yīng)的4b i t的CRC校驗(yàn)碼為11 0 1。所以最終得到的25b i t的數(shù)據(jù)區(qū)的值為: 0000100010101000110111101。
[0047] 在上述步驟的基礎(chǔ)上,還包括:判斷給定二維碼ID是否是有效ID;由于位碼區(qū)為 21bit,所以能夠表示的有效的ID范圍是:0~2097151,那么給定的ID必須在能夠表示的有 效范圍以內(nèi)。對(duì)于有效的ID形成的編碼矩陣,分別用黑色和白色來填充對(duì)應(yīng)碼元方塊。然后 按照CRC二維碼圖像的結(jié)構(gòu),添加白色內(nèi)邊框和黑色外邊框。最后在外邊框的右上角添加ID 的十進(jìn)制數(shù)字,形成一幅完整的CRC二維碼圖片。
[0048] 對(duì)于通用的二維碼,比如QR二維碼,其結(jié)構(gòu)的三個(gè)頂點(diǎn)處設(shè)置有定位碼,可以通過 這三個(gè)定位碼來判斷QR二維碼在圖像中的旋轉(zhuǎn)方向,從而正確的讀取數(shù)據(jù)區(qū)的編碼。對(duì)于 本發(fā)明設(shè)計(jì)的CRC二維碼,由于需要精確確定邊框的頂點(diǎn),所以邊框采用連續(xù)邊線組成的對(duì) 稱結(jié)構(gòu)。因此無法根據(jù)檢測(cè)的邊框確定CRC二維碼在圖像中的旋轉(zhuǎn)方向,這會(huì)給CRC二維碼 的識(shí)別帶來模糊問題。為了解決本問題,本發(fā)明選取那些僅能從0°旋轉(zhuǎn)方向正確讀取的ID。 即對(duì)于一個(gè)給定的ID編號(hào)(比如70939),將其轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)得到位碼,并計(jì)算相應(yīng)的 CRC校驗(yàn)碼。然后將位碼和校驗(yàn)碼填入到數(shù)據(jù)區(qū),形成5X5的編碼矩陣。如圖3所示,將編碼 矩陣分別旋轉(zhuǎn)0°、90°、180°、270°,得到4個(gè)編碼矩陣,對(duì)應(yīng)的編碼分別是: 0000100010101000110111101,1001101000001110001100101, 1011110110001010100010000,1010011000111000001011001。這以上的四組編碼中,只有第 一組的校驗(yàn)碼與位碼正確匹配,即只能從0°旋轉(zhuǎn)方向正確讀取。因此70939是一個(gè)有效的ID 編號(hào)。
[0049] 如圖4所示,本發(fā)明進(jìn)一步提供一種基于上述CRC二維碼的識(shí)別方法,步驟為:
[0050] S1:檢測(cè)二維碼圖像的邊緣和頂點(diǎn);即,進(jìn)行圖像二值化及邊緣檢測(cè),提取可能的 CRC二維碼邊沿和頂點(diǎn)。
[0051] 二維碼圖像的邊緣檢測(cè)包括圖像二值化邊緣提取和凸四邊形校驗(yàn)。因?yàn)楸景l(fā)明設(shè) 計(jì)的二維碼的黑色邊緣是正四邊形,經(jīng)過圖像透視變化后,應(yīng)該保持凸四邊形的特點(diǎn),所以 對(duì)于場(chǎng)景圖像中提取的閉合邊緣,必須滿足凸四邊形的條件,才有可能是二維碼的圖像。 [0052]因此,步驟可以為:
[0053]首先,將輸入圖像轉(zhuǎn)換為二值圖像,提取黑白區(qū)域的邊緣像素點(diǎn)。然后,在提取的 圖像邊緣中,選取滿足具有4個(gè)頂點(diǎn)的凸閉合邊緣,得到二維碼區(qū)域的候選集。
[0054] S2:并對(duì)提取的二維碼區(qū)域進(jìn)行單應(yīng)變換,讀取位碼;即,對(duì)圖像中的CRC二維碼區(qū) 域進(jìn)行單應(yīng)變換,根據(jù)像素值讀取位碼和CRC校驗(yàn)碼。
[0055] 對(duì)每個(gè)二維碼區(qū)域的候選集,如圖5所示,根據(jù)數(shù)據(jù)庫中的二維碼頂點(diǎn)pjP場(chǎng)景圖 像二維碼頂點(diǎn)Pl'之間的關(guān)系,估計(jì)單應(yīng)矩陣H。計(jì)算公式為:
[0056] [pi' X ]Hpi = 0(i = 1,2,3,4)
[0057]其中[Pl'X]表示由齊次坐標(biāo)仍'形成的反對(duì)稱陣。上式是關(guān)于H的線性方程,將4個(gè) 頂點(diǎn)的齊次坐標(biāo)代人上式,用最小二乘估計(jì)算法求出H。
[0058] 利用估計(jì)的單應(yīng)矩陣H,將數(shù)據(jù)庫中二維碼的數(shù)據(jù)區(qū)域內(nèi)每個(gè)位碼的中心位置投 影到圖像中,得到像素坐標(biāo)從而讀取該坐標(biāo)的位碼b 1: r"cn1 fo if
[0059] ^=\
[1 else
[0060] 其中g(shù)(yi,Vi)是像素坐標(biāo)(yi,Vi)處的圖像灰度值,gthre5shc)ld是判斷位碼為1或者〇 的灰度值閾值。將數(shù)據(jù)區(qū)域的所有位碼{bj組成二進(jìn)制串,則可得到編碼。圖5所示的二維 碼圖像中數(shù)據(jù)區(qū)域的編碼為:〇〇〇〇1〇〇〇1〇1〇1〇〇〇11〇1111〇1。
[0061] S3:利用循環(huán)冗余碼校驗(yàn)(CRC)技術(shù)對(duì)位碼進(jìn)行錯(cuò)誤檢測(cè),識(shí)別二維碼的ID。
[0062]對(duì)于本實(shí)施案例中提取的二維碼編碼,其前21位為二維碼ID對(duì)應(yīng)的二進(jìn)制數(shù)據(jù), 后4位是該二進(jìn)制數(shù)據(jù)的CRC校驗(yàn)碼。本實(shí)例案例中,采用與二維碼生成算法中相同的CRC生 成多項(xiàng)式(即:x4 + x2 + l )。對(duì)于圖5所示的二維碼圖像,前21位二進(jìn)制碼為: 000010001010100011011,對(duì)應(yīng)的CRC校驗(yàn)碼為1101。將由前21位二進(jìn)制數(shù)據(jù)計(jì)算的CRC碼與 提取的編碼后4位相比,如果相同,則該二維碼圖像被正確提取,識(shí)別結(jié)構(gòu)有效。如該例中計(jì) 算的C R C校驗(yàn)碼與圖像中檢測(cè)的C R C二維碼均為1 1 0 1,說明I D編碼正確, 000010001010100011011 對(duì)應(yīng)的 ID 號(hào)為 70939。
[0063]以上僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例, 凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的 普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤飾,應(yīng)視為本發(fā)明的保護(hù) 范圍。
【主權(quán)項(xiàng)】
1. 一種視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,步驟為: 設(shè)置數(shù)據(jù)區(qū)和ID編號(hào),所述數(shù)據(jù)區(qū)包括ID的二進(jìn)制位碼區(qū)和對(duì)應(yīng)的CRC校驗(yàn)碼區(qū),所述 ID編號(hào)是該二維碼在二維碼數(shù)據(jù)庫中唯一的十進(jìn)制編號(hào); 構(gòu)建CRC二維碼的邊框和設(shè)置邊框頂點(diǎn):邊框包括具有對(duì)比度的內(nèi)邊框和外邊框;頂點(diǎn) 包括4個(gè)外邊框頂點(diǎn)和4個(gè)內(nèi)邊框頂點(diǎn); 生成CRC二維碼圖片。2. 根據(jù)權(quán)利要求1所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,所述邊框 采用連續(xù)邊線組成的對(duì)稱結(jié)構(gòu),所述內(nèi)邊框和外邊框之間的對(duì)比度為顏色的對(duì)比度,或亮 度的對(duì)比度,或者是兩者的組合。3. 根據(jù)權(quán)利要求1所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,所述外邊 框的寬度為2個(gè)碼元寬度,所述內(nèi)邊框的寬度為1個(gè)碼元寬度。4. 根據(jù)權(quán)利要求1或2或3所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,所 述數(shù)據(jù)區(qū)的寬度為5個(gè)碼元寬度,所述數(shù)據(jù)區(qū)包含5 X 5 = 25個(gè)b i t的信息;其中前21個(gè)b i t用 于存放該二維碼ID對(duì)應(yīng)的二進(jìn)制位碼,后4個(gè)bit用于存放二進(jìn)制位碼的CRC校驗(yàn)碼。5. 根據(jù)權(quán)利要求1或2或3所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,利 用二進(jìn)制數(shù)表示二維碼的ID,并用循環(huán)冗余碼技術(shù)計(jì)算ID的校驗(yàn)碼,將二進(jìn)制表示的ID與 校驗(yàn)碼組合,構(gòu)成固定長度的位碼。6. 根據(jù)權(quán)利要求1或2或3所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,所 述CRC校驗(yàn)碼由二進(jìn)制位碼對(duì)應(yīng)的多項(xiàng)式與生成多項(xiàng)式相除取余得到。7. 根據(jù)權(quán)利要求1或2或3所述的視覺導(dǎo)航用的CRC二維碼的生成方法,其特征在于,選 取那些僅能從O旋轉(zhuǎn)方向正確讀取的ID,即對(duì)于一個(gè)給定的ID編號(hào),將其轉(zhuǎn)換為二進(jìn)制數(shù)據(jù) 得到位碼,并計(jì)算相應(yīng)的CRC校驗(yàn)碼碼;然后將位碼和校驗(yàn)碼填入到數(shù)據(jù)區(qū),形成5 X 5的編 碼矩陣。8. -種基于上述權(quán)利要求1~7中任意一項(xiàng)CRC二維碼的識(shí)別方法,其特征在于,步驟 為: Sl:檢測(cè)二維碼圖像的邊緣和頂點(diǎn);即,進(jìn)行圖像二值化及邊緣檢測(cè),提取可能的CRC二 維碼邊沿和頂點(diǎn); S2:并對(duì)提取的二維碼區(qū)域進(jìn)行單應(yīng)變換,讀取位碼;即,對(duì)圖像中的CRC二維碼區(qū)域進(jìn) 行單應(yīng)變換,根據(jù)像素值讀取位碼和CRC校驗(yàn)碼; S3:利用循環(huán)冗余碼校驗(yàn)技術(shù)對(duì)位碼進(jìn)行錯(cuò)誤檢測(cè),識(shí)別二維碼的ID。9. 根據(jù)權(quán)利要求8所述的CRC二維碼的識(shí)別方法,其特征在于,所述步驟SI的具體流程 為:首先將輸入圖像轉(zhuǎn)換為二值圖像,提取黑白區(qū)域的邊緣像素點(diǎn);然后在提取的圖像邊緣 中,選取滿足具有4個(gè)頂點(diǎn)的凸閉合邊緣,得到二維碼區(qū)域的候選集。10. 根據(jù)權(quán)利要求8所述的CRC二維碼的識(shí)別方法,其特征在于,所述步驟S2中,對(duì)每個(gè) 二維碼區(qū)域的候選集,根據(jù)數(shù)據(jù)庫中的二維碼頂點(diǎn) ?1和場(chǎng)景圖像二維碼頂點(diǎn)?/之間的關(guān) 系,估計(jì)單應(yīng)矩陣H;計(jì)算公式為: [pi7 X ]Hpi = 0(i = l ,2,3,4) 其中[p/ X ]表示由齊次坐形成的反對(duì)稱陣;上式是關(guān)于H的線性方程,將4個(gè)頂點(diǎn) 的齊次坐標(biāo)代人上式,用最小二乘估計(jì)算法求出H。
【文檔編號(hào)】G06K19/06GK105894069SQ201610186083
【公開日】2016年8月24日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】吳城鳳, 羅兵
【申請(qǐng)人】吳城鳳, 羅兵