亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種棱柱體表面的二維碼的生成和采集方法與流程

文檔序號(hào):11865252閱讀:318來(lái)源:國(guó)知局
一種棱柱體表面的二維碼的生成和采集方法與流程

本發(fā)明涉及二維碼的打印和識(shí)別領(lǐng)域,特別是指一種棱柱體表面的二維碼的生成和采集方法。



背景技術(shù):

目前,隨著移動(dòng)互聯(lián)網(wǎng)高速發(fā)展,隨著3G/4G移動(dòng)網(wǎng)絡(luò)環(huán)境下智能手機(jī)和平板電腦等移動(dòng)智能終端的快速普及以及二維碼編碼解碼技術(shù)的相對(duì)成熟,二維碼應(yīng)用不再受到時(shí)空和硬件設(shè)備的局限因而對(duì)人們?nèi)粘I町a(chǎn)生的影響日益深遠(yuǎn)。二維碼被廣泛應(yīng)用于各個(gè)行業(yè),如物流業(yè)、生產(chǎn)制造業(yè)、交通、安防、票證等行業(yè)。而且,隨著全球信息通信技術(shù)的迅猛發(fā)展,以手機(jī)為終端的各種應(yīng)用不斷涌現(xiàn),在未來(lái),手機(jī)無(wú)疑將成為移動(dòng)商務(wù)賴以發(fā)展的最重要的終端之一,而手機(jī)二維碼的發(fā)展將在移動(dòng)商務(wù)的發(fā)展中將扮演重要角色。

但是,當(dāng)前二維碼的印刷和放置受到一定限制,在目前的技術(shù)中,需要將二維碼印制在平面或近似平面的印品上、或顯示在平面的終端顯示屏上,才能使得用戶移動(dòng)終端中的掃碼APP可以識(shí)別。但如果需要將二維碼圖案印制或者顯示在非平面的物體表面上,尤其是棱柱表面,如何在不改變當(dāng)前的掃碼軟件的解碼功能的前提便可掃碼成功,成為了一個(gè)有待解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提出一種在棱柱表面打印二維碼,并且在不改變當(dāng)前的掃碼軟件的解碼功能的前提便可掃碼成功的二維碼的生成和采集方法。

基于上述目的本發(fā)明提供的一種棱柱表面的二維碼的生成和采集方法,所述棱柱表面從左到右依次包括第一平面、第二平面和第三平面,包括:

獲取所述原始二維碼的寬度,以及所棱柱表面中的第一平面、第二平面和第三平面在標(biāo)準(zhǔn)平面中的投影的寬度比例,其中,所述標(biāo)準(zhǔn)平面為所述第二平面的平行平面;

根據(jù)所述寬度比例將所述原始二維碼分割為對(duì)應(yīng)部分,對(duì)所述第一平面和第三平面對(duì)應(yīng)的原始二維碼部分分別做橫向線性拉伸,得到所述第一平面和所述第三平面的預(yù)形變二維碼部分,將所述第二平面對(duì)應(yīng)的原始二維碼部分直接作為第二平面的預(yù)形變二維碼部分,將所述第一平面、所述第二平面和第三平面的預(yù)形變二維碼部分組合成完整的預(yù)形變二維碼,打印在所述棱柱表面的對(duì)應(yīng)位置處;

使用采集設(shè)備對(duì)所述完整的預(yù)形變二維碼沿垂直所述標(biāo)準(zhǔn)面的方向進(jìn)行圖像采集,得到所述完整的預(yù)形變二維碼對(duì)應(yīng)的采集圖像,所述采集圖像與所述原始二維碼相同。

進(jìn)一步的,所述棱柱表面的二維碼的生成包括:

將所述原始二維碼在豎直高度上切成單位厚度為1像素點(diǎn)的行像素;

對(duì)每一行所述像素位于第一平面和第三平面上的部分進(jìn)行相應(yīng)的所述橫向線性拉伸,得到所述棱柱表面上的預(yù)形變二維碼的與所述行像素對(duì)應(yīng)的預(yù)形變行像素;

