識別碼掃碼方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種識別碼掃碼方法和系統(tǒng),其中所述方法包括:利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面;對待掃描識別碼進行逐幀掃描;利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。由此,在攝像頭獲取圖像階段采用諸如利用ZXing庫等攝像頭優(yōu)先掃描方式,在數(shù)據(jù)處理階段采用諸如利用Zbar庫等速度優(yōu)先掃描方式,充分利用了兩種不同的掃描方式,有效提升了掃碼效率。
【專利說明】
識別碼掃碼方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機信息技術(shù)領(lǐng)域,具體涉及一種識別碼掃碼方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著智能手機等智能設(shè)備的普及,諸如條形碼、二維碼等識別碼已進入人們生活的方方面面,利用智能設(shè)備上的攝像頭對識別碼進行掃描,可以獲取識別碼中的信息,從而可以進行打開網(wǎng)頁、發(fā)送短信、下載、文字輸入等動作。
[0003]目前常用的開源識別碼庫有Zbar和ZXingJbar底層是用C語言來實現(xiàn)的,掃碼速度較快,而ZXing是用java來實現(xiàn)的,對攝像頭的控制較為全面,但是它對識別碼的解析速度慢,需要攝像頭進行多次對焦,因此掃碼時間較長,增加了智能設(shè)備的功耗。而且,隨著識別碼技術(shù)的逐漸成熟,未來的識別碼將逐步擺脫傳統(tǒng)的黑白相間樣式,轉(zhuǎn)向色彩化和個性化發(fā)展,對識別碼掃碼提出了更高的要求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題在于現(xiàn)有的識別碼掃碼方案掃碼效率低。
[0005]為此,本發(fā)明實施例提供了一種識別碼掃碼方法,包括:利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面;對待掃描識別碼進行逐幀掃描;利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。
[0006]優(yōu)選地,在所述利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面與所述對待掃描識別碼進行逐幀掃描之間,還包括:對視圖進行裁剪以選取待掃描識別碼區(qū)域。
[0007]優(yōu)選地,利用GPGPU來進行所述對視圖進行裁剪以選取待掃描識別碼區(qū)域和/或所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟。
[0008]優(yōu)選地,所述對視圖進行裁剪以選取待掃描識別碼區(qū)域的步驟包括:判斷GPGPU的負(fù)載是否超出第一閾值;當(dāng)超出第一閾值時,利用CPU對待掃描識別碼進行逐幀掃描;當(dāng)未超出第一閾值時,利用GPGPU對待掃描識別碼進行逐幀掃描。
[0009]優(yōu)選地,所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟包括:判斷GPGPU的負(fù)載是否超出第二閾值;當(dāng)超出第二閾值時,利用CPU對各幀圖像進行解析;當(dāng)未超出第二閾值時,利用GPGPU對各幀圖像進行解析。
[0010]優(yōu)選地,在所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟中,采用多個顏色通道并行存儲和處理圖像。
[0011]優(yōu)選地,在所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟中,采用移位運算取代除法以及取模運算來處理圖像。
[0012]本發(fā)明實施例還提供了一種識別碼掃碼系統(tǒng),包括:視圖創(chuàng)建單元,用于利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面;掃描單元,用于對待掃描識別碼進行逐幀掃描;解析單元,用于利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。
[0013]優(yōu)選地,所述系統(tǒng)還包括:裁剪單元,用于在所述視圖創(chuàng)建單元利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面與所述掃描單元對待掃描識別碼進行逐幀掃描之間,對視圖進行裁剪以選取待掃描識別碼區(qū)域。
[0014]優(yōu)選地,所述裁剪單元利用GPGPU來進行所述對視圖進行裁剪以選取待掃描識別碼區(qū)域的步驟;和/或所述解析單元利用GPGPU來進行利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟。
[0015]根據(jù)本發(fā)明實施例的識別碼掃碼方法和系統(tǒng),在攝像頭獲取圖像階段采用諸如利用ZXing庫等攝像頭優(yōu)先掃描方式,在數(shù)據(jù)處理階段采用諸如利用Zbar庫等速度優(yōu)先掃描方式,充分利用了兩種不同的掃描方式,有效提升了掃碼效率。
【附圖說明】
[0016]通過參考附圖會更加清楚的理解本發(fā)明的特征和優(yōu)點,附圖是示意性的而不應(yīng)理解為對本發(fā)明進行任何限制,在附圖中:
[0017]圖1示出了根據(jù)本發(fā)明實施例的識別碼掃碼方法的流程圖;
[0018]圖2示出了根據(jù)本發(fā)明實施例的識別碼掃碼系統(tǒng)的示意圖。
【具體實施方式】
[0019]下面將結(jié)合附圖對本發(fā)明的實施例進行詳細(xì)描述。
[0020]本發(fā)明實施例提供了一種識別碼掃碼方法,用于掃碼諸如條形碼、二維碼等識別碼,如圖1所示,該方法包括如下步驟:
[0021]Sll.利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面。在這里,攝像頭優(yōu)先掃描方式是指對攝像頭控制較優(yōu)的掃描方式,可以選用現(xiàn)有的任何對攝像頭控制較優(yōu)的掃描方式,例如利用ZXing庫的掃描方式。
[0022]S12.對視圖進行裁剪以選取待掃描識別碼區(qū)域。通過僅選取待掃描識別碼區(qū)域,大幅降低所需要處理數(shù)據(jù)的規(guī)模,提高了掃描速度。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,該步驟是可選步驟,不進行裁剪也能夠?qū)崿F(xiàn)識別碼的掃碼,但是需要處理的數(shù)據(jù)量會大幅增加。
[0023]S13.對待掃描識別碼進行逐幀掃描。
[0024]S14.利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。在這里,速度優(yōu)先掃描方式是指掃描速度較優(yōu)的掃描方式,可以選用現(xiàn)有的任何掃描速度較優(yōu)的掃描方式,例如利用Zbar庫的掃描方式。
[0025]通過上述步驟Sll、S13和S14,在攝像頭獲取圖像階段采用諸如利用ZXing庫等攝像頭優(yōu)先掃描方式,在數(shù)據(jù)處理階段采用諸如利用Zbar庫等速度優(yōu)先掃描方式,充分利用了兩種不同的掃描方式,有效提升了掃碼效率。
[0026]作為一種優(yōu)選實施方式,在上述步驟S12和步驟S14中,均利用GPGPU(通用計算圖形處理器)來進行圖像裁剪和圖像解析。GPGPU是一種專用于圖像處理的微處理器,CPU則是通用的數(shù)據(jù)處理器,在進行圖像處理時,GPGHJ的處理性能和效率遠(yuǎn)勝于CPU,因此,利用GPGPU來進行圖像裁剪和圖像解析,有效提升了圖像裁剪和圖像解析的速度。
[0027]雖然GPGPU在圖像處理方面的處理性能和效率遠(yuǎn)勝于CPU,但是GPGPU并非一直空閑的,有時會有其他程序占用GPGPU的處理進程,如果一直把步驟S12和步驟S14中的圖像處理交由GPGPU來處理,可能需要等待GPGPU空閑時才能進行處理。
[0028]因此,作為進一步優(yōu)選的實施方式,上述步驟S12可以包括:判斷GPGPU的負(fù)載是否超出第一閾值,當(dāng)超出第一閾值時,利用CHJ對待掃描識別碼進行逐幀掃描;當(dāng)未超出第一閾值時,利用GPGPU對待掃描識別碼進行逐幀掃描。上述步驟S14可以包括:判斷GPGPU的負(fù)載是否超出第二閾值,當(dāng)超出第二閾值時,利用CPU對各幀圖像進行解析;當(dāng)未超出第二閾值時,利用GPGPU對各幀圖像進行解析。
[0029]由于CPU和GPGPU對于圖像裁剪和圖像解析這兩個不同步驟的速度是不同的,因此可以設(shè)定第一閾值與第二閾值不同,以達(dá)到一個折中的最佳效果,當(dāng)然也可以設(shè)定第一閾值與第二閾值相同。
[0030]優(yōu)選地,在步驟S14中對圖像進行解析時,采用多個顏色通道并行存儲和處理的方式,可以利用預(yù)先移位或空置比特位等方式來實現(xiàn)多顏色通道并行運算。與現(xiàn)有的ARGB四個通道分別存儲和處理的方式相比,顯著提升了處理速度。
[0031]優(yōu)選地,在步驟S14中對圖像進行解析時,使用移位運算取代除法以及取模運算,尋找性能與效果均衡的模糊半徑,提升了運行效率且降低了內(nèi)存占用。
[0032]本發(fā)明實施例還提供了一種識別碼掃碼系統(tǒng),用于掃碼諸如條形碼、二維碼等識別碼,如圖2所示,該系統(tǒng)包括:
[0033]視圖創(chuàng)建單元21,用于利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面;
[0034]掃描單元23,用于對待掃描識別碼進行逐幀掃描;
[0035]解析單元24,用于利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。
[0036]本發(fā)明實施例的識別碼掃碼系統(tǒng)在攝像頭獲取圖像階段采用諸如利用ZXing庫等攝像頭優(yōu)先掃描方式,在數(shù)據(jù)處理階段采用諸如利用Zbar庫等速度優(yōu)先掃描方式,充分利用了兩種不同的掃描方式,有效提升了掃碼效率。
[0037]作為一種優(yōu)選實施方式,該系統(tǒng)還包括:裁剪單元22,用于在視圖創(chuàng)建單元21利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面與掃描單元23對待掃描識別碼進行逐幀掃描之間,對視圖進行裁剪以選取待掃描識別碼區(qū)域。
[0038]作為一種優(yōu)選實施方式,裁剪單元22利用GPGPU來進行所述對視圖進行裁剪以選取待掃描識別碼區(qū)域的步驟;和/或解析單元24利用GPGPU來進行利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟。
[0039]進一步優(yōu)選地,裁剪單元22和/或解析單元24判斷GPGHJ的負(fù)載是否超出第一閾值,當(dāng)超出第一閾值時,利用CPU來進行圖像處理;當(dāng)未超出第一閾值時,利用GPGPU來進行圖像處理。從而避免了 GPGPU繁忙而造成的掃描效率降低。
[0040]優(yōu)選地,解析單元24對圖像進行解析時,采用多個顏色通道并行存儲和處理的方式,可以利用預(yù)先移位或空置比特位等方式來實現(xiàn)多顏色通道并行運算。與現(xiàn)有的ARGB四個通道分別存儲和處理的方式相比,顯著提升了處理速度。
[0041]優(yōu)選地,解析單元24對圖像進行解析時,使用移位運算取代除法以及取模運算,尋找性能與效果均衡的模糊半徑,提升了運行效率且降低了內(nèi)存占用。
[0042]本領(lǐng)域內(nèi)的技術(shù)人員還應(yīng)理解,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0043]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的,應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0044]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0045]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0046]雖然結(jié)合附圖描述了本發(fā)明的實施方式,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。
【主權(quán)項】
1.一種識別碼掃碼方法,其特征在于,包括: 利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面; 對待掃描識別碼進行逐幀掃描; 利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面與所述對待掃描識別碼進行逐幀掃描之間,還包括: 對視圖進行裁剪以選取待掃描識別碼區(qū)域。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,利用GPGPU來進行所述對視圖進行裁剪以選取待掃描識別碼區(qū)域和/或所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對視圖進行裁剪以選取待掃描識別碼區(qū)域的步驟包括: 判斷GPGRJ的負(fù)載是否超出第一閾值; 當(dāng)超出第一閾值時,利用CPU對待掃描識別碼進行逐幀掃描;當(dāng)未超出第一閾值時,利用GPGPU對待掃描識別碼進行逐幀掃描。5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟包括: 判斷GPGRJ的負(fù)載是否超出第二閾值; 當(dāng)超出第二閾值時,利用CHJ對各幀圖像進行解析;當(dāng)未超出第二閾值時,利用GPGPU對各幀圖像進行解析。6.根據(jù)權(quán)利要求1-5中任一項所述的方法,其特征在于,在所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟中,采用多個顏色通道并行存儲和處理圖像。7.根據(jù)權(quán)利要求1-5中任一項所述的方法,其特征在于,在所述利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟中,采用移位運算取代除法以及取模運算來處理圖像。8.一種識別碼掃碼系統(tǒng),其特征在于,包括: 視圖創(chuàng)建單元,用于利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面; 掃描單元,用于對待掃描識別碼進行逐幀掃描; 解析單元,用于利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 裁剪單元,用于在所述視圖創(chuàng)建單元利用攝像頭優(yōu)先掃描方式調(diào)用攝像頭預(yù)覽以創(chuàng)建視圖界面與所述掃描單元對待掃描識別碼進行逐幀掃描之間,對視圖進行裁剪以選取待掃描識別碼區(qū)域。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述裁剪單元利用GPGPU來進行所述對視圖進行裁剪以選取待掃描識別碼區(qū)域的步驟;和/或所述解析單元利用GPGPU來進行利用速度優(yōu)先掃描方式對各幀圖像進行解析以得到掃描結(jié)果的步驟。
【文檔編號】G06K7/10GK105824701SQ201610069136
【公開日】2016年8月3日
【申請日】2016年2月1日
【發(fā)明人】王璟瑤
【申請人】樂視移動智能信息技術(shù)(北京)有限公司