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

一種QR碼快速定位檢測算法的制作方法

文檔序號:11655031閱讀:2167來源:國知局
一種QR碼快速定位檢測算法的制造方法與工藝

本發(fā)明涉及qr碼檢測領(lǐng)域,更具體地,涉及一種qr碼快速定位檢測算法。



背景技術(shù):

二維碼(two-dimensionscode),又稱二維條碼,是在一維條碼的基礎(chǔ)上擴(kuò)展出另一維具有可讀性的條碼,它使用某種特定的幾何圖形按一定規(guī)律在平面(二維方向)上分布的黑白相間的圖形記錄數(shù)據(jù)。它除了具有信息容量大、可靠性高等特點以外,還有超高速識讀、全方位識讀、可表示漢字、圖像聲音等一切可以數(shù)字化的信息并且有很強(qiáng)的保密防偽等優(yōu)點。二維條碼跟以往的一維條碼一樣,在商業(yè)活動中應(yīng)用廣泛,特別是在高科技行業(yè)、儲存運輸業(yè)、批發(fā)零售業(yè)等需要對物品進(jìn)行廉價快捷的標(biāo)示信息的行業(yè)用途廣泛。

作為二維條碼的一種,qr碼(quickresponsecode)由于對比其它二維碼具有存儲容量大、識別率高等優(yōu)點,被越來越廣泛的應(yīng)用于物聯(lián)網(wǎng)、移動通信等眾多領(lǐng)域中。本發(fā)明中的檢測算法針對qr碼進(jìn)行。

傳統(tǒng)的qr碼檢測技術(shù)主要利用以下幾種方法對圖片中的qr碼進(jìn)行提?。?/p>

(1)利用qr碼的三個位置探測圖形符合1:1:3:1:1黑白相間的特征來進(jìn)行定位,通過掃描圖片中包含的位置探測圖形,確定位置探測圖形的位置,從而得到qr碼的位置。該方法需要對圖片進(jìn)行橫豎多次掃描,速度較慢,且對于很多失真的二維碼無法處理;

(2)另一種常用的方法采用對圖片進(jìn)行形態(tài)學(xué)的腐蝕和膨脹,圖片中的二維碼在腐蝕膨脹的作用下將形成一個正方形,而后采用霍夫變換的方法對圖片中的直線進(jìn)行檢測,得到正方形的四條邊,從而得到二維碼的位置。該方法依賴于霍夫變換檢測直線的方法,速度緩慢,同樣無法應(yīng)對一些類型的失真。

qr碼的大規(guī)模應(yīng)用對傳統(tǒng)的檢測方法提出了新的要求,也對二維碼的應(yīng)用帶來了新的思路。采用健壯穩(wěn)定的特征對qr碼進(jìn)行檢測的技術(shù)有很廣泛的應(yīng)用場景。



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

本發(fā)明提供一種qr碼快速定位檢測算法,該算法速度快、性能穩(wěn)定。

為了達(dá)到上述技術(shù)效果,本發(fā)明的技術(shù)方案如下:

一種qr碼快速定位檢測算法,包括以下步驟:

s1:對圖像進(jìn)行二值化,提取二值圖形;

s2:采用canny算法提取二值圖形的邊緣圖形;

s3:在邊緣圖形中搜索輪廓圖形用于定位,并獲取輪廓的嵌套關(guān)系;

s4:根據(jù)輪廓嵌套信息,判斷有三個輪廓嵌套的圖形為二維碼的位置探測圖形,若檢測到的位置探測圖形為三個,則計算其最外圍輪廓的中心距,作為qr碼的定位點;

s5:提取出qr碼。

進(jìn)一步地,所述步驟s1中采用otsu方法對待處理圖像進(jìn)行二值化。

進(jìn)一步地,所述步驟s2的具體過程如下:

s2.1:對二值圖形進(jìn)行高斯濾波;