遍歷整個(gè)所述的預(yù)形變二維碼圖像,根據(jù)與原始二維碼圖像的對(duì)應(yīng)關(guān)系,對(duì)預(yù)形變二維碼圖像進(jìn)行賦值,從而得到預(yù)形變二維碼圖像。

進(jìn)一步的,對(duì)于所述行像素,其進(jìn)一步包括第一段直線段、第二段直線段和第三直線段,所述對(duì)每一行所述像素位于第一平面和第三平面上的部分進(jìn)行相應(yīng)的所述橫向線性拉伸的過(guò)程為:

對(duì)所述第一段直線段和第三段直線段進(jìn)行橫向線性拉伸,對(duì)所述第二直線段不做處理,具體為:

將原始二維碼中的第一直線段的像素進(jìn)行編號(hào);

得到第一平面與第二平面之間的較小的角度,計(jì)算其角度的正弦作為第一比例值,將原始二維碼中的第一直線段長(zhǎng)度除以第一比例值,可以得到預(yù)形變二維碼中第一直線段的長(zhǎng)度。將所述預(yù)形變二維碼中第一直線段的像素點(diǎn)進(jìn)行編號(hào)。

將預(yù)形變二維碼中所述第一直線段的編號(hào)乘以所述第一比例值,然后四舍五入取整,得到對(duì)應(yīng)的原始二維碼中第一直線段的像素點(diǎn)編號(hào)。從而得到預(yù)形變二維碼第一直線段中像素點(diǎn)與原始二維碼第一直線段像素點(diǎn)的對(duì)應(yīng)關(guān)系;

根據(jù)所述的像素點(diǎn)對(duì)應(yīng)關(guān)系將原始二維碼中第一直線段中的像素點(diǎn)的像素賦值在預(yù)形變二維碼部分的第一直線段的對(duì)應(yīng)編號(hào)的像素點(diǎn),生成預(yù)形變二維碼第一直線段;

對(duì)所述第三段直線段對(duì)應(yīng)的原始二維碼部分做如對(duì)所述第一段直線段的所述橫向線性拉伸,生成第三段直線段的預(yù)形變二維碼第三行像素段;

將所述第二段直線段對(duì)應(yīng)的原始二維碼部分的像素點(diǎn)的像素值直接賦值在所述第二段直線段的預(yù)形變二維碼部分的對(duì)應(yīng)編號(hào)的像素點(diǎn)上

將所述預(yù)形變二維碼第一行像素段、預(yù)形變二維碼第二行像素段和預(yù)形變二維碼第三行像素段組成所述行像素對(duì)應(yīng)的預(yù)形變二維碼行像素;

對(duì)每一個(gè)所述行像素均執(zhí)行前述過(guò)程,將生成的多個(gè)所述預(yù)形變二維碼行像素組合成所述完整的形變二維碼。

進(jìn)一步的,所述對(duì)所述第一平面和第三平面對(duì)應(yīng)的原始二維碼部分分別做橫向線性拉伸包括:

將原始二維碼中的第一平面的像素進(jìn)行編號(hào);

得到第一平面與第二平面之間的較小的角度,計(jì)算其角度的正弦作為第一比例值,將原始二維碼中的第一平面寬度除以第一比例值,可以得到預(yù)形變二維碼中第一平面的寬度。將所述預(yù)形變二維碼中第一平面的像素點(diǎn)進(jìn)行編號(hào)。

將預(yù)形變二維碼中所述第一平面的編號(hào)乘以所述第一比例值,然后四舍五入取整,得到對(duì)應(yīng)的原始二維碼中第一平面的像素點(diǎn)編號(hào)。從而得到預(yù)形變二維碼第一平面中像素點(diǎn)與原始二維碼第一平面像素點(diǎn)的對(duì)應(yīng)關(guān)系;

根據(jù)所述的像素點(diǎn)對(duì)應(yīng)關(guān)系將原始二維碼中第一直線段中的像素點(diǎn)的像素賦值在預(yù)形變二維碼部分的第一直線段的對(duì)應(yīng)編號(hào)的像素點(diǎn),生成預(yù)形變二維碼第一平面;

