TWI769360B - 一種掃描碼影像辨識方法、裝置以及設備 - Google Patents
一種掃描碼影像辨識方法、裝置以及設備 Download PDFInfo
- Publication number
- TWI769360B TWI769360B TW107147331A TW107147331A TWI769360B TW I769360 B TWI769360 B TW I769360B TW 107147331 A TW107147331 A TW 107147331A TW 107147331 A TW107147331 A TW 107147331A TW I769360 B TWI769360 B TW I769360B
- Authority
- TW
- Taiwan
- Prior art keywords
- result
- binarization
- cpu
- code image
- scan code
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10851—Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/1098—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices the scanning arrangement having a modular construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
- Image Processing (AREA)
- Container Filling Or Packaging Operations (AREA)
- Image Analysis (AREA)
Abstract
本說明書實施例公開了一種掃描碼影像識別方法、裝置以及設備。方案包括:在識別掃描碼影像時,GPU對當前的掃描碼影像框進行二值化處理,再將二值化結果提供給CPU,然後繼續處理下一個掃描碼影像框,同時,CPU能夠進行二值化結果識別,若識別失敗,則識別下一個二值化結果,直至成功識別。
Description
本說明書關於計算機軟體技術領域,尤其關於一種掃描碼影像識別方法、裝置以及設備。
智慧型手機的使用普及給人們的生活帶來了便利,透過使用智慧型手機上的各種應用,能夠相應地進行各種業務。
智慧型手機常常會透過掃描識別二維碼,獲取到二維碼包含的業務資訊,進而基於該業務資訊與另一設備進行交互,從而實現特定的業務,比如,支付業務、即時通訊業務等。
在現有技術中,在掃描二維碼時,智慧型手機利用攝影機對準二維碼,連續採集掃描碼影像框,由智慧型手機的中央處理器(Central Processing Unit,CPU)對各掃描碼影像框進行二值化處理進而識別,直至成功識別出二維碼包含的資訊。
基於現有技術,需要更高效的掃描碼影像識別方案。
本說明書實施例提供一種掃描碼影像識別方法、裝置以及設備,用以解決如下技術問題:需要更高效的掃描碼影像識別方案。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種掃描碼影像識別方法,包括:
獲取當前的掃描碼影像框;
利用圖形處理器(Graphics Processing Unit,GPU),對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
本說明書實施例提供的一種掃描碼影像識別裝置,包括:
獲取模組,獲取當前的掃描碼影像框;
二值化模組,利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
識別模組,將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
本說明書實施例提供的一種掃描碼影像識別設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取當前的掃描碼影像框;
利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:在識別連續的多個掃描碼影像框時,由GPU代替CPU進行二值化處理,CPU只需進一步地識別二值化結果即可,這兩個過程能夠並行執行,有利於提高掃描碼影像識別效率。
本說明書實施例提供一種掃描碼影像識別方法、裝置以及設備。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
圖1為本說明書的方案在一種實際應用場景下關於的一種整體架構示意圖。該整體架構中,主要關於使用者終端設備上的攝影機、GPU和CPU。使用者終端設備,比如包括智慧型手機、平板電腦、商戶收銀機、銷售終端(Point Of Sale,POS)機等。攝影機用於在使用者掃描碼時連續採集掃描碼影像框,GPU用於對掃描碼影像框進行二值化處理,CPU用於對二值化結果進行識別,從而實現掃描碼影像識別。
下面主要基於圖1的示例性架構,對本說明書的方案進行說明。
圖2為本說明書實施例提供的一種掃描碼影像識別方法的流程示意圖,該流程也可以基於使用者簡單的操作觸發(如點擊“掃一掃”按鈕等)而執行,或者,若有需求,也可能適時地自動執行。
從設備角度而言,該流程的執行主體可以為使用者終端設備。從程式角度而言,該流程的執行主體可以為上述設備中安裝的程式,該程式的形式可以是客戶端、網頁端或者伺服端等。
圖2中的流程可以包括以下步驟:
S202:獲取當前的掃描碼影像框。
在本說明書實施例中,對於背景技術的場景,掃描碼主要指掃描二維碼。當然,除了二維碼以外,還可能採用諸如條碼、統一資源定位符(Uniform Resource Locator,URL)等其他可能透過掃描識別的數位對象唯一標識符(Digital Object Unique Identifier,DOI),則掃描碼具體指掃描相應的DOI。
在本說明書實施例中,比如,由智慧型手機上的攝影機連續地採集掃描碼影像框,智慧型手機一般由使用者手持操作,則在掃描碼過程中,對焦情況和對準情況都可能隨時變化,因此,連續採集的各掃描碼影像框通常有所區別,從一些掃描碼影像框中可能能夠成功地識別出碼中包含的資訊,而從另一些掃描碼影像框中未必能夠成功地識別出碼中包含的資訊。可以依次嘗試識別採集到的各掃描碼影像框,在成功地識別出碼中包含的資訊後,停止後續識別過程。
S204:利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果。
在本說明書實施例中,利用GPU為CPU分擔工作,由GPU對待識別的掃描碼影像框進行二值化處理,則無需CPU進行二值化處理,CPU負責識別二值化結果即可,從而減輕了CPU的負擔。
S206:將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
在本說明書實施例中,假定只用一個掃描碼影像框即成功地識別出碼包含的資訊,則整個掃描碼影像識別過程只是一個串行工作的過程,由GPU對該掃描碼影像框進行二值化處理,再由CPU對該掃描碼影像框的二值化結果成功識別。
而若用多個掃描碼影像框才成功地識別出碼包含的資訊,由於GPU與CPU能夠並行工作,則整個掃描碼影像識別過程是一個串行工作加並行工作的過程,串行指對每個掃描碼影像框分別處理過程是串行的,並行是指以下兩個過程可以是並行地:利用CPU識別某個掃描碼影像框的二值化結果的過程,與利用GPU二值化處理該掃描碼影像框後面的掃描碼影像框的過程。
在本說明書實施例中,掃描碼影像識別結果一般是碼中包含的字符串,該字符串比如表示:付款賬戶、跳轉網址、名片等資訊。
透過圖2的方法,在識別連續的多個掃描碼影像框時,由GPU代替CPU進行二值化處理,CPU只需進一步地識別二值化結果即可,這兩個過程能夠並行執行,有利於提高掃描碼影像識別效率,而且也有利於減輕CPU的負擔。
基於圖2的方法,本說明書實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。
在本說明書實施例中,為了實現掃描碼圖片識別過程中GPU與CPU並行工作,GPU與CPU分別的工作可以基於不同的線程或者不同的進程執行,互不影響。
例如,對於步驟S204,所述利用GPU,對所述當前的掃描碼影像框進行二值化處理,具體可以包括:第一線程利用GPU,對所述當前的掃描碼影像框進行二值化處理。對於步驟S206,所述利用所述CPU識別所述二值化結果,具體可以包括:第二線程利用所述CPU識別所述二值化結果。其中,所述第一線程與所述第二線程是不同的線程。
在本說明書實施例中,根據前面的說明,單憑當前的一個掃描碼影像框,未必能夠成功識別,因此,對於步驟S206,所述將所述二值化結果提供給CPU後,還可以利用GPU,繼續對下一個掃描碼影像框進行二值化處理。當然,GPU的繼續處理過程無需等待CPU對二值化結果的處理,利用CPU識別二值化結果的過程與利用GPU二值化處理掃描碼影像框的過程能夠並行執行。
在本說明書實施例中,對於步驟S206,所述將所述二值化結果提供給CPU的具體實現方案是多樣的。比如,在利用CPU得到二值化結果後,並發送相應通知(比如,發送給利用CPU識別二值化結果的功能模組,這裡將該功能模組稱為CPU識別模組)以便CPU識別模組得到所述結果池中的所述二值化結果,或者,也可以主動將該二值化結果發送給CPU識別模組,或者,自己不主動而只是被動地等CPU識別模組獲取該二值化結果。CPU識別模組得到該二值化結果後即可提供給CPU使用。
在本說明書實施例中,GPU可能對多個掃描碼影像框進行二值化處理,相應地,會得到多個二值化結果。為了便於CPU利用,可以將這些二值化結果統一保存,比如,可以建立一個結果池用於保存各二值化結果,以供CPU使用,結果池的位置不限,可以在諸如內存或者快取等揮發性記憶體中,也可以在硬碟或者閃存等非揮發性記憶體中。
例如,對於步驟S206,所述將所述二值化結果提供給CPU,具體可以包括:將所述二值化結果保存於結果池中,並發送相應通知以便CPU得到所述結果池中的所述二值化結果。進一步地,若所述CPU識別所述二值化結果失敗,則可以利用所述CPU,從所述結果池中獲取下一個二值化結果進行識別,直至識別成功為止。
根據上面的說明,本說明書實施例還提供的上述掃描碼影像識別方法在一種實際應用場景下的實施原理示意圖,如圖3所示。
在圖3中,利用GPU連續地二值化處理各掃描碼影像框,並將得到的各二值化結果保存於結果池中,當二值化結果池中有新增的二值化結果時,通知CPU識別模組來取該二值化結果,進而CPU識別模組利用CPU識別該二值化結果,若識別成功則返回結果,若識別失敗則從結果池中獲取下一個二值化結果繼續識別,直至識別成功為止。
基於同樣的思路,本說明書實施例還提供了上述方法對應的裝置和設備,參見如圖4、圖5所示。
圖4為本說明書實施例提供的對應於圖2的一種掃描碼影像識別裝置的結構示意圖,所述裝置包括:
獲取模組401,獲取當前的掃描碼影像框;
二值化模組402,利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
識別模組403,將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
可選地,所述二值化模組402利用GPU,對所述當前的掃描碼影像框進行二值化處理,具體包括:
所述二值化模組402透過第一線程,利用GPU,對所述當前的掃描碼影像框進行二值化處理;
所述識別模組403利用CPU識別所述二值化結果,具體包括:
所述識別模組403透過第二線程,利用所述CPU識別所述二值化結果,其中,所述第一線程與所述第二線程是不同的線程。
可選地,所述識別模組403將所述二值化結果提供給CPU後,所述二值化模組402利用所述GPU,對下一個掃描碼影像框進行二值化處理,其中,利用所述CPU識別二值化結果的過程與利用所述GPU二值化處理掃描碼影像框的過程能夠並行執行。
可選地,所述識別模組403將所述二值化結果提供給CPU,具體包括:
所述識別模組403將所述二值化結果保存於結果池中,並發送相應通知以便CPU得到所述結果池中的所述二值化結果。
可選地,若利用所述CPU識別所述二值化結果失敗,所述識別模組403利用所述CPU,從所述結果池中獲取下一個二值化結果進行識別。
可選地,所述掃描碼包括掃描二維碼。
圖5為本說明書實施例提供的對應於圖2的一種掃描碼影像識別設備的結構示意圖,所述設備包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取當前的掃描碼影像框;
利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
基於同樣的思路,本說明書實施例還提供了對應於圖2的一種非揮發性計算機儲存媒體,儲存有計算機可執行指令,所述計算機可執行指令設置為:
獲取當前的掃描碼影像框;
利用GPU,對所述當前的掃描碼影像框進行二值化處理,得到二值化結果;
將所述二值化結果提供給CPU,以便利用所述CPU識別所述二值化結果,得到掃描碼影像識別結果。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、設備、非揮發性計算機儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書實施例提供的裝置、設備、非揮發性計算機儲存媒體與方法是對應的,因此,裝置、設備、非揮發性計算機儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、設備、非揮發性計算機儲存媒體的有益技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體管、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式化來確定。由設計人員自行程式化來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式化語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL (Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式代碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程式代碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯程式化來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或計算機程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方塊圖來描述的。應理解可由計算機程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得透過計算機或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些計算機程式指令也可儲存在能引導計算機或其他可程式化資料處理設備以特定方式工作的計算機可讀記憶體中,使得儲存在該計算機可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些計算機程式指令也可裝載到計算機或其他可程式化資料處理設備上,使得在計算機或其他可程式化設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內存。
內存可能包括計算機可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性內存等形式,如唯讀記憶體(ROM)或閃存(flash RAM)。內存是計算機可讀媒體的示例。
計算機可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存媒體的例子包括,但不限於相變內存(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他內存技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書實施例可提供為方法、系統或計算機程式產品。因此,本說明書可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本說明書可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分布式計算環境中實踐本說明書,在這些分布式計算環境中,由透過通訊網路而被連接的遠程處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程計算機儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
401‧‧‧獲取模組
402‧‧‧二值化模組
403‧‧‧識別模組
S204‧‧‧步驟
S206‧‧‧步驟
S208‧‧‧步驟
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本說明書的方案在一種實際應用場景下關於的一種整體架構示意圖;
圖2為本說明書實施例提供的一種掃描碼影像識別方法的流程示意圖;
圖3為本說明書實施例提供的掃描碼影像識別方法在一種實際應用場景下的實施原理示意圖;
圖4為本說明書實施例提供的對應於圖2的一種掃描碼影像識別裝置的結構示意圖;
圖5為本說明書實施例提供的對應於圖2的一種掃描碼影像識別設備的結構示意圖。
Claims (7)
- 一種掃描碼影像識別方法,包括:獲取當前的掃描碼影像框;利用圖形處理器GPU,對該當前的掃描碼影像框進行二值化處理,得到二值化結果;將該二值化結果提供給中央處理器CPU,以便利用該CPU識別該二值化結果,得到掃描碼影像識別結果;該將該二值化結果提供給CPU,具體包括:將該二值化結果保存於結果池中,並發送相應通知以便CPU得到該結果池中的該二值化結果;若利用該CPU識別該二值化結果失敗,該方法還包括:利用該CPU,從該結果池中獲取下一個二值化結果進行識別;該結果池的位置包括位於非揮發性記憶體中;該結果池用於統一保存該二值化結果,該利用GPU,對該當前的掃描碼影像框進行二值化處理,具體包括:第一線程利用GPU,對該當前的掃描碼影像框進行二值化處理;該利用該CPU識別該二值化結果,具體包括:第二線程利用該CPU識別該二值化結果,其中,該第一線程與該第二線程是不同的線程。
- 如請求項1之方法,該將該二值化結果提供給CPU後,該方法還包括: 利用該GPU,對下一個掃描碼影像框進行二值化處理,其中,利用該CPU識別二值化結果的過程與利用該GPU二值化處理掃描碼影像框的過程能夠並行執行。
- 如請求項1~2任一項之方法,該掃描碼包括掃描二維碼。
- 一種掃描碼影像識別裝置,包括:獲取模組,獲取當前的掃描碼影像框;二值化模組,利用圖形處理器GPU,對該當前的掃描碼影像框進行二值化處理,得到二值化結果;識別模組,將該二值化結果提供給中央處理器CPU,以便利用該CPU識別該二值化結果,得到掃描碼影像識別結果;該識別模組將該二值化結果提供給CPU,具體包括:該識別模組將該二值化結果保存於結果池中,並發送相應通知以便CPU得到該結果池中的該二值化結果;若利用該CPU識別該二值化結果失敗,該識別模組利用該CPU,從該結果池中獲取下一個二值化結果進行識別;該結果池的位置包括位於非揮發性記憶體中;該結果池用於統一保存該二值化結果,該二值化模組利用GPU,對該當前的掃描碼影像框進行二值化處理,具體包括:該二值化模組透過第一線程,利用GPU,對該當前的掃描碼影像框進行二值化處理; 該識別模組利用CPU識別該二值化結果,具體包括:該識別模組透過第二線程,利用該CPU識別該二值化結果,其中,該第一線程與該第二線程是不同的線程。
- 如請求項4之裝置,該識別模組將該二值化結果提供給CPU後,該二值化模組利用該GPU,對下一個掃描碼影像框進行二值化處理,其中,利用該CPU識別二值化結果的過程與利用該GPU二值化處理掃描碼影像框的過程能夠並行執行。
- 如請求項4~5任一項之裝置,該掃描碼包括掃描二維碼。
- 一種掃描碼影像識別設備,包括:至少一個處理器;以及,與該至少一個處理器通訊連接的記憶體;其中,該記憶體儲存有可被該至少一個處理器執行的指令,該指令被該至少一個處理器執行,以使該至少一個處理器能夠:獲取當前的掃描碼影像框;利用圖形處理器GPU,對該當前的掃描碼影像框進行二值化處理,得到二值化結果;將該二值化結果提供給中央處理器CPU,以便利用該CPU識別該二值化結果,得到掃描碼影像識別結果;該將 該二值化結果提供給CPU,具體包括:將該二值化結果保存於結果池中,並發送相應通知以便CPU得到該結果池中的該二值化結果;若利用該CPU識別該二值化結果失敗,該方法還包括:利用該CPU,從該結果池中獲取下一個二值化結果進行識別;該結果池的位置包括位於非揮發性記憶體中;該結果池用於統一保存該二值化結果,該利用GPU,對該當前的掃描碼影像框進行二值化處理,具體包括:第一線程利用GPU,對該當前的掃描碼影像框進行二值化處理;該利用該CPU識別該二值化結果,具體包括:第二線程利用該CPU識別該二值化結果,其中,該第一線程與該第二線程是不同的線程。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810186076.6 | 2018-03-07 | ||
??201810186076.6 | 2018-03-07 | ||
CN201810186076.6A CN108537085A (zh) | 2018-03-07 | 2018-03-07 | 一种扫码图像识别方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201939356A TW201939356A (zh) | 2019-10-01 |
TWI769360B true TWI769360B (zh) | 2022-07-01 |
Family
ID=63486463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107147331A TWI769360B (zh) | 2018-03-07 | 2018-12-27 | 一種掃描碼影像辨識方法、裝置以及設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108537085A (zh) |
TW (1) | TWI769360B (zh) |
WO (1) | WO2019169965A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537085A (zh) * | 2018-03-07 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种扫码图像识别方法、装置以及设备 |
CN115953798A (zh) * | 2019-08-27 | 2023-04-11 | 创新先进技术有限公司 | 一种证件识别方法、装置及设备 |
CN114417322A (zh) * | 2019-09-19 | 2022-04-29 | 武汉统信软件技术有限公司 | 应用的隔离实现方法、移动终端、计算机设备和存储介质 |
EP4246369A4 (en) * | 2020-11-30 | 2024-02-28 | Huawei Technologies Co., Ltd. | CODE SCANNING METHOD AND APPARATUS |
CN113963352B (zh) * | 2021-09-22 | 2022-08-02 | 支付宝(杭州)信息技术有限公司 | 识别图片和训练神经网络的方法和装置 |
CN114723766A (zh) * | 2022-04-14 | 2022-07-08 | 润芯微科技(江苏)有限公司 | 一种二维码提取与展示的方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851081A (zh) * | 2015-05-15 | 2015-08-19 | 南京信息工程大学 | 一种基于gpu的并行拉普拉斯图像锐化方法 |
CN105894514A (zh) * | 2016-04-06 | 2016-08-24 | 广东工业大学 | 一种基于gpu并行运算的印刷品缺陷检测方法及系统 |
CN107609446A (zh) * | 2017-07-31 | 2018-01-19 | 努比亚技术有限公司 | 一种码图识别方法、终端及计算机可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824257A (zh) * | 2012-11-16 | 2014-05-28 | 无锡汉兴电子有限公司 | 一种二维码图像预处理方法 |
CN103955660B (zh) * | 2014-04-22 | 2017-02-22 | 广州闪购软件服务有限公司 | 一种批量二维码图像识别方法 |
CN104125220A (zh) * | 2014-07-08 | 2014-10-29 | 上海仪电智能电子有限公司 | 一种实现手机应用和后台数据库进行快速数据交换和响应的方法 |
CN104933731A (zh) * | 2015-04-17 | 2015-09-23 | 阔地教育科技有限公司 | 一种基于图形处理器的运动目标检测方法及装置 |
CN108573186A (zh) * | 2016-03-31 | 2018-09-25 | 青岛海信移动通信技术股份有限公司 | 二维码图片识别方法及装置 |
CN106095536B (zh) * | 2016-06-22 | 2019-06-11 | 福建联迪商用设备有限公司 | 基于多核mpu的多线程解码方法及系统 |
CN108537085A (zh) * | 2018-03-07 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种扫码图像识别方法、装置以及设备 |
-
2018
- 2018-03-07 CN CN201810186076.6A patent/CN108537085A/zh active Pending
- 2018-12-27 TW TW107147331A patent/TWI769360B/zh active
-
2019
- 2019-01-23 WO PCT/CN2019/072772 patent/WO2019169965A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851081A (zh) * | 2015-05-15 | 2015-08-19 | 南京信息工程大学 | 一种基于gpu的并行拉普拉斯图像锐化方法 |
CN105894514A (zh) * | 2016-04-06 | 2016-08-24 | 广东工业大学 | 一种基于gpu并行运算的印刷品缺陷检测方法及系统 |
CN107609446A (zh) * | 2017-07-31 | 2018-01-19 | 努比亚技术有限公司 | 一种码图识别方法、终端及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
期刊 王鵬、劉山杉"航空信息系統中基於CPU&GPU結構的條碼識別技術的研究" 第40卷第11A期 計算機科學 2013年11月 第357~358、378頁 * |
Also Published As
Publication number | Publication date |
---|---|
TW201939356A (zh) | 2019-10-01 |
CN108537085A (zh) | 2018-09-14 |
WO2019169965A1 (zh) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI769360B (zh) | 一種掃描碼影像辨識方法、裝置以及設備 | |
TWI717644B (zh) | 業務資訊獲取方法、裝置以及設備 | |
WO2019034039A1 (zh) | 一种目标图形码识别方法和装置 | |
TWI728266B (zh) | 二維條碼生成、業務處理方法、裝置和設備以及二維條碼 | |
TWI742324B (zh) | 基於掃描doi的資訊處理方法、裝置及設備 | |
WO2019179233A1 (zh) | 一种二维码识读方法、装置及设备 | |
WO2017148275A1 (zh) | 信息显示方法及装置 | |
TWI709933B (zh) | 虛擬卡的開卡方法、系統和支付系統、發卡系統 | |
TWI690853B (zh) | 一種影像識別的方法、裝置及設備 | |
TW202121287A (zh) | 支付系統、方法、伺服器設備、媒體及裝置 | |
WO2019149020A1 (zh) | 一种信息识别方法、服务器、客户端及系统 | |
WO2019179243A1 (zh) | 一种信息展示方法、装置及设备 | |
US11164230B2 (en) | Service execution method, apparatus, and device for use in client terminal and server | |
TWI694392B (zh) | 顯示數位物件唯一識別符的方法及裝置 | |
US20200211010A1 (en) | Resource transfer verification method and apparatus, and electronic payment verification method and apparatus | |
TWI786252B (zh) | 支付方法、裝置及設備 | |
TWI759583B (zh) | 圖形碼的解碼方法及用於圖形碼的解碼的用戶端 | |
WO2019165870A1 (zh) | 一种识别条码的方法、装置及设备 | |
US20200356830A1 (en) | Method and system for applying barcode, and server | |
WO2019154168A1 (zh) | 应用的识别码的展示方法及装置 | |
WO2019137357A1 (zh) | 付款码获取、支付请求响应方法、装置以及设备 | |
TW201909077A (zh) | 一種發送電子票券的方法及裝置 | |
CN111652074B (zh) | 一种人脸识别方法、装置、设备及介质 | |
CN109614205A (zh) | 一种业务处理方法、装置、设备及系统 | |
CN117593801A (zh) | 一种生物攻击检测方法及装置 |