本發(fā)明涉及一種二維碼識(shí)別方法,具體涉及一種基于電子屏幕顯示的二維碼的識(shí)別方法。
背景技術(shù):
二維條碼/二維碼(2-dimensional bar code)是采用某種特定的幾何圖形按一定規(guī)律在平面(二維方向)上分布的黑白相間的圖形來(lái)記錄數(shù)據(jù)符號(hào)信息;在代碼編制上巧妙地利用了構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來(lái)表示文字?jǐn)?shù)值信息,通過(guò)圖像輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。
二維碼技術(shù)具有編碼密度高、范圍廣、信息容量大、容錯(cuò)能力強(qiáng)、譯碼可靠性高、成本低、易制作、持久耐用的特點(diǎn),已經(jīng)日趨廣泛地應(yīng)用在人們?nèi)粘I钪小@?,通過(guò)二維碼進(jìn)行信息獲取、網(wǎng)站跳轉(zhuǎn)、廣告推送、手機(jī)電商服務(wù)、防偽溯源、優(yōu)惠促銷、會(huì)員管理、手機(jī)支付等等。
通過(guò)二維碼技術(shù)實(shí)現(xiàn)上述多種功能,都要用到二維碼的識(shí)別技術(shù)。目前,快捷方便的二維碼識(shí)別方案是使用移動(dòng)設(shè)備(例如手機(jī))的攝像頭獲取二維碼圖案的視頻幀,從所獲取的視頻幀中識(shí)別二維碼的元數(shù)據(jù)。
在某些應(yīng)用場(chǎng)合中,需要被識(shí)別的二維碼呈現(xiàn)在顯示設(shè)備的電子屏幕上,顯示的二維碼會(huì)受到電子屏幕刷新率的影響。當(dāng)被掃描的電子屏幕刷新率比較低時(shí),移動(dòng)設(shè)備掃描獲取到的視頻幀里會(huì)出現(xiàn)很多波浪線,可能會(huì)導(dǎo)致掃描識(shí)別失敗,從而不能夠識(shí)別出二維碼數(shù)據(jù)信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于電子屏幕顯示的二維碼的識(shí)別方法,包括以下步驟:
步驟一:設(shè)置掃描設(shè)備的相機(jī)模塊的初始視頻輸出尺寸,繼續(xù)步驟二;
步驟二:使用掃描設(shè)備的相機(jī)模塊對(duì)電子屏幕上顯示的二維碼進(jìn)行掃描,繼續(xù)步驟三;
步驟三:如果檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),則識(shí)別成功;
如果沒(méi)有檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),則降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸,直至掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸降到預(yù)定最小值并且掃描設(shè)備的相機(jī)模塊已經(jīng)以該預(yù)定最小值為視頻輸出尺寸對(duì)電子屏幕上顯示的二維碼進(jìn)行了掃描,否則返回步驟二。
進(jìn)一步,在步驟三中,如果沒(méi)有檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),且當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸大于預(yù)定最小值時(shí),則降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸,返回步驟二。
進(jìn)一步,在步驟三中,如果沒(méi)有檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸等于預(yù)定最小值時(shí),則確定對(duì)此二維碼的識(shí)別失??;或者,在步驟三中,如果沒(méi)有檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸等于預(yù)定最小值時(shí),則在視頻流中截取當(dāng)前視頻幀,生成靜態(tài)圖片,對(duì)靜態(tài)圖片中的二維碼進(jìn)行檢測(cè),如果檢測(cè)到靜態(tài)圖片中的二維碼的元數(shù)據(jù),則識(shí)別成功,如果沒(méi)有檢測(cè)到靜態(tài)圖片中的二維碼的元數(shù)據(jù),則確定對(duì)此二維碼的識(shí)別失敗。
進(jìn)一步,在步驟一中,設(shè)置初始視頻輸出尺寸時(shí),將相機(jī)模塊的初始視頻輸出尺寸設(shè)置為高清視頻的幀尺寸。
進(jìn)一步,掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸的預(yù)定最小值根據(jù)顯示二維碼的電子屏幕刷新率進(jìn)行確定。
進(jìn)一步,在步驟三中,所述降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸的步驟為:
將掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸與預(yù)定最小值進(jìn)行比較,當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸大于預(yù)定最小值時(shí),按照與掃描設(shè)備的相機(jī)模塊預(yù)定的視頻輸出尺寸相適應(yīng)的視頻輸出尺寸,逐級(jí)降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸。
優(yōu)選的,掃描設(shè)備的相機(jī)模塊預(yù)定的視頻輸出尺寸為1080p、720p和480p,掃描設(shè)備的相機(jī)模塊的初始視頻輸出尺寸設(shè)定為1080p,其預(yù)定最小值設(shè)定為480p,掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸可由1080p先降低到720p,再降低到480p。
進(jìn)一步,在步驟三中,二維碼的元數(shù)據(jù)的檢測(cè)可以由掃描設(shè)備自身完成,也可以由掃描設(shè)備將獲取的信號(hào)傳輸給其他設(shè)備進(jìn)行檢測(cè)。
此外,步驟三后,還包括步驟四,保持或恢復(fù)掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為初始視頻輸出尺寸。
本發(fā)明的有益效果:
本發(fā)明通過(guò)在掃描過(guò)程中動(dòng)態(tài)調(diào)整掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸,適當(dāng)降低成像質(zhì)量,減少圖像中的線條閃爍,進(jìn)而結(jié)合二維碼本身所具有的容錯(cuò)能力強(qiáng)的特點(diǎn),可自適應(yīng)被掃描電子屏幕的刷新率,巧妙的在低分辨率的條件下進(jìn)行二維碼的掃描識(shí)別,提高了不同環(huán)境下二維碼掃描識(shí)別的成功率。
附圖說(shuō)明
圖1是本發(fā)明的基于電子屏幕顯示的二維碼的識(shí)別方法流程圖;
圖2是本發(fā)明實(shí)施例的基于電子屏幕顯示的二維碼的識(shí)別方法流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。但本領(lǐng)域技術(shù)人員知曉,本發(fā)明并不局限于附圖和以下實(shí)施例。
圖1示出了本發(fā)明的基于電子屏幕顯示的二維碼的識(shí)別方法流程圖。如圖所示,當(dāng)使用掃描設(shè)備的相機(jī)模塊對(duì)電子屏幕上顯示的二維碼進(jìn)行識(shí)別時(shí),該識(shí)別方法包括如下步驟:
步驟一:設(shè)置掃描設(shè)備的相機(jī)模塊的初始視頻輸出尺寸,繼續(xù)步驟二;設(shè)置初始視頻輸出尺寸時(shí),一般先將相機(jī)模塊的初始視頻輸出尺寸設(shè)置為高清視頻的幀尺寸,例如1080p,其適用于掃描目前大多數(shù)電子屏幕上的二維碼,因此有利于提高首次掃描的成功率。
步驟二:使用掃描設(shè)備的相機(jī)模塊對(duì)電子屏幕上顯示的二維碼進(jìn)行掃描,繼續(xù)步驟三。
步驟三:如果能夠檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),則識(shí)別成功,繼續(xù)步驟五。其中,二維碼的元數(shù)據(jù)的識(shí)別可以由掃描設(shè)備自身完成,也可以由掃描設(shè)備將獲取的信號(hào)傳輸給其他檢測(cè)設(shè)備進(jìn)行檢測(cè)。
如果不能夠檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸大于預(yù)定最小值時(shí),則降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸,返回步驟二;當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸等于預(yù)定最小值時(shí),繼續(xù)步驟四。
所述降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸的步驟具體可以為:
將掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸與預(yù)定最小值進(jìn)行比較,當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸大于預(yù)定最小值時(shí),按照與掃描設(shè)備的相機(jī)模塊預(yù)定的視頻輸出尺寸相適應(yīng)的視頻輸出尺寸(例如掃描設(shè)備的相機(jī)模塊預(yù)定的視頻輸出尺寸為1080p、720p、480p),依次降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸(例如1080p依次降低為720p、480p)。
優(yōu)選的,在將掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸設(shè)定為預(yù)定最小值進(jìn)行二維碼掃描時(shí),如果不能夠檢測(cè)到電子屏幕上顯示的二維碼的元數(shù)據(jù),則在視頻流中截取當(dāng)前視頻幀,生成靜態(tài)圖片,對(duì)靜態(tài)圖片中的二維碼進(jìn)行檢測(cè),如果能夠檢測(cè)到靜態(tài)圖片中的二維碼,則識(shí)別成功,否則識(shí)別不成功(未示出)。
步驟四:當(dāng)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸等于預(yù)定最小值時(shí),則不再對(duì)掃描設(shè)備的相機(jī)模塊的當(dāng)前視頻輸出尺寸進(jìn)行降低處理,確定對(duì)此二維碼的識(shí)別失敗,繼續(xù)步驟五。
其中,所述預(yù)定最小值根據(jù)顯示二維碼的電子屏幕刷新率進(jìn)行確定。如果掃描設(shè)備會(huì)在刷新率比較低的電子屏幕上掃描二維碼,那么就需要將所述預(yù)定最小值也設(shè)置的比較低,例如480p。
步驟五:本次掃描識(shí)別結(jié)束。
其中,步驟五還包括保持或恢復(fù)掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為初始視頻輸出尺寸,以便進(jìn)入下一次掃描識(shí)別過(guò)程。
在上述方案中,在降低相機(jī)模塊的視頻輸出尺寸之前,先對(duì)相機(jī)模塊的當(dāng)前視頻輸出尺寸與預(yù)定最小值進(jìn)行比較,本領(lǐng)域技術(shù)人員可以知曉,也可以在降低相機(jī)模塊的視頻輸出尺寸之后將降低后的視頻輸出尺寸與預(yù)定最小值進(jìn)行比較,當(dāng)降低后的視頻輸出尺寸大于預(yù)定最小值時(shí),返回步驟二進(jìn)行再次掃描;當(dāng)降低后的視頻輸出尺寸等于預(yù)定最小值時(shí),則使用相機(jī)模塊進(jìn)行最后一次掃描和識(shí)別,不再進(jìn)行步驟二、三的循環(huán)操作。
本方法通過(guò)降低掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸,降低成像質(zhì)量,減少圖像中的線條閃爍,結(jié)合二維碼本身所具有容錯(cuò)能力強(qiáng)的特點(diǎn),可在低分辨率的條件下提高二維碼掃描識(shí)別的成功率。
圖2示出了本發(fā)明的基于電子屏幕顯示的二維碼的識(shí)別方法的一個(gè)優(yōu)選實(shí)施例。具體步驟如下:
步驟1:初始化掃描設(shè)備的相機(jī)模塊;
步驟2:設(shè)置掃描設(shè)備的相機(jī)模塊的初始視頻輸出尺寸為1080p;
步驟3:掃描電子屏幕上顯示的二維碼,如果在2s內(nèi)檢測(cè)到二維碼的元數(shù)據(jù),則識(shí)別成功,保持掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為1080p;
如果在2s內(nèi)沒(méi)有檢測(cè)到二維碼的元數(shù)據(jù),則將相機(jī)模塊的視頻輸出尺寸從1080p降低至720p,再次對(duì)電子屏幕上的二維碼進(jìn)行掃描;
步驟4:如果在0.5s內(nèi)檢測(cè)到二維碼的元數(shù)據(jù),則識(shí)別成功,恢復(fù)掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為1080p;
如果在0.5s后沒(méi)有檢測(cè)到二維碼的元數(shù)據(jù),則繼續(xù)將相機(jī)模塊的視頻輸出尺寸從720p降至480p,再次對(duì)電子屏幕上的二維碼進(jìn)行掃描;
步驟5:如果在0.5s內(nèi)檢測(cè)到二維碼的元數(shù)據(jù),則識(shí)別成功,恢復(fù)掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為1080p;
如果在0.5s后沒(méi)有檢測(cè)到二維碼的元數(shù)據(jù),則從當(dāng)前視頻流中截取當(dāng)前視頻幀,生成靜態(tài)圖片,識(shí)別靜態(tài)圖片中的二維碼;
步驟6:如果能夠識(shí)別靜態(tài)圖片中的二維碼,則識(shí)別成功,恢復(fù)掃描設(shè)備的相機(jī)模塊的視頻輸出尺寸為1080p;否則識(shí)別不成功。
圖2所示的實(shí)施例中,與掃描設(shè)備的相機(jī)模塊的光學(xué)元件相適應(yīng),相機(jī)模塊的初始視頻輸出尺寸為1080p,預(yù)定最小值為480p,在其范圍內(nèi)還給定了720p的視頻輸出尺寸。本領(lǐng)域技術(shù)人員可以理解,通過(guò)選用具有不同尺寸光學(xué)元件的相機(jī)模塊,結(jié)合被掃描電子屏幕的刷新頻率,可以設(shè)定不同的初始視頻輸出尺寸、預(yù)定最小值以及其間的多級(jí)視頻輸出尺寸。
以上,對(duì)本發(fā)明的實(shí)施方式進(jìn)行了說(shuō)明。但是,本發(fā)明不限定于上述實(shí)施方式。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。