對(duì)所述第三平面對(duì)應(yīng)的原始二維碼部分做如對(duì)所述第一平面相同的所述橫向線性拉伸,生成第三平面的預(yù)形變二維碼部分;

對(duì)所述第二平面對(duì)應(yīng)的原始二維碼部分不做處理,直接將所述第二平面對(duì)應(yīng)的原始二維碼部分作為第二平面的預(yù)形變二維碼部分。

進(jìn)一步的,所述棱柱體表面的二維碼的生成過(guò)程包括:

將所述原始二維碼一列像素進(jìn)行相應(yīng)的橫向線性拉伸或不做處理,得到所述棱柱表面上的預(yù)形變二維碼的與所述列像素對(duì)應(yīng)的列像素;

遍歷整個(gè)所述的預(yù)形變二維碼圖像,根據(jù)與原始二維碼圖像的對(duì)應(yīng)關(guān)系,對(duì)預(yù)形變二維碼圖像進(jìn)行賦值,從而得到預(yù)形變二維碼圖像。

進(jìn)一步的,當(dāng)所述棱柱表面左右對(duì)稱時(shí),僅需計(jì)算對(duì)稱軸一側(cè)的預(yù)形變二維碼的像素點(diǎn)編號(hào),根據(jù)所述編號(hào)對(duì)所述預(yù)形變二維碼的像素點(diǎn)賦值,并按照同樣的賦值方法對(duì)對(duì)稱軸另一側(cè)的預(yù)形變二維碼的像素點(diǎn)進(jìn)行賦值。

從上面所述可以看出,本發(fā)明提供的一種棱柱表面的二維碼的生成和采集方法,根據(jù)棱柱各平面的比例將原始二維碼分割為對(duì)應(yīng)部分,并對(duì)第一平面和第三平面對(duì)應(yīng)的二維碼部分做橫向線性拉伸,得到對(duì)應(yīng)的預(yù)形變二維碼部分,對(duì)第二平面對(duì)應(yīng)的原始二維碼部分不做處理,將第二平面對(duì)應(yīng)的原始二維碼部分直接作為第二平面對(duì)應(yīng)的預(yù)形變二維碼部分,并組合成完整的形變二維碼,打印在柱組表面的對(duì)應(yīng)位置處;使用采集設(shè)備對(duì)所述完整的形變二維碼沿垂直所述標(biāo)準(zhǔn)面的方向進(jìn)行圖像采集,得到所述完整的形變二維碼對(duì)應(yīng)的采集圖像;所述采集圖像與所述原始二維碼相同。在不改變當(dāng)前的掃碼軟件的解碼模塊情況下實(shí)現(xiàn)二維碼的讀取和識(shí)別,拓寬了二維碼的應(yīng)用場(chǎng)合,特別在一些小尺寸的、表面為棱柱表面的商品上可得到相關(guān)應(yīng)用。

附圖說(shuō)明

圖1為本發(fā)明棱柱表面的二維碼的生成和采集方法的一個(gè)實(shí)施例的流程圖;

圖2為本發(fā)明棱柱表面的二維碼的生成和采集方法的另一個(gè)實(shí)施例的流程圖;

圖3為本發(fā)明棱柱表面的二維碼的生成和采集方法的再一個(gè)實(shí)施例的流程圖;

圖4為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中預(yù)形變二維碼打印載體示意圖;

圖5為本發(fā)明棱柱表面的二維碼的生成和采集方法的載體截面示意圖;

圖6為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中采用的原始二維碼圖片;

圖7為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中采用的原始二維碼拉伸后生成的預(yù)形變二維碼圖片。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。

本發(fā)明的實(shí)施例提供一種棱柱表面的二維碼的生成和采集方法,所述棱柱表面從左到右依次包括第一平面、第二平面和第三平面,包括:

獲取所述原始二維碼的寬度,以及所棱柱表面中的第一平面、第二平面和第三平面在標(biāo)準(zhǔn)平面中的投影的寬度比例,其中,所述標(biāo)準(zhǔn)平面為所述第二平面的平行平面;