s2.2:用一階偏導(dǎo)的有限差分來計算高斯濾波后的圖像的梯度的幅值和方向;

s2.3:對計算出的梯度幅值進(jìn)行非極大值抑制;

s2.4:用雙閾值算法檢測和連接邊緣。

進(jìn)一步地,所述步驟s4的具體過程如下:

在得到嵌套的輪廓信息后,進(jìn)行篩選,將有三層輪廓嵌套的輪廓認(rèn)為是qr碼的位置探測圖形,并采用最外層的輪廓的中心距作為qr碼位置探測圖形的定位點,中心距采用離散化的格林公式計算而得。

進(jìn)一步地,所述步驟s5的具體過程如下:

s5.1:根據(jù)等腰三角形中直角點到斜邊的標(biāo)準(zhǔn)距離以及斜邊的斜率,確定qr碼的主體方向;

s5.2:采用矩形窗口掃描的方法得到輪廓圖形中的頂點,并根據(jù)頂點和頂點延長線,得到qr碼的四個頂點;

s5.3:確定qr碼的四個頂點后,采用透視變換的方法將四個頂點映射為正方形的四個頂點,并將內(nèi)部各點一一進(jìn)行映射,將圖形中的qr碼提取得出,其中映射模型如下:

其中,u、v為原圖坐標(biāo),取x、y為目標(biāo)圖坐標(biāo),未知參數(shù)a-h由已確定的四個qr碼頂點坐標(biāo)代入解得。

與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:

本發(fā)明方法對圖像進(jìn)行二值化,提取二值圖形,然后采用canny算法提取二值圖形的邊緣圖形,在邊緣圖形中搜索輪廓圖形用于定位,并獲取輪廓的嵌套關(guān)系,之后根據(jù)輪廓嵌套信息,判斷有三個輪廓嵌套的圖形為二維碼的位置探測圖形,若檢測到的位置探測圖形為三個,則計算其最外圍輪廓的中心距,作為qr碼的定位點,最后提取出qr碼;該方法利用qr碼輪廓進(jìn)行定位的方法,而后根據(jù)輪廓頂點的關(guān)系確定qr碼的四個頂點,最后采用透視變換的方法對qr碼進(jìn)行了提??;該方法原理易于理解,準(zhǔn)確性高,識別速度快,可以很好的部署與生產(chǎn)環(huán)境中使用。

附圖說明

圖1為本發(fā)明方法流程圖;

圖2為本發(fā)明用于定位的輪廓特征圖;

圖3為qr碼四種主體方向;

圖4為本發(fā)明判斷qr碼方向到的原理圖;

圖5為本發(fā)明判斷輪廓頂點的原理圖;

圖6為本發(fā)明確定qr碼頂點的原理圖;

圖7為本發(fā)明采用的透視變換圖。

具體實施方式

附圖僅用于示例性說明,不能理解為對本專利的限制;

為了更好說明本實施例,附圖某些部件會有省略、放大或縮小,并不代表實際產(chǎn)品的尺寸;

對于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。

下面結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案做進(jìn)一步的說明。

實施例1

如圖1所示,一種qr碼快速定位檢測算法,包含了以下幾個細(xì)分步驟:

步驟1:圖像預(yù)處理

本發(fā)明的圖像預(yù)處理包括圖像二值化和邊緣圖形提取兩個步驟。

步驟1.1:采用otsu方法對原始圖像進(jìn)行二值化;

步驟1.2:采用canny算法都而至圖像提取邊緣圖形。

步驟2:尋找輪廓圖形

qr碼的位置探測圖形由黑白相間的重疊的正方形構(gòu)成,若取其邊緣圖形,則會構(gòu)成三個嵌套的環(huán)形,本發(fā)明稱之為輪廓,即qr碼的位置探測圖形的邊緣圖形由三個嵌套的輪廓構(gòu)成。顯然,這一特征在qr碼受到變形、扭曲、透視變換等干擾時仍在存在,抗干擾性強(qiáng),屬于健壯的特征,如圖2所示。本發(fā)明提出采用這一特征對qr碼的位置探測圖形即進(jìn)行定位,由此確定qr碼的位置。

