本發(fā)明涉及二維碼識(shí)別技術(shù),具體涉及一種在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的方法及其裝置。
背景技術(shù):
二維條碼/二維碼(2-dimensional bar code)是采用某種特定的幾何圖形按一定規(guī)律在平面(二維方向)上分布的黑白相間的圖形來記錄數(shù)據(jù)符號(hào)信息;在代碼編制上巧妙地利用了構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。
二維碼技術(shù)具有編碼密度高、范圍廣、信息容量大、容錯(cuò)能力強(qiáng)、譯碼可靠性高、成本低、易制作、持久耐用的特點(diǎn),已經(jīng)日趨廣泛地應(yīng)用在人們?nèi)粘I钪小@?,通過二維碼進(jìn)行信息獲取、網(wǎng)站跳轉(zhuǎn)、廣告推送、手機(jī)電商服務(wù)、防偽溯源、優(yōu)惠促銷、會(huì)員管理、手機(jī)支付等等。目前,快捷方便的二維碼識(shí)別方案是使用移動(dòng)設(shè)備(例如手機(jī))的攝像頭獲取二維碼圖案的視頻幀,從所獲取的視頻幀中識(shí)別二維碼的元數(shù)據(jù)。
在各種講座和會(huì)議場(chǎng)合,在投射或顯示的顯示屏幕上會(huì)出現(xiàn)能夠掃描的二維碼,供參與人進(jìn)行掃描,訪問二維碼鏈接的信息。而講座和會(huì)議場(chǎng)所或大或小,一般情況下發(fā)布者會(huì)直接將二維碼顯示在顯示屏幕的固定區(qū)域,顯示尺寸固定不變,這樣對(duì)于講座和會(huì)議場(chǎng)所中的參與人來說,不是所有人都能夠掃描到適合尺寸的二維碼。二維碼太大,對(duì)于靠近屏幕的參與人,移動(dòng)設(shè)備不能完整地掃描到整個(gè)二維碼圖像,需要攜帶自己的移動(dòng)設(shè)備遠(yuǎn)離屏幕,才能將二維碼圖像置于移動(dòng)設(shè)備的掃描區(qū)域內(nèi),獲取二維碼信息;二維碼太小,對(duì)于遠(yuǎn)離屏幕的參與人,可能無法識(shí)別出二維碼中記錄的數(shù)據(jù)符合信息,需要攜帶自己的移動(dòng)設(shè)備靠近屏幕,才能獲取二維碼信息。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問題,本發(fā)明提供一種在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的方法,包括以下步驟:
步驟1:獲取待顯示的二維碼,得到二維碼信息;
步驟2:根據(jù)所述二維碼信息生成多個(gè)具有不同分辨率的二維碼;
步驟3:輸出生成的多個(gè)具有不同分辨率的二維碼進(jìn)行顯示。
進(jìn)一步,步驟1包括如下步驟:
步驟011:掃描顯示區(qū)域,獲取顯示區(qū)域上顯示的圖像;
步驟012:判斷獲取的顯示區(qū)域上的圖像中是否存在二維碼,如果當(dāng)前顯示區(qū)域內(nèi)存在二維碼,則進(jìn)行步驟013;
步驟013:識(shí)別顯示區(qū)域上顯示的二維碼,得到二維碼信息。
進(jìn)一步,所述方法還包括步驟4,接收步驟3所輸出的具有不同分辨率的二維碼進(jìn)行顯示。
進(jìn)一步,步驟2中,根據(jù)顯示區(qū)域與參與者之間的最小距離生成具有最小分辨率的二維碼,根據(jù)顯示區(qū)域與參與者之間的最大距離生成具有最大分辨率的二維碼。
進(jìn)一步,步驟2中,根據(jù)顯示區(qū)域分辨率情況,利用所述二維碼信息生成n個(gè)具有不同分辨率的二維碼。
進(jìn)一步,在步驟3中,按照所生成的二維碼的分辨率大小,以一定的時(shí)間間隔順序循環(huán)輸出具有不同分辨率的二維碼進(jìn)行顯示。
進(jìn)一步,在步驟3中,在顯示區(qū)域的不同位置上同時(shí)顯示多個(gè)具有不同分辨率的二維碼。
本發(fā)明還提供一種在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的裝置,包括獲取模塊、二維碼生成模塊和二維碼輸出模塊,其中:
獲取模塊用于獲取待顯示的二維碼,得到二維碼信息;
二維碼生成模塊用于根據(jù)所述二維碼信息生成多個(gè)具有不同分辨率的二維碼;
二維碼輸出模塊用于輸出生成的多個(gè)具有不同分辨率的二維碼進(jìn)行顯示。
進(jìn)一步,所述裝置還包括掃描模塊和判斷模塊,其中:
掃描模塊用于掃描顯示區(qū)域,獲取顯示區(qū)域上顯示的圖像;
判斷模塊用于判斷掃描模塊獲取的顯示區(qū)域上的圖像中是否存在二維碼;
獲取模塊根據(jù)判斷模塊的判斷結(jié)果識(shí)別顯示區(qū)域上顯示的二維碼,獲取二維碼信息。
進(jìn)一步,所述裝置還包括顯示模塊,接收二維碼輸出模塊所輸出的二維碼進(jìn)行顯示。
本發(fā)明能夠在顯示屏幕上動(dòng)態(tài)調(diào)整二維碼,能夠?yàn)闀?huì)議或者演講場(chǎng)景中不同位置的參與人提供不同分辨率的二維碼,提高了二維碼的識(shí)別成功率,提升了用戶體驗(yàn)。
附圖說明
圖1是本發(fā)明提出的在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的方法流程圖;
圖2是本發(fā)明提出的在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的又一方法流程圖;
圖3是本發(fā)明提出的在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的裝置結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。但本領(lǐng)域技術(shù)人員知曉,本發(fā)明并不局限于附圖和以下實(shí)施例。
如圖1所示,本發(fā)明提出的在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的方法包括以下步驟:
步驟1:獲取待顯示的二維碼,得到二維碼信息。其中,獲取二維碼信息的方式至少包括:進(jìn)行顯示的計(jì)算機(jī)設(shè)備自身生成有需要進(jìn)行顯示的二維碼,那么在顯示前所述計(jì)算機(jī)設(shè)備就已經(jīng)獲取了二維碼信息;以及進(jìn)行顯示的計(jì)算機(jī)設(shè)備自身沒有二維碼信息,在其顯示區(qū)域中出現(xiàn)了二維碼圖案,此時(shí)需要對(duì)此二維碼進(jìn)行識(shí)別來獲取其二維碼信息,這種情況將在后續(xù)實(shí)施例中予以說明。
步驟2:根據(jù)獲取的二維碼信息生成n個(gè)具有不同分辨率ai*ai的二維碼,其中n為大于1的自然數(shù),i=1,…,n。
根據(jù)顯示區(qū)域與參與者之間的最小距離生成具有最小分辨率a1*a1的二維碼,根據(jù)顯示區(qū)域與參與者之間的最大距離生成具有最大分辨率的二維碼。
可以按照固定間距的設(shè)置公式(1)設(shè)置n個(gè)具有不同分辨率ai*ai的二維碼,其中
(1)ai=a0+d×i,其中,a0為初始最小分辯率,d為間距,i=1,…,n
當(dāng)取最小分辨率250、間距250時(shí),生成的多個(gè)二維碼分辨率分別為250*250、500*500、750*750、1000*1000、……。
此外,優(yōu)選的,還可以按照以下公式(2)設(shè)置n個(gè)具有不同分辨率ai*ai的二維碼,其中:
(2)ai=ai-1+d×i,其中,a0為初始最小分辯率,d為間距,i=1,…,n
當(dāng)取最小分辨率250、間距250時(shí),生成的多個(gè)二維碼分辨率分別為250*250、500*500、1000*1000、1750*1750、2750*2750、……。
本發(fā)明按照公式(2)設(shè)置的二維碼分辨率尤其利于快速地適應(yīng)課堂、會(huì)議或者演講場(chǎng)景模式,能夠在短時(shí)間內(nèi)為參與者分別提供適合分辨率的可掃描二維碼。
另外,由于相同分辨率的二維碼在不同分辨率的顯示區(qū)域上所占用的面積(大小)是不同的,例如,分辨率為250*250的二維碼在分辨率為2560*1440顯示設(shè)備上顯示時(shí),其在顯示區(qū)域中占用的面積小于其在分辨率為1920*1080顯示設(shè)備上顯示時(shí)所占用的面積,因此,優(yōu)選的,在此步驟4中,需要根據(jù)顯示設(shè)備或投影設(shè)備自身的當(dāng)前分辨率設(shè)置情況,利用識(shí)別出的二維碼信息重新生成多個(gè)不同分辨率的二維碼,即合理設(shè)置最小分辨率、間距,還可以設(shè)置當(dāng)前顯示設(shè)備或投影設(shè)備所允許占用的最大分辨率尺寸,使得重新生成的二維碼的分辨率不大于當(dāng)前顯示設(shè)備或投影設(shè)備所允許占用的最大分辨率尺寸。
步驟3:輸出生成的n個(gè)具有不同分辨率的二維碼進(jìn)行顯示。輸出方式可以是以一定的時(shí)間間隔逐個(gè)循環(huán)輸出具有不同分辨率的二維碼進(jìn)行顯示,也是在顯示區(qū)域的不同位置上同時(shí)顯示n個(gè)具有不同分辨率的二維碼。
以下以計(jì)算機(jī)設(shè)備獲取第三方二維碼信息進(jìn)行二維碼的動(dòng)態(tài)調(diào)整為例,再次對(duì)本發(fā)明進(jìn)行說明。參照?qǐng)D2,所述在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的方法包括以下步驟:
步驟21:以一定的時(shí)間間隔掃描顯示區(qū)域,獲取顯示區(qū)域上顯示的圖像。顯示區(qū)域可以是電子設(shè)備的顯示屏幕,也可以由投影儀投射到的投影屏幕。一般來說,如果顯示區(qū)域上存在有供參與者掃描的二維碼時(shí),該二維碼一般會(huì)在此頁面上停留一段時(shí)間,因此,掃描顯示區(qū)域的時(shí)間間隔可以據(jù)此優(yōu)選地設(shè)置為5-10秒。
步驟22:判斷獲取的顯示區(qū)域上的圖像中是否存在二維碼。如果當(dāng)前顯示區(qū)域內(nèi)不存在二維碼,則返回步驟1,繼續(xù)掃描顯示區(qū)域;如果當(dāng)前顯示區(qū)域內(nèi)存在二維碼,則進(jìn)行步驟3。
優(yōu)選的,在此步驟2中,如果當(dāng)前顯示區(qū)域內(nèi)存在二維碼,則提示是否進(jìn)行二維碼的動(dòng)態(tài)調(diào)整,確認(rèn)進(jìn)行二維碼的動(dòng)態(tài)調(diào)整后,進(jìn)行步驟3。
步驟23:識(shí)別顯示區(qū)域上顯示的二維碼,得到二維碼信息。
步驟24:根據(jù)識(shí)別出的二維碼信息生成n個(gè)具有不同分辨率ai*ai的二維碼,其中n為大于1的自然數(shù),i=1,…,n,具體方法同前。
步驟25:按照所生成的二維碼的分辨率大小,以一定的時(shí)間間隔順序循環(huán)輸出具有不同分辨率的二維碼。所述的時(shí)間間隔優(yōu)選為5-10秒。本領(lǐng)域技術(shù)人員可以理解,所述二維碼的輸出可以按照分辨率大小順序進(jìn)行,也可以不按順序進(jìn)行輸出。當(dāng)然,如果用來顯示二維碼的顯示區(qū)域足夠大,也可以在顯示區(qū)域的不同位置上同時(shí)輸出多個(gè)具有不同分辨率的二維碼。
步驟26:接收所輸出的具有不同分辨率的二維碼進(jìn)行顯示。
以下,以會(huì)議場(chǎng)景對(duì)本發(fā)明進(jìn)行具體說明。
在會(huì)議場(chǎng)景下,計(jì)算機(jī)設(shè)備在大屏幕顯示區(qū)域中出現(xiàn)二維碼圖案,此時(shí)需要對(duì)相關(guān)二維碼進(jìn)行動(dòng)態(tài)調(diào)整,包括以下步驟:
步驟31:每5秒對(duì)顯示區(qū)域進(jìn)行掃描,獲取顯示區(qū)域上顯示的圖像。
步驟32:判斷獲取的顯示區(qū)域上的圖像中是否存在二維碼。當(dāng)前檢測(cè)到顯示區(qū)域內(nèi)存在二維碼時(shí),提示使用者是否進(jìn)行二維碼的動(dòng)態(tài)調(diào)整,在確認(rèn)進(jìn)行二維碼的動(dòng)態(tài)調(diào)整后,進(jìn)行步驟3。
步驟33:識(shí)別顯示區(qū)域上顯示的二維碼,得到二維碼信息。
步驟34:根據(jù)識(shí)別出的二維碼信息生成多個(gè)具有不同分辨率的二維碼。由于顯示區(qū)域的分辨率為2560*1440,可以設(shè)置初始的二維碼分辨率為250*250,并以固定間距250設(shè)置分辨率為500*500、750*750的二維碼。
步驟35:按照分辨率從小至大的順序250*250→500*500→750*750,每10秒順序循環(huán)輸出一個(gè)二維碼,從而能夠適應(yīng)于離顯示區(qū)域不同距離的參與者,參與者可以使用手機(jī)等便攜電子設(shè)備對(duì)二維碼進(jìn)行識(shí)別。
步驟36:接收所輸出的具有不同分辨率的二維碼進(jìn)行顯示。
與上述方法相適應(yīng),還提供一種在顯示區(qū)域上動(dòng)態(tài)調(diào)整二維碼的裝置,包括掃描模塊、判斷模塊、獲取模塊、二維碼生成模塊、二維碼輸出模塊和顯示模塊。
掃描模塊用于以一定的時(shí)間間隔掃描顯示區(qū)域,獲取顯示區(qū)域上顯示的圖像。顯示區(qū)域可以是電子設(shè)備的顯示屏幕,也可以由投影儀投射到的投影屏幕。
判斷模塊用于判斷獲取的顯示區(qū)域上的圖像中是否存在二維碼。
獲取模塊用于根據(jù)判斷模塊的判斷結(jié)果識(shí)別顯示區(qū)域上顯示的二維碼,獲取二維碼信息。
二維碼生成模塊用于利用識(shí)別出的二維碼信息重新生成n個(gè)具有不同分辨率ai*ai的二維碼,其中n為大于1的自然數(shù),i=1,…,n。
根據(jù)顯示區(qū)域與參與者之間的最小距離生成具有最小分辨率a1*a1的二維碼,根據(jù)顯示區(qū)域與參與者之間的最大距離生成具有最大分辨率的二維碼。
可以按照固定間距的設(shè)置公式(1)設(shè)置n個(gè)具有不同分辨率ai*ai的二維碼,其中
(1)ai=a0+d×i,其中,a0為初始最小分辯率,d為間距,i=1,…,n
當(dāng)取最小分辨率250、間距250時(shí),生成的多個(gè)二維碼分辨率分別為250*250、500*500、750*750、1000*1000、……。
此外,優(yōu)選的,還可以按照以下公式(2)設(shè)置n個(gè)具有不同分辨率an*an的二維碼,其中:
(2)ai=ai-1+d×i,其中,a0為初始最小分辯率,d為間距,i=1,…,n
當(dāng)取最小分辨率250、間距250時(shí),生成的多個(gè)二維碼分辨率分別為250*250、500*500、1000*1000、1750*1750、2750*2750、……。
本發(fā)明按照公式(2)設(shè)置的二維碼分辨率尤其利于快速地適應(yīng)課堂、會(huì)議或者演講場(chǎng)景模式,能夠在短時(shí)間內(nèi)為參與者分別提供適合分辨率的可掃描二維碼。
另外,由于相同分辨率的二維碼在不同分辨率的顯示區(qū)域上所占用的面積(大小)是不同的,例如,分辨率為250*250的二維碼在分辨率為2560*1440顯示設(shè)備上顯示時(shí),其在顯示區(qū)域中占用的面積小于其在分辨率為1920*1080顯示設(shè)備上顯示時(shí)所占用的面積,因此,優(yōu)選的,在此二維碼生成模塊中,需要根據(jù)顯示設(shè)備或投影設(shè)備自身的當(dāng)前分辨率設(shè)置情況,利用識(shí)別出的二維碼信息重新生成多個(gè)不同分辨率的二維碼,即合理設(shè)置、,還可以設(shè)置當(dāng)前顯示設(shè)備或投影設(shè)備所允許占用的最大分辨率尺寸,使得重新生成的二維碼的分辨率不大于當(dāng)前顯示設(shè)備或投影設(shè)備所允許占用的最大分辨率尺寸。
二維碼輸出模塊用于按照所生成的二維碼的分辨率大小,以一定的時(shí)間間隔順序循環(huán)輸出具有不同分辨率的二維碼。當(dāng)然,如果用來顯示二維碼的固定顯示區(qū)域足夠大,也可以在該固定顯示區(qū)域同時(shí)輸出多個(gè)具有不同分辨率的二維碼。
顯示模塊用于接收所輸出的具有不同分辨率的二維碼進(jìn)行顯示。所述顯示模塊可以為顯示器或投影機(jī)。
本領(lǐng)域技術(shù)人員可以理解,在上述裝置實(shí)施例為本發(fā)明的優(yōu)選實(shí)施例,根據(jù)二維碼信息的來源不同顯示設(shè)備自身或第三方,掃描模塊和判斷模塊是可選擇的。
以上,對(duì)本發(fā)明的實(shí)施方式進(jìn)行了說明。但是,本發(fā)明不限定于上述實(shí)施方式。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。