根據(jù)所述寬度比例將所述原始二維碼分割為對(duì)應(yīng)部分,對(duì)所述第一平面和第三平面對(duì)應(yīng)的原始二維碼部分分別做橫向線性拉伸,得到所述第一平面和所述第三平面的預(yù)形變二維碼部分,將所述第二平面對(duì)應(yīng)的原始二維碼部分直接作為第二平面的預(yù)形變二維碼部分,將所述第一平面、所述第二平面和第三平面的預(yù)形變二維碼部分組合成完整的預(yù)形變二維碼,打印在所述棱柱表面的對(duì)應(yīng)位置處;

使用采集設(shè)備對(duì)所述完整的預(yù)形變二維碼沿垂直所述標(biāo)準(zhǔn)面的方向進(jìn)行圖像采集,得到所述完整的預(yù)形變二維碼對(duì)應(yīng)的采集圖像,所述采集圖像與所述原始二維碼相同。

如圖1所示,為本發(fā)明棱柱表面的二維碼的生成和采集方法的一個(gè)實(shí)施例的流程圖。在本實(shí)施例中,所述棱柱表面的二維碼的生成和采集方法包括以下步驟:

步驟101:獲取所述原始二維碼,并測(cè)量其寬度。

步驟102:選取第二平面的平行平面為標(biāo)準(zhǔn)平面,并計(jì)算棱柱表面中第一平面、第二平面和第三平面在標(biāo)準(zhǔn)平面中的投影的寬度比例。

步驟103:根據(jù)棱柱表面中第一平面、第二平面和第三平面在標(biāo)準(zhǔn)平面中的投影的寬度比例將原始二維碼分割為對(duì)應(yīng)部分。

步驟104:對(duì)所述第一平面和第三平面對(duì)應(yīng)的原始二維碼部分分別做橫向線性拉伸,得到所述第一平面和所述第三平面的預(yù)形變二維碼部分,對(duì)所述第二平面對(duì)應(yīng)的原始二維碼部分不做處理,將所述第二平面對(duì)應(yīng)的原始二維碼部分直接作為所述第二平面的預(yù)形變二維碼部分。

步驟105:將所述第一平面和所述第二平面的預(yù)形變二維碼部分以及所述第三平面的預(yù)形變二維碼部分組合成完整的預(yù)形變二維碼,打印在所述棱柱表面的對(duì)應(yīng)位置處。

步驟106:當(dāng)使用采集設(shè)備對(duì)所述完整的預(yù)形變二維碼沿垂直所述標(biāo)準(zhǔn)面的方向進(jìn)行圖像采集,得到所述完整的預(yù)形變二維碼對(duì)應(yīng)的采集圖像,所述采集圖像與所述原始二維碼相同。

本發(fā)明通過(guò)張貼二維碼的棱柱體的空間幾何關(guān)系約束,按照保形投影逆映射的要求,將正常的二維碼圖片預(yù)先進(jìn)行線性和非線性拉伸,得到預(yù)形變二維碼。預(yù)形變的二維碼經(jīng)過(guò)打印以后張貼到棱柱體表面,通過(guò)二維碼掃描終端,在不改變當(dāng)前的掃碼軟件的解碼模塊情況下實(shí)現(xiàn)二維碼的讀取和識(shí)別,拓寬了二維碼的應(yīng)用場(chǎng)合,特別在一些小尺寸的、表面為棱柱體表面的商品上可得到相關(guān)應(yīng)用。

如圖2所示,為本發(fā)明棱柱體表面的二維碼的生成和采集方法的另一個(gè)實(shí)施例的流程圖。在本實(shí)施例中,棱柱體表面的二維碼的生成和采集方法包括以下步驟:

步驟201:獲取原始二維碼,測(cè)量原始二維碼的寬度,并對(duì)原始二維碼的像素點(diǎn)進(jìn)行編號(hào),選取標(biāo)準(zhǔn)平面。

步驟202:將所述原始二維碼在豎直高度上切成單位厚度為1像素點(diǎn)的行像素,對(duì)單一行像素進(jìn)行操作,對(duì)于所述行像素,其進(jìn)一步包括第一段直線段、第二段直線段和第三直線段。

