本公開涉及電子領(lǐng)域,尤其涉及一種二維碼識別方法及裝置。
背景技術(shù):
相關(guān)技術(shù)中,二維碼的使用已經(jīng)非常廣泛,如掃描二維碼進行付款,掃描二維碼來關(guān)注平臺賬號等。但是,在距離稍遠的情況下,如排隊付款但距離二維碼有兩到三人的距離時,經(jīng)常會出現(xiàn)二維碼無法被識別的情況。無法識別的原因一般是因為距離過遠,取景框中的圖像清晰度沒有達到能夠被識別的程度,因此不能成功地在掃描取景框內(nèi)識別出二維碼,這樣就導(dǎo)致了在一定的距離下無法掃碼的情況。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開提供一種二維碼識別方法及裝置。
根據(jù)本公開實施例的第一方面,提供一種二維碼識別方法,包括:
確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片;
確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配;
將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別。
可選的,所述確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片,包括:
打開本地存儲的一張照片;
對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并將所述照片作為所述待掃描的圖片。
可選的,所述確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片,包括:
對所述二維碼軟件進行第二預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片;
確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為所述待掃描的圖片。
可選的,所述確定所述預(yù)覽圖片中存在二維碼,包括:
利用所述二維碼的視覺特征或所述二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼。
可選的,所述放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配,包括:
利用所述二維碼的視覺特征或所述二維碼的本身特征,模糊確定所述二維碼區(qū)域在所述待掃描圖片中的位置;
放大所述待掃描圖片或者放大所述二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配。
可選的,所述待掃描圖片為以高清方式拍攝的圖片。
可選的,所述二維碼的視覺特征包括:位置探測圖形、位置探測圖形分隔符和定位圖形中的至少一種;
所述二維碼的本身特征包括以下至少一種:整體呈現(xiàn)黑白點陣形狀、內(nèi)部存在固定規(guī)律的校準位。
根據(jù)本公開的第二方面,還提供一種二維碼識別裝置,包括:
圖片獲取模塊,被配置為確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片;
二維碼區(qū)域匹配模塊,被配置為確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配;
識別模塊,被配置為將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別。
可選的,所述圖片獲取模塊包括:
本地照片打開子模塊,被配置為打開本地存儲的一張照片;
待掃描圖片確定子模塊,被配置為對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并將所述照片作為所述待掃描的圖片。
可選的,所述圖片獲取模塊包括:
預(yù)覽圖片獲取子模塊,被配置為對所述二維碼軟件進行第二預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片;
預(yù)覽圖片拍攝子模塊,被配置為確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為所述待掃描的圖片。
可選的,所述預(yù)覽圖片拍攝子模塊包括:
二維碼確定子模塊,被配置為利用所述二維碼的視覺特征或所述二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼。
可選的,所述二維碼區(qū)域匹配模塊包括:
二維碼位置確定子模塊,被配置為利用所述二維碼的視覺特征或所述二維碼的本身特征,模糊確定所述二維碼區(qū)域在所述待掃描圖片中的位置;
二維碼區(qū)域匹配子模塊,被配置為放大所述待掃描圖片或者放大所述二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配。
可選的,所述待掃描圖片為以高清方式拍攝的圖片。
可選的,所述二維碼的視覺特征包括:位置探測圖形、位置探測圖形分隔符和定位圖形中的至少一種;
所述二維碼的本身特征包括以下至少一種:整體呈現(xiàn)黑白點陣形狀、內(nèi)部存在固定規(guī)律的校準位。
根據(jù)本公開的第三方面,還提供一種二維碼識別裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片;
確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配;
將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別。
根據(jù)本公開實施例的第四方面,提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序指令,該程序指令被處理器執(zhí)行時實現(xiàn)本公開第一方面所提供的二維碼識別方法的步驟。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
通過在確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片,然后在確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使所述放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配,最后將所述放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別,這樣就能夠在二維碼的距離稍遠導(dǎo)致識別清晰度不夠的情況下達到識別二維碼的目的,使用戶使用二維碼識別更加方便快捷。
應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實施例示出的一種二維碼識別方法的流程圖。
圖2是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖。
圖3是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖。
圖4是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖。
圖5是根據(jù)一示例性實施例示出的一種二維碼識別裝置的框圖。
圖6是根據(jù)一示例性實施例示出的一種二維碼識別裝置的圖片獲取模塊的示意框圖。
圖7是根據(jù)一示例性實施例示出的又一二維碼識別裝置的圖片獲取模塊的示意框圖。
圖8是根據(jù)一示例性實施例示出的又一二維碼識別裝置的預(yù)覽圖片拍攝子模塊的示意框圖。
圖9是根據(jù)一示例性實施例示出的又一二維碼識別裝置的二維碼區(qū)域匹配模塊的示意框圖。
圖10是根據(jù)一示例性實施例示出的一種二維碼識別裝置的框圖。
圖11是根據(jù)一示例性實施例示出的一種二維碼識別裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種二維碼識別方法的流程圖,如圖1所示,所述方法用于終端中,包括以下步驟。
在步驟s101中,確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片。
當確定所述二維碼軟件的二維碼掃描功能啟動之后,需要獲取待掃描的圖片。所述二維碼軟件可以是單獨的移動設(shè)備app,例如手機app等,也可以是其他功能軟件中附帶的二維碼掃描功能,只要是所述二維碼掃描功能被啟動即可。
在步驟s102中,確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配。
在確定了所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配,這樣的情況例如,所述二維碼軟件中的取景框區(qū)域是在屏幕正中心的一部分區(qū)域,而所述待掃描的圖片中,所述二維碼的所在的區(qū)域位于屏幕的右下角,這樣就是一種二維碼區(qū)域與所述取景框區(qū)域不匹配的情況,在這種情況下,先放大所述二維碼區(qū)域,以使放大后的二維碼區(qū)域能夠與所述取景框區(qū)域相匹配,即所述二維碼區(qū)域也在屏幕正中心。
在步驟s103中,將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別。
在對所述二維碼區(qū)域進行放大之后,將與所述取景框區(qū)域匹配的二維碼區(qū)域?qū)胨鋈【翱騾^(qū)域內(nèi)來由所述二維碼軟件進行二維碼的識別。
通過上述技術(shù)方案,首先,在確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片;然后在確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配,最后將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別,這樣就能夠在二維碼的距離稍遠導(dǎo)致識別清晰度不夠的情況下達到識別二維碼的目的,使用戶使用二維碼識別更加方便快捷。
圖2是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖,如圖2所示,所述方法用于終端中,包括圖1中的步驟s102和步驟s103,還包括步驟s201和步驟s202。
在步驟s201中,打開本地存儲的一張照片。
所述本地存儲的照片是指是裝載所述二維碼軟件的移動設(shè)備的內(nèi)存中已經(jīng)存在的照片,打開途徑可以根據(jù)所述移動設(shè)備的系統(tǒng)的不同而不同,可以通過所述移動設(shè)備的相冊打開,也可以通過所述移動設(shè)備的本地文件夾的途徑來進行選擇打開等。
在步驟s202中,對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并將所述照片作為所述待掃描的圖片。
所述第一預(yù)設(shè)操作可以是打開照片的操作,也可以是在打開照片之后,對于照片進行二維碼識別的操作。例如,將照片打開至屏幕界面上后,對照片進行長按操作,在彈出的選項中選中點擊“對圖中的二維碼進行識別”等。在進行所述第一預(yù)設(shè)操作時,確定二維碼軟件的二維碼掃描功能已開啟,確定開啟后就將打開的照片作為待掃描的圖片。
通過上述技術(shù)方案,先打開本地存儲的一張照片,然后在對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的二維碼掃描功能,并將所述照片作為待掃描的圖片,這樣提供了一種獲取待掃描的圖片的方案,使得二維碼的識別可以在二維碼軟件所在的移動設(shè)備上本地存儲的照片上來進行。
圖3是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖,如圖3所示,所述方法用于終端中,包括圖1中的步驟s102和步驟s103,還包括步驟s301和步驟s302。
在步驟s301中,對所述二維碼軟件進行第二預(yù)設(shè)操作時,確定啟動所述二維碼軟件的二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片。
所述第二預(yù)設(shè)操作即在二維碼軟件內(nèi)進行二維碼識別的選擇操作。例如,在打開二維碼軟件之后的首頁界面中,選擇識別二維碼的選項等。在進行所述第二預(yù)設(shè)操作時,確定所述二維碼軟件的二維碼掃描功能已經(jīng)被開啟,且開啟攝像頭來獲取攝像頭的取景框內(nèi)的預(yù)覽圖片,所述攝像頭為裝載所述二維碼軟件的移動設(shè)備上帶有的設(shè)備。另外,通過預(yù)設(shè),還可以通過一個移動設(shè)備上裝載的二維碼軟件,來控制與二維碼軟件相關(guān)聯(lián)的其他移動設(shè)備上的攝像頭開啟來獲取所述預(yù)覽圖片。
在步驟s302中,確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為待掃描的圖片。
在開啟所述攝像頭之后,對所述攝像頭的取景框內(nèi)獲取到的所有預(yù)覽圖片進行識別,在確定預(yù)覽圖片中存在二維碼時,對所述預(yù)覽圖片進行拍攝操作,并將拍攝的照片作為待掃描的圖片。
通過該技術(shù)方案,首先,對二維碼軟件進行第二預(yù)設(shè)操作時,確定啟動二維碼軟件的二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片,并在確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為待掃描的圖片。這樣就提供了又一種獲取待掃描的圖片的方案,使得二維碼的識別可以通過二維碼軟件所在的移動設(shè)備或與二維碼軟件相關(guān)聯(lián)的移動設(shè)備的攝像頭來進行二維碼的識別,且在確定了預(yù)覽圖片中存在二維碼時才進行預(yù)覽圖片的拍攝,這樣就節(jié)約了移動設(shè)備的內(nèi)存空間。
在一種可能的實施方式中,圖3所示的步驟s302中所述確定所述預(yù)覽圖片中存在二維碼,包括:利用所述二維碼的視覺特征或所述二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼。
由于二維碼本身的獨特性,在通過識別視覺特征和本身特征的情況下,能夠很輕松地識別出二維碼的存在。
在一種可能的實施方式中,所述二維碼的視覺特征包括:位置探測圖形、位置探測圖形分隔符和定位圖形中的至少一種。上述的位置探測圖形、位置探測圖形分隔符和定位圖形均是在常規(guī)掃碼過程中用來為二維碼進行定位的特征圖形,且這些圖形對于每一個二維碼來說,其位置都是固定存在的,只在大小和規(guī)格上可能會有一些不明顯的差異,但是所述差異不影響掃描二維碼時對其定位的功能。
在一種可能的實施方式中,所述二維碼的本身特征包括以下至少一種:整體呈現(xiàn)黑白點陣形狀、內(nèi)部存在固定規(guī)律的校準位。通過上述的二維碼的本身特征,即使在距離稍遠的情況時,掃描二維碼時的畫面清晰度不足以直接識別時,也可以快速識別判斷出當前獲取的畫面中存在二維碼。
通過上述技術(shù)方案,利用二維碼的視覺特征或二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼,這樣提供了一種確定所述預(yù)覽圖片中是否存在二維碼的方法,更加便于拍攝存在二維碼的預(yù)覽圖片作為待掃描的圖片。
圖4是根據(jù)一示例性實施例示出的又一二維碼識別方法的流程圖,如圖4所示,所述方法用于終端中,包括圖1中的步驟s101和步驟s103,還包括步驟s401和步驟s402。
在步驟s401中,確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,利用所述二維碼的視覺特征或所述二維碼的本身特征,來模糊確定所述二維碼區(qū)域在所述待掃描圖片中的位置。
其中,所述二維碼的視覺特征可以是上面描述的二維碼視覺特征,所述二維碼的本身特征可以是上面描述的二維碼本身特征。
例如,通過二維碼整體呈現(xiàn)黑白點陣形狀的本身特征,在所拍攝的照片中進行匹配,如果照片中的某一塊元素符合這一特征,即可確定所述二維碼在所述待掃描圖片中的位置了。
所述模糊確定所述二維碼在所述待掃描圖片中的位置,即在所述待掃描圖片中鎖定所述二維碼區(qū)域的模糊坐標。所述模糊坐標可以是以所述二維碼的上下邊界以及左右邊界為準,也可以是以比所述二維碼的上下邊界以及左右邊界稍寬一點為準,只要能在以此為坐標的區(qū)域在放大后,所述二維碼區(qū)域在所述取景框區(qū)域中的占比能足以使所述二維碼被識別即可。
在步驟s402中,放大所述待掃描圖片或者放大二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配。
所述放大所述待掃描圖片或者放大二維碼區(qū)域可以是先將所述待掃描圖片上的二維碼區(qū)域置于取景區(qū)域的中心,然后對整個待掃描圖片進行放大處理,也可以是先將所述待掃描圖片上的二維碼區(qū)域置于取景區(qū)域的中心,然后對所述二維碼區(qū)域進行放大處理,還可以是先對所述待掃描圖片或者所述待掃描圖片上的二維碼區(qū)域進行放大處理,然后調(diào)整畫面使所述二維碼區(qū)域處于取景框區(qū)域內(nèi)等。
通過上述技術(shù)方案,在確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片,然后在確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,利用所述二維碼的視覺特征或所述二維碼的本身特征,模糊確定所述二維碼在待掃描圖片中的位置,再進行放大所述待掃描圖片或者放大二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配的處理,最后將所述放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別,這樣能夠在掃描二維碼但掃描距離過遠時,通過直接對照片進行掃描的方法來提高所述二維碼掃描功能的識別度,還能在照片上的二維碼區(qū)域過小時對其進行放大處理來增加二維碼掃描的有效距離,進一步增加在稍遠距離處識別二維碼的成功率。
在一種可能的實施方式中,所述待掃描圖片為以高清方式拍攝的圖片。
所述高清照片即清晰度為高清的照片,具體的分辨率或像素不做限制,只要滿足高清效果即可。
對于不同的識別設(shè)備,拍攝照片時可能會有不同的分辨率設(shè)定。如果在拍攝照片時,當前設(shè)定的拍攝照片的分辨率不能滿足拍攝出清晰度為高清的照片,則可以后臺調(diào)整為所述識別設(shè)備的最高分辨率,或者也可以后臺調(diào)整為能夠滿足拍攝出清晰度為高清照片的最低分辨率以上的分辨率。
通過上述技術(shù)方案,先拍攝包含所述二維碼的高清照片,然后確定所述二維碼在所拍攝照片中的位置,最后對所確定的位置進行掃描來解析所述二維碼,這樣能夠避免在用戶設(shè)置過低的拍照分辨率時,拍攝出來的圖像清晰度不夠?qū)е露S碼識別失敗的問題,在一定程度上提高了識別二維碼的成功率。
圖5是根據(jù)一示例性實施例示出的一種二維碼識別裝置10框圖。參照圖5,該裝置10包括圖片獲取模塊100、二維碼區(qū)域匹配模塊200和識別模塊300。
該圖片獲取模塊100被配置為確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片。
該二維碼區(qū)域匹配模塊200被配置為確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配。
該識別模塊300被配置為將放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別。
通過上述技術(shù)方案,首先,圖片獲取模塊100在確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片;然后二維碼區(qū)域匹配模塊200在確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,放大所述二維碼區(qū)域使所述放大后的二維碼區(qū)域與所述取景框區(qū)域相匹配,最后識別模塊300將所述放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別,這樣就能夠在識別二維碼的距離稍遠,直接識別清晰度不夠的情況下達到識別二維碼的目的,使用戶使用二維碼識別更加方便快捷。
圖6是根據(jù)一示例性實施例示出的一種二維碼識別裝置的圖片獲取模塊100的示意框圖。如圖6所示,所述圖片獲取模塊100包括本地照片打開子模塊101和待掃描圖片確定子模塊102。
該本地照片打開子模塊101被配置為為打開本地存儲的一張照片。
該待掃描圖片確定子模塊102,被配置為對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并將所述照片作為所述待掃描的圖片。
通過上述技術(shù)方案,本地照片打開子模塊101先打開本地存儲的一張照片,然后待掃描圖片確定子模塊102在對所述照片進行第一預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并將所述照片作為所述待掃描的圖片,這樣提供了一種獲取所述待掃描的圖片的方案,使得所述二維碼的識別可以在所述二維碼軟件所在的移動設(shè)備上本地存儲的照片上來進行。
圖7是根據(jù)一示例性實施例示出的又一二維碼識別裝置的圖片獲取模塊100的示意框圖。如圖7所示,所述圖片獲取模塊100中包括預(yù)覽圖片獲取子模塊103和預(yù)覽圖片拍攝子模塊104。
該預(yù)覽圖片獲取子模塊103,被配置為對所述二維碼軟件進行第二預(yù)設(shè)操作時,確定啟動所述二維碼軟件的所述二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片。
該預(yù)覽圖片拍攝子模塊104,被配置為確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為所述待掃描的圖片。
通過上述技術(shù)方案,首先,在對所述二維碼軟件進行第二預(yù)設(shè)操作時,預(yù)覽圖片獲取子模塊103確定啟動所述二維碼軟件的所述二維碼掃描功能,并開啟攝像頭獲取取景框內(nèi)的預(yù)覽圖片,然后預(yù)覽圖片拍攝子模塊104在確定所述預(yù)覽圖片中存在二維碼時,拍攝所述預(yù)覽圖片作為待掃描的圖片。這樣就提供了又一種獲取所述待掃描的圖片的方案,使得所述二維碼的識別可以通過所述二維碼軟件所在的移動設(shè)備或與所述二維碼軟件相關(guān)聯(lián)的移動設(shè)備的攝像頭來進行二維碼的識別,且在確定了所述預(yù)覽圖片中存在二維碼時才進行預(yù)覽圖片的拍攝,這樣就節(jié)約了所述移動設(shè)備的內(nèi)存空間。
圖8是根據(jù)一示例性實施例示出的又一二維碼識別裝置中預(yù)覽圖片拍攝子模塊104的示意框圖。如圖8所示,該預(yù)覽圖片拍攝子模塊104包括二維碼確定子模塊1041。
該二維碼確定子模塊1041,被配置為利用所述二維碼的視覺特征或所述二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼。
通過上述技術(shù)方案,二維碼確定子模塊1041利用所述二維碼的視覺特征或所述二維碼的本身特征,對所述預(yù)覽圖片進行模糊判斷確定所述預(yù)覽圖片中存在二維碼,這樣提供了一種確定所述預(yù)覽圖片中是否存在二維碼的方法,更加便于拍攝存在二維碼的所述預(yù)覽圖片作為待掃描的圖片。
圖9是根據(jù)一示例性實施例示出的又一二維碼識別裝置10中二維碼區(qū)域匹配模塊200的示意框圖。如圖9所示,所述二維碼區(qū)域匹配模塊200包括二維碼位置確定子模塊201和二維碼區(qū)域匹配子模塊202。
該二維碼位置確定子模塊201,被配置為利用所述二維碼的視覺特征或所述二維碼的本身特征,模糊確定所述二維碼區(qū)域在所述待掃描圖片中的位置。
該二維碼區(qū)域匹配子模塊202,被配置為放大所述待掃描圖片或者放大二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配。
通過上述技術(shù)方案,在圖片獲取模塊100在確定啟動二維碼軟件的二維碼掃描功能時,獲取待掃描的圖片,然后二維碼位置確定子模塊201在確定所述待掃描的圖片中存在二維碼,且所述待掃描的圖片中二維碼區(qū)域與所述二維碼軟件中的取景框區(qū)域不匹配時,利用所述二維碼的視覺特征或所述二維碼的本身特征,模糊確定所述二維碼在待掃描圖片中的位置,再由二維碼區(qū)域匹配子模塊202進行放大所述待掃描圖片或者放大二維碼區(qū)域,并使所述二維碼區(qū)域與所述取景框區(qū)域相匹配的處理,最后由識別模塊300將所述放大后的二維碼區(qū)域?qū)氲剿鋈【翱騾^(qū)域進行二維碼識別,這樣能夠在掃描二維碼但掃描距離過遠時,通過直接對照片進行掃描的方法來提高所述二維碼掃描功能的識別度,還能在照片上的二維碼區(qū)域過小時對其進行放大處理來增加二維碼掃描的有效距離,進一步增加在稍遠距離處識別二維碼的成功率。
在一種可能的實施方式中,所述待掃描圖片為以高清方式拍攝的圖片。在一種可能的實施方式中,所述二維碼的視覺特征包括:位置探測圖形、位置探測圖形分隔符和定位圖形中的至少一種。所述二維碼的本身特征包括以下至少一種:整體呈現(xiàn)黑白點陣形狀、內(nèi)部存在固定規(guī)律的校準位。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖10是根據(jù)一示例性實施例示出的一種二維碼識別裝置800的框圖。例如,裝置800可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
參照圖10,裝置800可以包括以下一個或多個組件:處理組件802,存儲器804,電力組件806,多媒體組件808,音頻組件810,輸入/輸出(i/o)的接口812,傳感器組件814,以及通信組件816。
處理組件802通??刂蒲b置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個或多個處理器820來執(zhí)行指令,以完成二維碼識別方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在裝置800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件806為裝置800的各種組件提供電力。電力組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置800生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件808包括在所述裝置800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當裝置800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(mic),當裝置800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
i/o接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為裝置800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到裝置800的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置800的顯示器和小鍵盤,傳感器組件814還可以檢測裝置800或裝置800一個組件的位置改變,用戶與裝置800接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如cmos或ccd圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無線方式的通信。裝置800可以接入基于通信標準的無線網(wǎng)絡(luò),如wifi,2g或3g,或它們的組合。在一個示例性實施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件816還包括近場通信(nfc)模塊,以促進短程通信。例如,在nfc模塊可基于射頻識別(rfid)技術(shù),紅外數(shù)據(jù)協(xié)會(irda)技術(shù),超寬帶(uwb)技術(shù),藍牙(bt)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置800可以被一個或多個應(yīng)用專用集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場可編程門陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述二維碼識別方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述二維碼識別方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是rom、隨機存取存儲器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
圖11是根據(jù)一示例性實施例示出的一種二維碼識別裝置1900的框圖。參照圖11,裝置1900包括處理組件1922,其進一步包括一個或多個處理器,以及由存儲器1932所代表的存儲器資源,用于存儲可由處理組件1922的執(zhí)行的指令,例如應(yīng)用程序。存儲器1932中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述二維碼識別方法。
裝置1900還可以包括一個電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個有線或無線網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個輸入輸出(i/o)接口1958。裝置1900可以操作基于存儲在存儲器1932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐本公開后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。