欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種二維碼的識(shí)別方法及裝置的制造方法

文檔序號(hào):10625006閱讀:512來(lái)源:國(guó)知局
一種二維碼的識(shí)別方法及裝置的制造方法
【專利摘要】本發(fā)明公開(kāi)了一種二維碼的識(shí)別方法及裝置,該方法包括,所述二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)以及所述校正圖案的邊框,具體步驟為,采集二維碼圖像信息并對(duì)圖像進(jìn)行預(yù)處理;通過(guò)搜索長(zhǎng)直線段定位二維碼的邊框及頂點(diǎn);根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼格式信息;定位校正圖案及進(jìn)行圖像校正;解碼糾錯(cuò)碼字及數(shù)據(jù)碼字。該識(shí)別方法能夠快速定位并獲取二維碼的矩陣信息,具有識(shí)別速度快,抗污損、抗畸變能力強(qiáng),應(yīng)用范圍廣的優(yōu)點(diǎn)。
【專利說(shuō)明】
一種二維碼的識(shí)別方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息記錄與識(shí)別領(lǐng)域,尤其涉及一種二維碼的識(shí)別方法及裝置。
【背景技術(shù)】
[0002]—維碼通過(guò)在水平方向上排列的條、空來(lái)表達(dá)信息,而在豎直方向上不表達(dá)信息,其容量十分有限。二維碼能在水平方向和豎直方向上同時(shí)表達(dá)信息,因此相比一維碼,能在更小的面積內(nèi)表達(dá)更多的信息。同時(shí),通過(guò)在二維碼上應(yīng)用糾錯(cuò)算法,也使得二維碼的可靠性大大增加。二維碼可分為層排式二維碼和矩陣式二維碼兩類。
[0003]層排式二維碼可以看作是由多行一維碼堆積而成,常見(jiàn)的有美國(guó)的TOF417層排式二維碼。矩陣式二維碼是通過(guò)在矩陣相應(yīng)元素位置上,用點(diǎn)(比如方點(diǎn)、圓點(diǎn)或其他形狀)的出現(xiàn)表示二進(jìn)制“1”,點(diǎn)的不出現(xiàn)表示二進(jìn)制的“O”。點(diǎn)的排列組合確定了矩陣式二維碼所代表的意義,常見(jiàn)的有日本的QR碼。與層排式二維碼相比,矩陣式二維碼一般具有更高的編碼密度(即在同等面積下可編碼更多數(shù)據(jù))。
[0004]現(xiàn)有的二維碼大部分具有正方形結(jié)構(gòu),但實(shí)際應(yīng)用中物品等預(yù)留的用于印制二維碼的區(qū)域可能是長(zhǎng)方形,如采用正方形的二維碼會(huì)大大浪費(fèi)預(yù)留的編碼區(qū)域,導(dǎo)致編碼容量下降。而少數(shù)具有長(zhǎng)方形結(jié)構(gòu)的二維碼不適合采用拍照解碼的方式進(jìn)行識(shí)讀,也限制了其應(yīng)用。一種新型的二維碼針對(duì)上述問(wèn)題提出解決方案,這種新型二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍上述數(shù)據(jù)編碼區(qū)、格式信息區(qū)以及校正圖案的邊框。不但可以解決現(xiàn)有技術(shù)中的問(wèn)題,還具有更強(qiáng)的抗污損性能,但目前還沒(méi)有有效的識(shí)別方法來(lái)識(shí)讀這種二維碼。
[0005]綜上,亟需一種識(shí)別這種新型二維碼的方法以解決上述問(wèn)題。

【發(fā)明內(nèi)容】