步驟203:對(duì)第一直線段和第三直線段對(duì)應(yīng)的行像素部分進(jìn)行橫向的線性拉伸,具體過(guò)程包括步驟204和步驟205。

步驟204:將原始二維碼中的第一直線段的像素進(jìn)行編號(hào);

得到第一平面與第二平面之間的較小的角度,計(jì)算其角度的正弦作為第一比例值,將原始二維碼中的第一直線段長(zhǎng)度除以第一比例值,可以得到預(yù)形變二維碼中第一直線段的長(zhǎng)度。將所述預(yù)形變二維碼中第一直線段的像素點(diǎn)進(jìn)行編號(hào)。

將預(yù)形變二維碼中所述第一直線段的編號(hào)乘以所述第一比例值,然后四舍五入取整,得到對(duì)應(yīng)的原始二維碼中第一直線段的像素點(diǎn)編號(hào)。從而得到預(yù)形變二維碼第一直線段中像素點(diǎn)與原始二維碼第一直線段像素點(diǎn)的對(duì)應(yīng)關(guān)系。

步驟205:根據(jù)所述的像素點(diǎn)對(duì)應(yīng)關(guān)系將原始二維碼中第一直線段中的像素點(diǎn)的像素賦值在預(yù)形變二維碼部分的第一直線段的對(duì)應(yīng)編號(hào)的像素點(diǎn),生成預(yù)形變二維碼第一直線段,對(duì)所述第三段直線段對(duì)應(yīng)的原始二維碼部分做如對(duì)所述第一段直線段的所述橫向線性拉伸,生成預(yù)形變二維碼第三行像素段。

步驟206:對(duì)第二直線段對(duì)應(yīng)的行像素部分不做拉伸處理,只進(jìn)行步驟207的操作。

步驟207:將所述第二段直線段對(duì)應(yīng)的原始二維碼部分的像素點(diǎn)的像素值直接賦值在所述第二段直線段的預(yù)形變部分的對(duì)應(yīng)編號(hào)的像素點(diǎn)上,生成第二段直線段的預(yù)形變二維碼第二行像素段。

步驟208:將預(yù)形變二維碼第一行像素段、預(yù)形變二維碼第二行像素段和預(yù)形變二維碼第三行像素段組成所述行像素對(duì)應(yīng)的預(yù)形變二維碼行像素。

步驟209:對(duì)每一行所述像素進(jìn)行相應(yīng)的所述橫向線性拉伸或不做處理,得到所述棱柱表面上的預(yù)形變二維碼的與所述行像素對(duì)應(yīng)的預(yù)形變行像素;遍歷整個(gè)所述原始二維碼圖像,得到預(yù)形變二維碼圖像。

如圖3所示,為本發(fā)明棱柱表面的二維碼的生成和采集方法的再一個(gè)實(shí)施例的流程圖。在本實(shí)施例中,棱柱表面的二維碼的生成和采集方法包括以下步驟:

步驟301:獲取原始二維碼,測(cè)量原始二維碼的寬度,并對(duì)原始二維碼的像素點(diǎn)進(jìn)行編號(hào),選取標(biāo)準(zhǔn)平面。所示標(biāo)準(zhǔn)平面為第二平面的平行平面。對(duì)原始二維碼的像素點(diǎn)從左到右進(jìn)行編號(hào),也可以從右到左進(jìn)行編號(hào),為了計(jì)算方便,通常從1開(kāi)始對(duì)像素點(diǎn)進(jìn)行編號(hào)。

步驟302:將原始二維碼根據(jù)棱柱面在標(biāo)準(zhǔn)平面中投影寬度的比例分割,即將原始二維碼分割為第一平面、第二平面和第三平面對(duì)應(yīng)的部分。

步驟303:分別對(duì)第一平面部分對(duì)應(yīng)的原始二維碼和第三平面部分對(duì)應(yīng)的原始二維碼做橫向線性拉伸,具體過(guò)程包括步驟304和步驟305。

步驟304:將原始二維碼中的第一平面的像素進(jìn)行編號(hào);