對于輪廓圖形的尋找,本發(fā)明采用了opencv中對輪廓提取算法(suzuki85)的實現(xiàn)。該方法用于在二值圖像中檢測輪廓,并且對輪廓的拓?fù)浣Y(jié)構(gòu)可以進(jìn)行有效的識別,適用與本發(fā)明中對嵌套輪廓這一特征進(jìn)行檢測。

步驟3:確定定位點

在得到嵌套的輪廓信息后,進(jìn)行篩選,將有三層輪廓嵌套的輪廓認(rèn)為是qr碼的位置探測圖形,并采用最外層的輪廓的中心距作為qr碼位置探測圖形的定位點。中心距采用離散化的格林公式計算而得。

步驟4:提取qr碼

提取二維碼的工作包括三個步驟:

步驟4.1:確定qr碼方向

qr碼的主體方向有四種可能,如圖3所示。

作為計算是否滿足等腰三角形的條件的副產(chǎn)品,我們可以根據(jù)計算所得的三角形邊長首先確定三個定位點中何者為qr碼標(biāo)準(zhǔn)擺放時應(yīng)處于左上角的點,即不屬于最長邊(即等腰三角形的斜邊)的兩個端點的點,即圖4中c點。確定左上角點后,剩余兩點在qr碼中的實際位置可由斜邊的斜率以及左上角點到斜邊的標(biāo)準(zhǔn)距離的符號來判定。

其中slope為斜邊斜率,distc為標(biāo)準(zhǔn)距離,即:

slope=dy/dx

a=-slope=-dy/dx

b=1

c=(slope*xb)-yb

容易推知:

當(dāng)slope為正,distc為正時,a點為下點,b點為右點;

當(dāng)slope為負(fù),distc為正時,a點為右點,b點為下點;

當(dāng)slope為正,distc為負(fù)時,a點為右點,b點為下點;

當(dāng)slope為負(fù),distc為負(fù)時,a點為下點,b點為右點。

至此qr碼三個定位點的位置均已確定,也即確定的qr碼的方向。

步驟4.2:確定輪廓頂點

此步驟中我們確定輪廓的四個頂點。qr碼的位置探測圖形為正方形,即使經(jīng)過扭曲變形等干擾,其輪廓應(yīng)依然保持為四邊形。其頂點的檢測矩形窗口掃描的方法完成:

對于輪廓上的某一點,掃描以其為中心的一個5*5的正方形區(qū)塊的邊緣,當(dāng)邊緣中的黑色點數(shù)量在某一閥值之下后,判定該點為一個頂點。其過程可由圖5所描述。

步驟4.3:確定qr碼四個頂點

由于qr碼的方向已經(jīng)確定,很容易可以確定位置探測圖形最外圍輪廓中的頂點中的其中三個為qr碼的頂點。第四個點的確定則可由輪廓邊的延長線的交點所獲得,如圖6所示。

步驟4.4:透視變換提取qr碼

確定qr碼的四個頂點后,即可采用透視變換的方法將四個頂點映射為正方形的四個頂點,并將內(nèi)部各點一一進(jìn)行映射,最終可將圖形中的qr碼提取得出,如圖7所示。

本發(fā)明采用的映射模型如下所述:

取u、v為原圖坐標(biāo),取x、y為目標(biāo)圖坐標(biāo),可利用以下公式完成映射:

未知數(shù)a-h可由已確定的四個qr碼頂點坐標(biāo)代入解得。

相同或相似的標(biāo)號對應(yīng)相同或相似的部件;

附圖中描述位置關(guān)系的用于僅用于示例性說明,不能理解為對本專利的限制;

顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1