[0006]本發(fā)明所要解決的技術(shù)問(wèn)題之一是需要提供一種識(shí)別一種新型二維碼的方法。
[0007]為了解決上述技術(shù)問(wèn)題,本申請(qǐng)的實(shí)施例首先提供了一種二維碼的識(shí)別方法,其特征在于,所述二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)和所述校正圖案的邊框,該方法包括:采集二維碼圖像并對(duì)二維碼圖像進(jìn)行預(yù)處理;從經(jīng)過(guò)預(yù)處理的二維碼圖像中搜索長(zhǎng)直線段,定位二維碼的邊框及頂點(diǎn);根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息;根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案并根據(jù)校正圖案對(duì)所述數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正;根據(jù)圖像校正后的數(shù)據(jù)編碼區(qū)解碼出糾錯(cuò)碼字及數(shù)據(jù)碼字。
[0008]優(yōu)選地,對(duì)二維碼圖像進(jìn)行預(yù)處理,包括:根據(jù)預(yù)設(shè)的閾值將灰階的二維碼圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像。
[0009]優(yōu)選地,根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案,包括:根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置;將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位;以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。
[0010]優(yōu)選地,二值圖像的旋轉(zhuǎn)角度,根據(jù)如下方式確定:根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值;通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值;將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度;其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O。
[0011]優(yōu)選地,根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息,包括:將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn);根據(jù)格式信息區(qū)的頂點(diǎn),插值得到格式信息區(qū)內(nèi)各模塊的坐標(biāo);根據(jù)格式信息區(qū)內(nèi)各模塊的坐標(biāo)對(duì)格式信息進(jìn)行采樣并解碼。
[0012]另一方面,本申請(qǐng)的實(shí)施例還提供了一種二維碼的識(shí)別裝置,其特征在于,所述二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)和所述校正圖案的邊框,該裝置包括:圖像預(yù)處理單元,其采集二維碼圖像并對(duì)二維碼圖像進(jìn)行預(yù)處理;邊框定位單元,從經(jīng)過(guò)預(yù)處理的二維碼圖像中搜索長(zhǎng)直線段,定位二維碼的邊框及頂點(diǎn);格式信息解碼單元,其根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息;校正單元,根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案并根據(jù)校正圖案對(duì)所述數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正;數(shù)據(jù)信息解碼單元,根據(jù)格式信息從圖像校正后的數(shù)據(jù)編碼區(qū)解碼出糾錯(cuò)碼字及數(shù)據(jù)碼字。
[0013]優(yōu)選地,圖像預(yù)處理單元根據(jù)預(yù)設(shè)的閾值將灰階的二維碼圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像。
[0014]優(yōu)選地,校正單元包括:初步確定子單元,根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置;調(diào)整子單元,將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位;移動(dòng)子單元,以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。
[0015]優(yōu)選地,調(diào)整子單元被設(shè)置為根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值;通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值,將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度;其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O。
[0016]優(yōu)選地,格式信息解碼單元包括:頂點(diǎn)確定子單元,將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn);坐標(biāo)獲取子單元,根據(jù)格式信息區(qū)的頂點(diǎn),插值得到格式信息區(qū)內(nèi)各模塊的坐標(biāo);采樣解碼子單元,根據(jù)格式信息區(qū)內(nèi)各模塊的坐標(biāo)對(duì)格式信息進(jìn)行采樣并解碼。
[0017]與現(xiàn)有技術(shù)相比,上述方案中的一個(gè)或多個(gè)實(shí)施例可以具有如下優(yōu)點(diǎn)或有益效果:
[0018]該識(shí)別方法能夠快速定位并獲取二維碼的矩陣信息,具有識(shí)別速度快,抗污損、抗畸變能力強(qiáng),應(yīng)用范圍廣的優(yōu)點(diǎn)。
[0019]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明的技術(shù)方案而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)和/或流程來(lái)實(shí)現(xiàn)和獲得。
【附圖說(shuō)明】
[0020]附圖用來(lái)提供對(duì)本申請(qǐng)的技術(shù)方案或現(xiàn)有技術(shù)的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分。其中,表達(dá)本申請(qǐng)實(shí)施例的附圖與本申請(qǐng)的實(shí)施例一起用于解釋本申請(qǐng)的技術(shù)方案,但并不構(gòu)成對(duì)本申請(qǐng)技術(shù)方案的限制。
[0021]圖1為本申請(qǐng)實(shí)施例的二維碼識(shí)別方法的流程示意圖;
[0022]圖2為需要識(shí)別的二維碼的結(jié)構(gòu)示意圖;
[0023]圖3 (a)為灰階圖像示意圖,圖3(b)為二值圖像示意圖,圖3 (C)為邊界圖像示意圖;
[0024]圖4為對(duì)邊框及頂點(diǎn)進(jìn)行定位的示意圖;
[0025]圖5為對(duì)格式信息區(qū)進(jìn)行定位及插值的示意圖;
[0026]圖6 (a)、(b)為格式信息區(qū)部分缺失示意圖;
[0027]圖7為初步確定的校正圖案示意圖;
[0028]圖8為二值圖像旋轉(zhuǎn)角度示意圖;
[0029]圖9為調(diào)整過(guò)角度的校正圖案示意圖;
[0030]圖10為本申請(qǐng)實(shí)施例的二維碼識(shí)別裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0032]圖1為本申請(qǐng)實(shí)施例的二維碼識(shí)別方法的流程示意圖,本申請(qǐng)實(shí)施例的二維碼的識(shí)別方法的具體過(guò)程包括:步驟S110、采集二維碼圖像信息并對(duì)圖像進(jìn)行預(yù)處理;步驟S120、通過(guò)搜索長(zhǎng)直線段定位二維碼的邊框及頂點(diǎn);步驟S130、根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼格式信息;步驟S140、定位校正圖案及進(jìn)行圖像校正;步驟S150、解碼糾錯(cuò)碼字及數(shù)據(jù)碼字。
[0033]本申請(qǐng)實(shí)施例所要識(shí)讀的二維碼如圖2所示。從圖2中可以看出,該二維碼數(shù)據(jù)編碼區(qū)21、格式信息區(qū)22、校正圖案23以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)以及所述校正圖案的邊框20。在數(shù)據(jù)編碼區(qū)中,還包含有個(gè)性化圖案24。個(gè)性化圖案24不遮擋邊框20,也不遮擋格式信息區(qū)22和校正圖案23。在二維碼的邊框的外圍還環(huán)繞有留白區(qū)25。
[0034]其中,數(shù)據(jù)編碼區(qū)由排列的數(shù)據(jù)碼字與糾錯(cuò)碼字組成,格式信息區(qū)存儲(chǔ)格式信息,包括數(shù)據(jù)編碼區(qū)的糾錯(cuò)等級(jí)以及二維碼的行數(shù)和列數(shù)。本發(fā)明的實(shí)施例中,一個(gè)二維碼中包含有四個(gè)格式信息區(qū),每個(gè)格式信息區(qū)均存儲(chǔ)有相同的內(nèi)容,每一個(gè)格式信息區(qū)都可以解碼出一份完整的格式信息。四個(gè)格式信息區(qū)分別位于邊框包圍形成的矩形的四個(gè)頂角處。校正圖案用于對(duì)數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正,且均勻分布于邊框包圍形成的矩形區(qū)域內(nèi)。
[0035]上述二維碼可以采用圖像識(shí)別解碼,可以利用手機(jī)等具有拍照功能的設(shè)備進(jìn)行識(shí)另O。首先采集二維碼的圖像信息并對(duì)圖像進(jìn)行一系列預(yù)處理,預(yù)處理的具體步驟包括,根據(jù)預(yù)設(shè)的閾值將灰階圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像,如圖3所示。圖3(a)為灰階圖像示意圖,根據(jù)灰階圖像得到灰階圖像的直方圖,并進(jìn)一步根據(jù)直方圖計(jì)算閾值,將灰度低于閾值的象素二值化為黑色,灰度高于閾值的象素二值化為白色??紤]到圖像可能存在照明不均勻的情況,可以將圖像分割為小區(qū)塊,每個(gè)區(qū)塊分別計(jì)算閾值。經(jīng)過(guò)上述處理,可以將灰階圖像轉(zhuǎn)換為二值圖像,如圖3(b)所示。
[0036]然后,通過(guò)搜索二值圖像獲取邊界像素。具體為,若當(dāng)前象素為黑色且其周圍4個(gè)象素中至少一個(gè)為白色,則將該象素標(biāo)記為邊界象素。搜索所有的邊界象素,即可得到邊界圖像,如圖3(c)所示。
[0037]本申請(qǐng)實(shí)施例的識(shí)別方法采用邊角識(shí)讀的方式,定位簡(jiǎn)單準(zhǔn)確,識(shí)讀速度快。具體為,通過(guò)圖像預(yù)處理獲得的邊界圖像,更易于從中提取一些線性信息,例如可以方便地進(jìn)行直線搜索,圖2中的邊框20是二維碼用于定位的主要結(jié)構(gòu)。對(duì)邊框進(jìn)行識(shí)別的過(guò)程具體為,在邊界圖像中搜索長(zhǎng)直線段,可以得到四條長(zhǎng)直線段40,如圖4所示。將這四條長(zhǎng)直線段確定為二維碼的邊框。計(jì)算相鄰邊框的交點(diǎn),可以得到二維碼的四個(gè)頂點(diǎn),如圖4中的41所不O
[0038]根據(jù)已經(jīng)確定的邊框及頂點(diǎn)定位格式信息區(qū)的具體步驟包括:將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn)。從圖2中可以看出,格式信息區(qū)包括四個(gè)格式信息區(qū),每個(gè)格式信息區(qū)占據(jù)邊框包圍形成的矩形的一個(gè)頂角,這是一種優(yōu)選的方案,設(shè)置于頂角處的格式信息區(qū)更利于格式信息區(qū)的定位。進(jìn)一步從圖5中可以看出,每個(gè)格式信息區(qū)也具有包圍并限定它的邊界線,如圖5中的深色模塊形成的正方形,這個(gè)正方形包含邊框的兩條邊和一個(gè)頂點(diǎn),如圖5中的頂點(diǎn)A。在一個(gè)實(shí)施例中,在二維碼邊框的頂點(diǎn)附近,搜索格式信息區(qū)的另外兩條邊界線。計(jì)算這兩條邊界線與二維碼邊框之間的交點(diǎn),即可得到格式信息區(qū)的四個(gè)頂點(diǎn)。
[0039]本申請(qǐng)實(shí)施例的識(shí)別方法具有較強(qiáng)的抗污損、抗畸變能力。由于每個(gè)格式信息區(qū)都存儲(chǔ)有一份內(nèi)容完全相同的格式信息以及版本信息,這樣就可以保證當(dāng)一個(gè)或其中幾個(gè)區(qū)域遭到破壞而產(chǎn)生破損時(shí),例如當(dāng)二維碼缺一角、缺兩角、缺三角、缺一條邊、中心缺失或整體污損時(shí),如圖6所示,圖6(a)和圖6(b)中分別示出了三個(gè)角缺失以及中心缺失的情況。只要還有一個(gè)格式信息區(qū)保持完好,就可以讀取到二維碼的完整的格式信息。
[0040]有了格式信息區(qū)的位置信息,就可以利用插值算法計(jì)算格式信息區(qū)內(nèi)每個(gè)模塊的坐標(biāo)。一般的,每個(gè)格式信息區(qū)均由多個(gè)模塊組成,而每個(gè)模塊都存儲(chǔ)一位二進(jìn)制信息。如圖5中的十字形標(biāo)記表示的是插值得到的點(diǎn),用以作為基于邊界圖像進(jìn)行采樣的采樣點(diǎn),可以看出該格式信息區(qū)包含36個(gè)模塊,即可以采樣得到一個(gè)36位的格式信息。
[0041]需要說(shuō)明的是,首先,由于每個(gè)格式信息區(qū)都存儲(chǔ)有一份獨(dú)立而完整的格式信息,所以只需對(duì)一個(gè)格式信息區(qū)解碼即可。以及,格式信息區(qū)內(nèi)的信息并非順序存儲(chǔ),而是根據(jù)數(shù)據(jù)編碼區(qū)的糾錯(cuò)等級(jí)進(jìn)行排布的,所以順序采樣得到的二進(jìn)制數(shù)據(jù),需要根據(jù)具體的排布方式進(jìn)行重新排列以得到格式信息的正確的順序。最后,格式信息在存儲(chǔ)時(shí)進(jìn)行了糾錯(cuò)處理,即其中既包含記錄有效格式信息的數(shù)據(jù),還包括對(duì)這些信息數(shù)據(jù)進(jìn)行糾錯(cuò)所得到的部分碼字,所以需要對(duì)格式信息進(jìn)行解碼,才能最終得到完整有效的格式信息。
[0042]校正圖案是用于對(duì)數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正的結(jié)構(gòu)。這是因?yàn)楫?dāng)二維碼受到破壞時(shí)或當(dāng)布置二維碼的表面不平坦,以及由于二維碼的識(shí)讀設(shè)備的取像鏡頭的不平整或曲率導(dǎo)致采樣圖像發(fā)生了拉抻時(shí),就需要對(duì)數(shù)據(jù)編碼區(qū)進(jìn)行校正。校正的基本方法是先建立數(shù)學(xué)模型,并根據(jù)可以確定的已知條件確定模型參數(shù),然后根據(jù)數(shù)學(xué)模型利用坐標(biāo)變換的方法,將采樣圖像上的坐標(biāo)點(diǎn)映射到根據(jù)數(shù)學(xué)模型確定的校正圖像中,最后根據(jù)采樣圖像的灰階值(對(duì)于二值化處理的圖像為O或I)確定校正圖像中各像素的灰階值,一般根據(jù)插值法確定灰階值。上述過(guò)程中,準(zhǔn)確地建立數(shù)學(xué)模型對(duì)圖像校正非常重要,即獲取準(zhǔn)確的確定的已知條件至關(guān)重要。
[0043]定位校正圖案的具體步驟包括:根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置;將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位;以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。具體為,首先根據(jù)二維碼圖像的四個(gè)頂點(diǎn)和行數(shù)、列數(shù)信息,初步確定待定位的校正圖案的初始位置。如圖7所示,圖中白色十字形標(biāo)記為初步確定的校正圖案的位置。然后根據(jù)二維碼碼圖的旋轉(zhuǎn)、傾斜角度,將待定位的校正圖案進(jìn)行相同的旋轉(zhuǎn)、傾斜變換。
[0044]需要說(shuō)明的是,僅根據(jù)邊框來(lái)確定二維碼碼圖的旋轉(zhuǎn)和傾斜角度等難度較大。因?yàn)榇嬖谌鐖D8所示情形,圖8為二值圖像旋轉(zhuǎn)角度示意圖。從圖中可以看出,當(dāng)通過(guò)邊框判斷二維碼碼圖旋轉(zhuǎn)了 α角時(shí),此時(shí)存在多種情況,如果二維碼逆時(shí)針旋轉(zhuǎn)了 α角,那么利用邊框作出的定位結(jié)果是正確的。如果二維碼逆時(shí)針旋轉(zhuǎn)了 90° +α的角度,如圖3所示,那么此時(shí)原來(lái)的X-Y坐標(biāo)系旋轉(zhuǎn)到了虛線所示的位置,原來(lái)位于二維碼右上角A處的格式信息區(qū)也旋轉(zhuǎn)到了 B處的位置,但由于二維碼是正方形的,逆時(shí)針旋轉(zhuǎn)90度之后會(huì)與原位置的二維碼重合,所以此時(shí)利用邊框10無(wú)法確定二維碼是否發(fā)生了旋轉(zhuǎn)。進(jìn)一步地,如果二維碼逆時(shí)針旋轉(zhuǎn)了 180° +α的角度,僅利用邊框10來(lái)定位就失效了。此時(shí),可以引入其他手段來(lái)獲取二維碼碼圖旋轉(zhuǎn)的正確的角度。通過(guò)如下步驟來(lái)確定:
[0045]根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值;通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值,其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O ;將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度。
[0046]具體為,如圖8所示,首先根據(jù)邊框確定了角度α (第一角度值),α的值為小于90度的值。接下來(lái),利用前面掃描并解碼格式信息區(qū)的結(jié)果來(lái)確定二維碼碼圖旋轉(zhuǎn)的第二角度值。在這里需要補(bǔ)充說(shuō)明的是,在解碼格式信息時(shí),并不是第一次插值解碼就能得到有效的格式信息,因?yàn)楦袷叫畔^(qū)是對(duì)稱地布置在邊框的四個(gè)頂角處的,那么如果二維碼是正方形的,其順時(shí)針或逆時(shí)針旋轉(zhuǎn)90度之后可以與正常放置的二維碼重合,如果二維碼是長(zhǎng)方形的,其順時(shí)針或逆時(shí)針旋轉(zhuǎn)180度之后可以與正常放置的二維碼重合。所以當(dāng)檢測(cè)到無(wú)效的格式信息時(shí),需要將二維碼旋轉(zhuǎn)90度或180度再次掃描解碼,或者將掃描獲得的圖像旋轉(zhuǎn)90度或180度,然后再進(jìn)行后續(xù)處理。應(yīng)用上述結(jié)果可知,對(duì)于正方形二維碼,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),將第二角度值確定為90度,若第二次解碼仍為無(wú)效信息,在第一次確定的角度的基礎(chǔ)上再加90度,直到解碼得到有效的格式信息時(shí)停止判斷。對(duì)于長(zhǎng)方形二維碼,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),將第二角度值確定為180度,長(zhǎng)方形二維碼經(jīng)過(guò)一次判斷就可以得到第二角度值。第一角度值與第二角度值相加可以得到二值圖像的旋轉(zhuǎn)角度
[0047]得到確定的旋轉(zhuǎn)角度后,在初步確定的校正圖形初始位置附近,移動(dòng)待定位的校正圖案,當(dāng)重疊度最優(yōu)時(shí),即可得到精確的校正圖形位置。一般通過(guò)定義重疊率,并使其滿足設(shè)定值時(shí)的情況判定為最優(yōu)重疊。圖9為調(diào)整過(guò)角度的校正圖案示意圖。
[0048]最后,根據(jù)校正圖案的位置,插值計(jì)算每個(gè)單元模塊的坐標(biāo)。并從二值圖像上讀取相應(yīng)坐標(biāo)的象素值,即可得到每個(gè)單元模塊的值。
[0049]糾錯(cuò)碼字及數(shù)據(jù)碼字的解碼過(guò)程是其編碼的逆過(guò)程。具體為,先進(jìn)行糾錯(cuò)解碼,包括將采樣得到的數(shù)據(jù)按每8位一個(gè)組裝成碼字。如果碼字總數(shù)超過(guò)255,則對(duì)碼字進(jìn)行分組。采用Reed-Solomon糾錯(cuò)算法對(duì)每組分別進(jìn)行糾錯(cuò),得到最終的數(shù)據(jù)碼字。再進(jìn)行編碼位流解碼,將數(shù)據(jù)碼字組裝成位流。按以下步驟進(jìn)行解碼:步驟1、提取位流的頭3位,得到模式指示符;步驟2、如果該模式指示符是終止符,則停止解碼,返回解碼結(jié)果。否則繼續(xù)提取數(shù)據(jù)長(zhǎng)度指示符,得到該模式的長(zhǎng)度;步驟3、根據(jù)該模式的編碼方式,提取位流進(jìn)行解碼,直至數(shù)據(jù)長(zhǎng)度達(dá)到數(shù)據(jù)長(zhǎng)度指示符,返回步驟步驟I。
[0050]本申請(qǐng)的實(shí)施例中,還可以從數(shù)據(jù)編碼區(qū)中定位出個(gè)性化圖案并對(duì)個(gè)性化圖案進(jìn)行識(shí)別。
[0051]圖10為本申請(qǐng)實(shí)施例的二維碼識(shí)別裝置的結(jié)構(gòu)示意圖,二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)和所述校正圖案的邊框。下面參考圖10來(lái)說(shuō)明本申請(qǐng)實(shí)施例的二維碼識(shí)別裝置的各部分組成。
[0052]如圖10所示,本申請(qǐng)的二維碼識(shí)別裝置的實(shí)施例,包括圖像預(yù)處理單元1010、邊框定位單元1020、格式信息解碼單元1030、校正單元1040以及數(shù)據(jù)信息解碼單元1050。
[0053]圖像預(yù)處理單元1010,其采集二維碼圖像并對(duì)二維碼圖像進(jìn)行預(yù)處理。
[0054]邊框定位單元1020,與圖像預(yù)處理單元1010相連,從經(jīng)過(guò)預(yù)處理的二維碼圖像中搜索長(zhǎng)直線段,來(lái)定位二維碼的邊框及頂點(diǎn)。
[0055]格式信息解碼單元1030,與邊框定位單元1020相連,根據(jù)所定位出的二維碼的邊框及頂點(diǎn),定位格式信息區(qū)并解碼格式信息區(qū)中的格式信息。
[0056]校正單元1040,與邊框定位單元1020相連,根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案并根據(jù)校正圖案對(duì)所述數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正;
[0057]數(shù)據(jù)信息解碼單元1050,與格式信息解碼單元1030及校正單元1040相連,根據(jù)格式信息從圖像校正后的數(shù)據(jù)編碼區(qū)解碼出糾錯(cuò)碼字及數(shù)據(jù)碼字。
[0058]本申請(qǐng)的二維碼識(shí)別裝置的實(shí)施例,還可以包括個(gè)性化信息定位識(shí)別單元,被設(shè)置為從數(shù)據(jù)編碼區(qū)中定位出個(gè)性化圖案并對(duì)個(gè)性化圖案進(jìn)行識(shí)別。
[0059]本申請(qǐng)的實(shí)施例中,圖像預(yù)處理單元1010根據(jù)預(yù)設(shè)的閾值將灰階圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像。
[0060]本申請(qǐng)的實(shí)施例中,所述校正單元1040包括初步確定子單元、調(diào)整子單元以及移動(dòng)子單元。
[0061]初步確定子單元,根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置。
[0062]調(diào)整子單元,與初步確定子單元相連,將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位。
[0063]移動(dòng)子單元,與調(diào)整子單元相連,以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。
[0064]本申請(qǐng)的實(shí)施例中,所述調(diào)整子單元被設(shè)置為根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值;通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值,將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度。其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O。
[0065]本申請(qǐng)的實(shí)施例中,格式信息解碼單元1030包括頂點(diǎn)確定子單元、坐標(biāo)獲取子單元以及采樣解碼子單元。
[0066]頂點(diǎn)確定子單元,將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn)。
[0067]坐標(biāo)獲取子單元,與頂點(diǎn)確定子單元相連,根據(jù)格式信息區(qū)的頂點(diǎn),插值得到格式信息區(qū)內(nèi)各模塊的坐標(biāo)。
[0068]采樣解碼子單元,與坐標(biāo)獲取子單元相連,根據(jù)格式信息區(qū)內(nèi)各模塊的坐標(biāo)對(duì)格式信息進(jìn)行采樣并解碼。
[0069]本申請(qǐng)的二維碼識(shí)別裝置的實(shí)施例,還請(qǐng)參考前述本申請(qǐng)的二維碼識(shí)別方法的實(shí)施例。
[0070]本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0071]雖然本發(fā)明所公開(kāi)的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所公開(kāi)的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種二維碼的識(shí)別方法,其特征在于,所述二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)和所述校正圖案的邊框,該方法包括: 采集二維碼圖像并對(duì)二維碼圖像進(jìn)行預(yù)處理; 從經(jīng)過(guò)預(yù)處理的二維碼圖像中搜索長(zhǎng)直線段,定位二維碼的邊框及頂點(diǎn); 根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息;根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案并根據(jù)校正圖案對(duì)所述數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正; 根據(jù)圖像校正后的數(shù)據(jù)編碼區(qū)解碼出糾錯(cuò)碼字及數(shù)據(jù)碼字。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)二維碼圖像進(jìn)行預(yù)處理,包括:根據(jù)預(yù)設(shè)的閾值將灰階的二維碼圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案,包括: 根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置; 將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位; 以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,二值圖像的旋轉(zhuǎn)角度,根據(jù)如下方式確定: 根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值; 通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值; 將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度; 其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息,包括: 將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn); 根據(jù)格式信息區(qū)的頂點(diǎn),插值得到格式信息區(qū)內(nèi)各模塊的坐標(biāo); 根據(jù)格式信息區(qū)內(nèi)各模塊的坐標(biāo)對(duì)格式信息進(jìn)行采樣并解碼。6.一種二維碼的識(shí)別裝置,其特征在于,所述二維碼包括數(shù)據(jù)編碼區(qū)、格式信息區(qū)、校正圖案以及包圍所述數(shù)據(jù)編碼區(qū)、所述格式信息區(qū)和所述校正圖案的邊框,該裝置包括: 圖像預(yù)處理單元,其采集二維碼圖像并對(duì)二維碼圖像進(jìn)行預(yù)處理; 邊框定位單元,從經(jīng)過(guò)預(yù)處理的二維碼圖像中搜索長(zhǎng)直線段,定位二維碼的邊框及頂占.V, 格式信息解碼單元,其根據(jù)二維碼的邊框及頂點(diǎn)定位格式信息區(qū)并解碼所述格式信息區(qū)中的格式信息; 校正單元,根據(jù)二維碼的邊框及頂點(diǎn)定位校正圖案并根據(jù)校正圖案對(duì)所述數(shù)據(jù)編碼區(qū)進(jìn)行圖像校正; 數(shù)據(jù)信息解碼單元,根據(jù)格式信息從圖像校正后的數(shù)據(jù)編碼區(qū)解碼出糾錯(cuò)碼字及數(shù)據(jù)碼字。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,圖像預(yù)處理單元根據(jù)預(yù)設(shè)的閾值將灰階的二維碼圖像轉(zhuǎn)換為二值圖像,并搜索二值圖像的邊界得到邊界圖像。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述校正單元包括: 初步確定子單元,根據(jù)邊框及邊框所圍成區(qū)域的行列數(shù)初步確定待定位的校正圖案的初始位置; 調(diào)整子單元,將待定位的校正圖案調(diào)整到與二值圖像的旋轉(zhuǎn)角度相同的方位; 移動(dòng)子單元,以初始位置為中心移動(dòng)待定位的校正圖案,將其與二值圖像上的校正圖案的重疊率達(dá)到設(shè)定值的位置確定為待定位的校正圖案的最終位置。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述調(diào)整子單元被設(shè)置為根據(jù)邊框確定二值圖像旋轉(zhuǎn)的第一角度值;通過(guò)判斷解碼得到的格式信息是否為有效信息確定二值圖像旋轉(zhuǎn)的第二角度值,將第一角度值與第二角度值的和確定為二值圖像的旋轉(zhuǎn)角度; 其中,當(dāng)解碼得到的格式信息為無(wú)效信息時(shí),第二角度值取為90度或180度;當(dāng)解碼得到的格式信息為有效信息時(shí),第二角度值取為O。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述格式信息解碼單元包括: 頂點(diǎn)確定子單元,將邊框的一個(gè)頂角處互相垂直的兩條邊確定為格式信息區(qū)的兩條邊界線,將搜索得到的分別與這兩條邊界線垂直的直線段確定為格式信息區(qū)的另外兩條邊界線,將四條邊界線的交點(diǎn)確定為格式信息區(qū)的頂點(diǎn); 坐標(biāo)獲取子單元,根據(jù)格式信息區(qū)的頂點(diǎn),插值得到格式信息區(qū)內(nèi)各模塊的坐標(biāo); 采樣解碼子單元,根據(jù)格式信息區(qū)內(nèi)各模塊的坐標(biāo)對(duì)格式信息進(jìn)行采樣并解碼。
【文檔編號(hào)】G06K7/10GK105989317SQ201510073154
【公開(kāi)日】2016年10月5日
【申請(qǐng)日】2015年2月11日
【發(fā)明人】于學(xué)東, 王勇, 韋俊康, 林斌, 楊永健
【申請(qǐng)人】北京鼎九信息工程研究院有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沙田区| 山西省| 临高县| 喀喇| 通河县| 陇南市| 镇江市| 普洱| 沅江市| 金平| 钦州市| 凤庆县| 昌都县| 阳西县| 淅川县| 昌乐县| 高清| 遂溪县| 西吉县| 栖霞市| 伽师县| 潞城市| 巩义市| 眉山市| 潞西市| 海盐县| 台安县| 东光县| 顺昌县| 称多县| 甘德县| 筠连县| 长沙市| 卢氏县| 金山区| 南岸区| 襄樊市| 永平县| 建德市| 汝州市| 盐山县|