得到第一平面與第二平面之間的較小的角度,計(jì)算其角度的正弦作為第一比例值,得到第三平面與第二平面之間的較小的角度,計(jì)算器角度的正弦作為第二比例值;將原始二維碼中的第一平面的寬度除以第一比例值,可以得到預(yù)形變二維碼中第一平面的寬度。將所述預(yù)形變二維碼中第一平面的像素點(diǎn)進(jìn)行編號(hào)。

將預(yù)形變二維碼中所述第一平面的編號(hào)乘以所述第一比例值,然后四舍五入取整,得到對(duì)應(yīng)的原始二維碼中第一平面的像素點(diǎn)編號(hào)。從而得到預(yù)形變二維碼第一平面中像素點(diǎn)與原始二維碼第一平面像素點(diǎn)的對(duì)應(yīng)關(guān)系。

步驟305:根據(jù)所述的像素點(diǎn)對(duì)應(yīng)關(guān)系將原始二維碼中第一平面中的像素點(diǎn)的像素賦值在預(yù)形變二維碼部分的第一平面的對(duì)應(yīng)編號(hào)的像素點(diǎn),生成預(yù)形變二維碼第一平面,;對(duì)所述第三平面對(duì)應(yīng)的原始二維碼部分做如對(duì)所述第一平面相同的所述橫向線性拉伸,生成第三平面的預(yù)形變二維碼部分。

步驟306:對(duì)第二平面對(duì)應(yīng)的原始二維碼不做拉伸處理,只進(jìn)行步驟307的操作。

步驟307:將所述第二平面對(duì)應(yīng)的原始二維碼部分的像素點(diǎn)的像素值直接賦值在所述第二平面的預(yù)形變二維碼部分的對(duì)應(yīng)編號(hào)的像素點(diǎn)上,生成第二平面的預(yù)形變二維碼部分。

步驟308:將第一平面的預(yù)形變二維碼部分、第二平面的預(yù)形變二維碼部分和第三平面的預(yù)形變二維碼部分組合成完整的預(yù)形變二維碼。

作為本發(fā)明的一個(gè)實(shí)施例,所述圓-棱柱組合體表面的二維碼的生成過(guò)程還可以為:

將所述原始二維碼一列像素進(jìn)行相應(yīng)的橫向線性拉伸或不做處理,得到所述棱柱表面上的預(yù)形變二維碼的與所述列像素對(duì)應(yīng)的列像素;

遍歷整個(gè)所述的預(yù)形變二維碼圖像,根據(jù)與原始二維碼圖像的對(duì)應(yīng)關(guān)系,對(duì)預(yù)形變二維碼圖像進(jìn)行賦值,從而得到預(yù)形變二維碼圖像。

作為本發(fā)明的另一個(gè)實(shí)施例,當(dāng)所述棱柱表面打印二維碼的部分左右對(duì)稱時(shí),僅需計(jì)算對(duì)稱軸一側(cè)的預(yù)形變二維碼的像素點(diǎn)編號(hào),根據(jù)所述編號(hào)對(duì)所述預(yù)形變二維碼的像素點(diǎn)賦值,并按照同樣的賦值方法對(duì)對(duì)稱軸另一側(cè)的預(yù)形變二維碼的像素點(diǎn)進(jìn)行賦值。

如圖4所示,為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中預(yù)形變二維碼打印載體示意圖。所述預(yù)形變二維碼打印載體包括第一平面ABB’A’、第二平面BCC’B’和第三平面CDD’C’,將原始二維碼拉伸后,打印在棱柱面ABCD-A’B’C’D’上。

如圖5所示,為本發(fā)明棱柱表面的二維碼的生成和采集方法的載體截面示意圖。

圖6為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中采用的原始二維碼圖片。

圖7為本發(fā)明棱柱表面的二維碼的生成和采集方法一個(gè)實(shí)施例中采用的原始二維碼拉伸后生成的預(yù)形變二維碼圖片。

根據(jù)投影關(guān)系可知,二維碼的高度在預(yù)形變時(shí)不變,即縱向上圖像沒(méi)有發(fā)生伸縮形變,因此只需要考慮圖像的橫向的形變即可。

