Qr碼位置探測圖形破損時(shí)的解碼方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及二維碼技術(shù)領(lǐng)域,特別涉及一種QR碼位置探測圖形破損時(shí)的解碼方法及系統(tǒng)。
【背景技術(shù)】
[0002]QR碼應(yīng)用越來越廣泛,由于環(huán)境影響,可能造成二維碼圖像破損。由于QR碼本身包含功能區(qū)域和編碼區(qū)域,利用功能區(qū)域的一些特征,在QR碼破損一定程度時(shí),QR碼圖像的信息仍是可恢復(fù)和識別的。參見附圖1,QR碼的功能區(qū)域包括位置探測圖形(1)、位置探測圖形分隔符(2)、定位圖形(3)、校正圖形(4),編碼區(qū)域包括格式信息圖形(5)、版本信息圖形(6)、數(shù)據(jù)信息圖形(7)。對QR碼的定位通常是通過對3個(gè)位置探測圖形的識別實(shí)現(xiàn)的,但是如果位置探測圖形出現(xiàn)破損,則不能用常規(guī)的方法對QR碼進(jìn)行定位。
[0003]公開號為CN104463059A的中國發(fā)明專利公開了一種QR碼識別中一個(gè)探測圖形破損時(shí)的重構(gòu)方法,依據(jù)另外兩個(gè)探測圖形和標(biāo)準(zhǔn)QR碼圖形右下角的定位圖形,對第三個(gè)探測圖形進(jìn)行恢復(fù)重構(gòu),在重構(gòu)的過程中重構(gòu)了 3組正方形,而實(shí)際只有I組正方形是與實(shí)際圖形相對較吻合的,因此該方法具有一定的冗余性,另外,此申請文件中的右下角的定位圖形實(shí)際是校正圖形,且與右下角的定位圖形相同的圖形在QR碼圖像中的個(gè)數(shù)有時(shí)不止一個(gè),因此采用這種方法過程比較復(fù)雜,重構(gòu)效率比較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是:提供一種效率高、誤差小的QR碼位置探測圖形破損時(shí)的解碼方法及系統(tǒng)。
[0005]為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
[0006]一種QR碼位置探測圖形破損時(shí)的解碼方法,
[0007]對接收到的包含二維碼圖形的圖像進(jìn)行二值化,并尋找位置探測圖形;
[0008]若尋找到的位置探測圖形的個(gè)數(shù)為兩個(gè),則采用如下方法解碼二維碼圖形:
[0009]統(tǒng)計(jì)兩個(gè)位置探測圖形的邊界線所在的直線的方程、頂點(diǎn)坐標(biāo)并計(jì)算二維碼圖形的數(shù)據(jù)位寬;
[0010]利用兩個(gè)位置探測圖形的邊界線和頂點(diǎn)的幾何關(guān)系判斷兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系還是對角關(guān)系;
[0011]根據(jù)兩個(gè)位置探測圖形的位置關(guān)系、定位圖形的位置特征及黑白相間的圖形特征尋找出確定好位置關(guān)系的兩個(gè)位置探測圖形之間的定位圖形;
[0012]根據(jù)兩個(gè)位置探測圖形及定位圖形確定二維碼圖形所在區(qū)域;
[0013]根據(jù)兩個(gè)位置探測圖形、定位圖形以及二維碼圖形的數(shù)據(jù)位寬對二維碼圖形所在區(qū)域進(jìn)行網(wǎng)格劃分;
[0014]對網(wǎng)格劃分后的二維碼圖形進(jìn)行解碼。
[0015]本發(fā)明的有益效果在于:利用兩個(gè)位置探測圖形的邊界線和頂點(diǎn)的幾何關(guān)系來判斷尋找到的兩個(gè)位置探測圖形的位置關(guān)系,并結(jié)合定位圖形這一功能圖形來確定二維碼圖形所在區(qū)域及二維碼圖形的旋轉(zhuǎn)角度,破損的位置探測圖形所在區(qū)域也可以直接推理得至IJ,識別QR碼的方法比較直接,效率高;根據(jù)定位圖形上的黑白分界線以及位置探測圖形對二維碼圖形進(jìn)行網(wǎng)格劃分,解碼QR碼的誤差小。
[0016]—種QR碼位置探測圖形破損時(shí)的解碼系統(tǒng),其特征在于,包括二值化模塊、第一尋找模塊、統(tǒng)計(jì)模塊、判斷模塊、第二尋找模塊、確定模塊、網(wǎng)格劃分模塊、解碼模塊,
[0017]二值化模塊,對接收到的包含二維碼圖形的圖像進(jìn)行二值化,
[0018]第一尋找模塊,用于在接收到包含的二維碼圖形的圖像中尋找位置探測圖形;
[0019]統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)兩個(gè)位置探測圖形的邊界線所在的直線的方程、頂點(diǎn)坐標(biāo)并計(jì)算二維碼圖形的數(shù)據(jù)位寬;
[0020]判斷模塊,用于利用兩個(gè)位置探測圖形的邊界線和頂點(diǎn)的幾何關(guān)系判斷兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系還是對角關(guān)系;
[0021]第二尋找模塊,用于根據(jù)兩個(gè)位置探測圖形的位置關(guān)系、定位圖形的位置特征及黑白相間的圖形特征尋找出確定好位置關(guān)系的兩個(gè)位置探測圖形之間的定位圖形;
[0022]確定模塊,用于根據(jù)兩個(gè)位置探測圖形及定位圖形確定二維碼圖形所在區(qū)域;
[0023]網(wǎng)格劃分模塊,用于根據(jù)兩個(gè)位置探測圖形、定位圖形以及二維碼圖形的數(shù)據(jù)位寬對二維碼圖形所在區(qū)域進(jìn)行網(wǎng)格劃分;
[0024]解碼模塊,用于對網(wǎng)格劃分后的二維碼圖形進(jìn)行解碼。
[0025]本發(fā)明的有益效果在于:通過二值模塊和第一尋找模塊找出接收到的包含二維碼圖形的圖像中的位置探測圖形,由兩個(gè)位置探測圖形通過統(tǒng)計(jì)模塊、判斷模塊、第二尋找模塊、確定模塊確定出二維碼圖形所在區(qū)域,通過網(wǎng)格劃分模塊和解碼模塊對二維碼圖形所在區(qū)域進(jìn)行網(wǎng)格劃分和解碼,所述系統(tǒng)結(jié)構(gòu)合理,解碼有一個(gè)位置探測圖形破損的二維碼圖形的效率高,誤差小。
【附圖說明】
[0026]圖1為QR碼功能區(qū)域與編碼區(qū)域結(jié)構(gòu)示意圖;
[0027]圖2為本發(fā)明實(shí)施例一、二的QR碼位置探測圖形破損時(shí)的解碼方法的流程圖;
[0028]圖3為本發(fā)明實(shí)施例一、二的QR碼的兩個(gè)位置探測圖形Ql的頂點(diǎn)及邊界線的結(jié)構(gòu)示意圖;
[0029]圖4為本發(fā)明實(shí)施例一、二的QR碼的兩個(gè)位置探測圖形Q2的頂點(diǎn)及邊界線的結(jié)構(gòu)示意圖;
[0030]圖5為本發(fā)明實(shí)施例一的兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系時(shí)的疑似定位圖形區(qū)域的結(jié)構(gòu)示意圖;
[0031]圖6為本發(fā)明實(shí)施例一的兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系時(shí)的二維碼圖形沿第一方向劃分后的結(jié)構(gòu)示意圖;
[0032]圖7為本發(fā)明實(shí)施例一的兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系時(shí)的二維碼圖形沿第一方向劃分后再沿第二方向劃分后的結(jié)構(gòu)示意圖;
[0033]圖8為本發(fā)明實(shí)施例二的兩個(gè)位置探測圖形的位置關(guān)系為對角關(guān)系時(shí)的疑似定位圖形區(qū)域的結(jié)構(gòu)示意圖;
[0034]圖9為本發(fā)明實(shí)施例二的兩個(gè)位置探測圖形的位置關(guān)系為對角關(guān)系時(shí)的二維碼圖形劃分后的結(jié)構(gòu)示意圖;
[0035]圖10為本發(fā)明實(shí)施例三的QR碼位置探測圖形破損時(shí)的解碼系統(tǒng)的系統(tǒng)框圖。
[0036]標(biāo)號說明:
[0037]1、位置探測圖形;2、位置探測圖形分隔符;3、定位圖形;4、校正圖形;5、格式信息圖形;6、版本信息圖形;7、數(shù)據(jù)信息圖形;
[0038]11、二值化模塊;12、第一尋找模塊;13、統(tǒng)計(jì)模塊;14、判斷模塊;15、第二尋找模塊;16、確定模塊;17、網(wǎng)格劃分模塊;18、解碼模塊;
[0039]19、疑似定位圖形區(qū)域。
【具體實(shí)施方式】
[0040]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說明。
[0041]本發(fā)明最關(guān)鍵的構(gòu)思在于:根據(jù)定位圖形位于位置探測圖形之間,占據(jù)一個(gè)數(shù)據(jù)位寬的寬度,且具有黑白相間,連續(xù)的黑點(diǎn)和連續(xù)的白點(diǎn)均占據(jù)一個(gè)數(shù)據(jù)位寬的特點(diǎn),利用幾何關(guān)系通過兩個(gè)位置探測圖形確定出二維碼圖形所在區(qū)域,二維碼圖形識別效率高、誤差小。
[0042]本發(fā)明的【具體實(shí)施方式】為:
[0043]請參照圖1至圖9,一種QR碼位置探測圖形破損時(shí)的解碼方法,
[0044]對接收到的包含二維碼圖形的圖像進(jìn)行二值化,并尋找位置探測圖形;
[0045]若尋找到的位置探測圖形的個(gè)數(shù)為兩個(gè),則采用如下方法解碼二維碼圖形:
[0046]統(tǒng)計(jì)兩個(gè)位置探測圖形的邊界線所在的直線的方程、頂點(diǎn)坐標(biāo)并計(jì)算二維碼圖形的數(shù)據(jù)位寬;
[0047]利用兩個(gè)位置探測圖形的邊界線和頂點(diǎn)的幾何關(guān)系判斷兩個(gè)位置探測圖形的位置關(guān)系為相鄰關(guān)系還是對角關(guān)系;
[0048]根據(jù)兩個(gè)位置探測圖形的位置關(guān)系、定位圖形的位置特征及黑白相間的圖形特征尋找出確定好位置關(guān)系的兩個(gè)位置探測圖形之間的定位圖形;
[0049]根據(jù)兩個(gè)位置探測圖形及定位圖形確定二維碼圖形所在區(qū)域;
[0050]根據(jù)兩個(gè)位置探測圖形、定位圖形以及二維碼圖形的數(shù)據(jù)位寬對二維碼圖形所在區(qū)域進(jìn)行網(wǎng)格劃分;
[0051 ] 對網(wǎng)格劃分后的二維碼圖形進(jìn)行解碼。
[0052]進(jìn)一步的,還包括:
[0053]若尋找到的位置探測圖形的個(gè)數(shù)為一個(gè),則不對接收到的包含二維碼圖形的圖像進(jìn)行解碼;
[0054]若尋找到的位置探測圖形的個(gè)數(shù)為三個(gè),則不采用上述的方法對接收到的包含二維碼圖形的圖像進(jìn)行解碼。
[0055]由上述描述可知,若尋找到的位置探測圖形的個(gè)數(shù)為一個(gè),則說明接收到的包含二維碼圖形的圖像破損嚴(yán)重,不對其進(jìn)行解碼操作;若尋找到的位置探測圖形的個(gè)數(shù)為三個(gè),則二維碼圖形所在區(qū)域可直接通過三個(gè)位置探測圖形得到,不需要通過尋找定位圖形來確定二維碼圖形所在區(qū)域,所述方法合理。
[0056]進(jìn)一步的,計(jì)算二維碼圖形的數(shù)據(jù)位寬,具體為:
[0057]根據(jù)兩個(gè)位置探測