一種基於電子屏幕顯示的二維碼的識別方法與流程
2023-07-09 03:44:36 2

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