預(yù)形變二維碼圖片將貼在面L1、L2、L3上。根據(jù)空間投影規(guī)則,L1面上的點(diǎn)A在L4面上投影是點(diǎn)D,L2面上點(diǎn)B在L4面上的投影是點(diǎn)E,L3面上點(diǎn)C在L4面上的投影是點(diǎn)F。在二維碼圖片附著在棱柱載體上后再進(jìn)行的拍攝識(shí)別中,所拍攝到的圖片是預(yù)形變二維碼圖片在面L4上的投影。只有當(dāng)θ1、θ2夠大時(shí),貼在面L1、L2、L3上的二維碼才能被識(shí)別,而如果θ1、θ2較小時(shí),由于圖像發(fā)生彎折,從正面看過(guò)去,L2面不發(fā)生變化,但L1、L3面中的二維碼黑白色塊的邊長(zhǎng)會(huì)變短,用現(xiàn)有的二維碼識(shí)別模塊不能直接識(shí)別。如果該投影可以在不經(jīng)過(guò)其他處理的情況下被現(xiàn)有的二維碼識(shí)別軟件所識(shí)別,則該投影必須與原二維碼圖片相一致,從而找到了原標(biāo)準(zhǔn)二維碼圖片與預(yù)形變處理后的二維碼圖片之間的投影映射關(guān)系。

如圖5所示,原標(biāo)準(zhǔn)二維碼圖片的總寬度為W1毫米,左棱距左邊緣的距離為O1毫米,右棱距右邊緣的距離為O2毫米,∠GHL為θ1,∠JIO為θ2。

第一步:通過(guò)已知的角度θ1、θ2計(jì)算預(yù)形變二維碼在左面和右面上的寬度,并獲得預(yù)形變二維碼圖像的寬度W2。

預(yù)形變二維碼的寬度的計(jì)算公式為:

第二步:創(chuàng)建一個(gè)新的寬度W2為高度為H的空?qǐng)D片,作為預(yù)形變后圖片。通過(guò)投影映射關(guān)系,找到預(yù)形變二維碼中A點(diǎn)對(duì)應(yīng)的原二維碼中的B點(diǎn)。找到預(yù)形變二維碼中B點(diǎn)對(duì)應(yīng)的原二維碼中的E點(diǎn)。找到預(yù)形變二維碼中C點(diǎn)對(duì)應(yīng)的原二維碼中的F點(diǎn)。

第三步:當(dāng)點(diǎn)A在L1面移動(dòng)時(shí),長(zhǎng)度lGA與長(zhǎng)度lGD之間的關(guān)系是:

lGD=lGA*sinθ1

第四步:當(dāng)點(diǎn)B在L2面移動(dòng)時(shí),長(zhǎng)度lEL=lBH。

第五步:當(dāng)點(diǎn)C在L3面移動(dòng)時(shí)長(zhǎng)度lCI與長(zhǎng)度lFO之間的關(guān)系式為:

lFO=lCI*sinθ2

第六步:得到預(yù)形變二維碼上點(diǎn)與原始二維碼上的點(diǎn)之間的位置關(guān)系后,預(yù)形變二維碼圖像中的像素點(diǎn)就可以從它與原標(biāo)準(zhǔn)二維碼圖像中對(duì)應(yīng)關(guān)系而求出來(lái)。對(duì)預(yù)形變二維碼進(jìn)行逐行操作,從左到右遍歷像素點(diǎn)。根據(jù)與原標(biāo)準(zhǔn)二維碼的對(duì)應(yīng)關(guān)系,求出對(duì)應(yīng)的原始二維碼上的點(diǎn),對(duì)預(yù)形變二維碼進(jìn)行賦值,從而生成預(yù)形變二維碼。

需要說(shuō)明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見(jiàn)“第一”“第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說(shuō)明。

所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開(kāi)的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡(jiǎn)明它們沒(méi)有在細(xì)節(jié)中提供。

另外,為簡(jiǎn)化說(shuō)明和討論,并且為了不會(huì)使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺(tái)的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)顯而易見(jiàn)的是,可以在沒(méi)有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說(shuō)明性的而不是限制性的。

盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的。例如,其它存儲(chǔ)器架構(gòu)(例如,動(dòng)態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。

本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1