TW202024997A - 二維碼識別方法、裝置及設備 - Google Patents
二維碼識別方法、裝置及設備 Download PDFInfo
- Publication number
- TW202024997A TW202024997A TW108133787A TW108133787A TW202024997A TW 202024997 A TW202024997 A TW 202024997A TW 108133787 A TW108133787 A TW 108133787A TW 108133787 A TW108133787 A TW 108133787A TW 202024997 A TW202024997 A TW 202024997A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- dimensional code
- recognized
- unit
- perform
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 62
- 238000003702 image correction Methods 0.000 claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 238000013135 deep learning Methods 0.000 claims abstract description 39
- 230000009466 transformation Effects 0.000 claims abstract description 18
- 238000012937 correction Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 230000002902 bimodal effect Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 230000003321 amplification Effects 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000012549 training Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本說明書實施例提供一種二維碼識別方法、裝置及設備,獲取待識別圖像。當待識別圖像中包含二維碼時,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。根據指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。對目標區域進行圖像校正,得到校正後的圖像。這裡的圖像校正至少可以包括透視變換。對校正後的圖像進行二維碼識別。
Description
本說明書一個或多個實施例有關圖像識別領域,尤其有關一種二維碼識別方法、裝置及設備。
二維碼(2-dimensional bar code)是透過按一定規律在平面的二維方向上分佈的圖形來記錄資訊的條碼。其中,以QR二維碼最為常見。QR二維碼具有3個用於定位的類似“回”字的圖案(以下稱為回字特徵),分別位於二維碼的左上角,右上角,左下角。其識別方法可以如下:採用影像處理技術,在待識別圖像中搜尋二維碼的3個回字特徵。根據回字特徵的個數和位置,恢復出正常的待識別圖像。再透過二值化方法,轉換成二值化點陣。最終根據二維碼標準語法解析出點陣隱含的字元內容。
然而,當待識別圖像不夠完美時,如,待識別圖像中的二維碼的回字特徵出現較大形變、被遮擋或者待識別圖像為大角度圖像。依照傳統的方法通常搜尋不到理想的3個回字特徵,從而也就不能恢復出正常的待識別圖像,最終也就無法對二維碼進行識別。因此,需要提供一種健全性更強的二維碼識別方法。
本說明書一個或多個實施例描述了一種二維碼識別方法、裝置及設備,可以對非完美圖像中的二維碼進行準確識別。
第一態樣,提供了一種二維碼識別方法,包括:
獲取待識別圖像;
當所述待識別圖像中包含二維碼時,根據深度學習檢測演算法,在所述待識別圖像中檢測所述二維碼的指定個數的角點;
根據所述指定個數的角點的位置座標,確定所述二維碼在所述待識別圖像中所在的目標區域;
對所述目標區域進行圖像校正,得到校正後的圖像;所述圖像校正至少包括透視變換;
對所述校正後的圖像進行二維碼識別。
第二態樣,提供了一種二維碼識別裝置,包括:
獲取單元,用於獲取待識別圖像;
檢測單元,用於當所述獲取單元獲取的所述待識別圖像中包含二維碼時,根據深度學習檢測演算法,在所述待識別圖像中檢測所述二維碼的指定個數的角點;
確定單元,用於根據所述檢測單元檢測到的所述指定個數的角點的位置座標,確定所述二維碼在所述待識別圖像中所在的目標區域;
校正單元,用於對所述確定單元確定的所述目標區域進行圖像校正,得到校正後的圖像;所述圖像校正至少包括透視變換;
識別單元,用於對所述校正單元校正後的圖像進行二維碼識別。
第三態樣,提供了一種二維碼識別設備,包括:
記憶體;
一個或多個處理器;以及
一個或多個程式,其中所述一個或多個程式儲存在所述記憶體中,並且被配置成由所述一個或多個處理器執行,所述程式被所述處理器執行時實現以下步驟:
獲取待識別圖像;
當所述待識別圖像中包含二維碼時,根據深度學習檢測演算法,在所述待識別圖像中檢測所述二維碼的指定個數的角點;
根據所述指定個數的角點的位置座標,確定所述二維碼在所述待識別圖像中所在的目標區域;
對所述目標區域進行圖像校正,得到校正後的圖像;所述圖像校正至少包括透視變換;
對所述校正後的圖像進行二維碼識別。
本說明書一個或多個實施例提供的二維碼識別方法、裝置及設備,獲取待識別圖像。當待識別圖像中包含二維碼時,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。根據指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。對目標區域進行圖像校正,得到校正後的圖像。這裡的圖像校正至少可以包括透視變換。對校正後的圖像進行二維碼識別。由此可以看出,本說明書提供的方案,在識別二維碼之前,先基於深度學習檢測演算法,在待識別圖像中確定出二維碼區域。之後對二維碼區域進行校正並識別。由此可以實現對非完美圖像中二維碼的準確識別,此外,還可以大大提升二維碼的識別效率。
下面結合圖式,對本說明書提供的方案進行描述。
在描述本說明書提供的方案之前,先對該方案的發明構思作如下介紹:
由於受到攝像頭位置、距離、角度、環境光照等因素的影響,獲取的待識別二維碼的圖像(簡稱待識別圖像)通常不是完美的圖像。為了適應各種品質的待識別圖像,傳統方法通常會設計複雜的多特徵融合的邏輯,也即傳統的二維碼識別方法的複雜度通常都比較高。這裡的二維碼可以是指PDF417二維碼、Datamatrix二維碼以及QR二維碼等等。在本說明書的以下描述中,以QR二維碼為例進行說明。
本申請的申請人考慮到,傳統的二維碼識別方法之所以複雜,是因為待識別圖像本身不夠完美。如果能在對待識別圖像進行識別之前,先對其進行很好的校正,那麼將大大降低二維碼識別方法的複雜度。因此,本方案主要是針對待識別圖像的前期處理流程(框架)而提出的。
首先,由於本申請是基於深度學習檢測演算法,來確定待識別圖像的二維碼區域,之後針對該二維碼區域進行校正並識別。而深度學習檢測演算法是一種比較耗算力的演算法,因此要儘量減少不必要的輸入。一種實現思路可以是:先對待識別圖像是否包含二維碼進行判斷,在判斷其包含二維碼的情況下才輸入深度學習檢測演算法。
在一種實現方式中,可以在待識別圖像中檢測信賴度比較高的回字特徵。若檢測到一個信賴度比較高的回字特徵,則可以判斷該待識別圖像中包含二維碼。上述回字特徵的信賴度的判斷過程可以如下:以回字特徵的中心點為起點,向其周圍擴展若干個圖元,以得到包含回字特徵的正矩形區域。針對正矩形區域進行灰度長條圖統計。若統計的灰度長條圖為雙峰型長條圖,則該回字特徵的信賴度比較高,否則該回字特徵的信賴度比較低。
在另一種實現方式中,可以嘗試在待識別圖像中檢測3個理想的回字特徵,如果檢測到該3個理想的回字特徵,則也可以判斷該待識別圖像中包含二維碼。
其次,圖片校正通常是一個比較耗時的過程,而因為我們最終是為了對待識別圖像中的二維碼進行識別,因此,為了加快待識別圖像的校正效率,可以考慮僅對待識別圖像中的二維碼區域進行校正。那麼如何從待識別圖像中確定識別出二維碼區域呢?
一種實現思路可以是,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。根據指定個數的角點的位置座標,確定待識別圖像中的二維碼區域。需要說明的是,上述深度學習檢測演算法可以是根據多張預先標定好二維碼的指定個數的角點的多張圖像訓練得到的。
另一種實現思路可以是,根據在待識別圖像中檢測到的3個理想的回字特徵的位置,來確定二維碼區域。
最後,由於透過深度學習檢測演算法,可以檢測出二維碼的指定個數的角點。從而基於該指定個數的角點的座標,可以同時對二維碼區域進行透視變換以及鏡頭畸變校正等圖像校正處理。當上述多種圖像校正處理可以同時進行時,可以避免圖像資料在記憶體的多次寫入,這可以大大提升圖像的校正效率,從而可以進一步提升二維碼的識別效率。
可以理解的是,在待識別圖像經過上述一系列的前期處理之後,可以大幅提升待識別圖像的品質,從而使得後續識別演算法能夠更輕鬆的識別出二維碼包含的內容。
基於上述發明構思,就可以得到本說明提供的方案。以下對本說明書提供的方案進行詳細描述。
圖1為本說明書提供的二維碼識別系統示意圖。圖1中,該二維碼識別系統10可以包括:特徵檢測模組102、角點檢測模組104、圖像校正模組106以及識別模組108。
特徵檢測模組102,用於在待識別圖像中檢測信賴度比較高的回字特徵。這裡的回字特徵具有如下特點:黑白圖元構成的線段長度比為:1:1:3:1:1。利用這個特點,可以在待識別圖像中識別出該回字特徵。上述回字特徵的信賴度高低的判斷如上所述,在此不復贅述。
角點檢測模組104,用於在包含二維碼的待識別圖像中檢測二維碼的指定個數的角點。這裡的包含二維碼的待識別圖像可以是指檢測到信賴度比較高的回字特徵的待識別圖像。如前所述,角點檢測模組104具體可以透過深度學習檢測演算法,來檢測二維碼的指定個數的角點。
圖像校正模組106,用於對由上述指定個數的角點的位置座標所確定的區域(即二維碼區域)進行圖像校正。這裡的圖像校正可以包括但不限於透視變換以及鏡頭畸變校正等。需要說明的是,由於透過深度學習檢測演算法,可以檢測出二維碼的指定個數的角點。從而基於該指定個數的角點,可以同時對二維碼區域進行透視變換以及鏡頭畸變校正,這可以大大提升圖像校正的效率。
識別模組108,用於對圖像校正後的二維碼區域進行識別。如,識別輸出二維碼中所包含的內容。
可選地,上述二維碼識別系統還可以包括對比度增強模組110。對比度增強模組110,用於採用局部長條圖的方法對圖像校正後的二維碼區域進行對比度增強,從而可以得到更好的對比度。
此外,還可以包括二值化模組112。二值化模組112,用於對圖像校正後的二維碼區域或者對比度增強後的二維碼區域進行二值化處理,從而使得二維碼區域更易於識別。
圖2為本說明書一個實施例提供的二維碼識別方法流程圖。所述方法的執行主體可以為具有處理能力的設備:伺服器或者系統或者裝置,如,可以為圖1中的二維碼識別系統。如圖2所示,所述方法具體可以包括:
步驟202,獲取待識別圖像。
此處,可以是透過終端設備的攝像頭獲取待識別圖像,這裡的終端設備可以是指智慧手機、平板電腦、數碼相機或其它類似終端設備。在獲取到待識別圖像之後,可以對待識別圖像進行灰度處理,以得到灰度圖像。需要說明的是,灰度圖像中的圖元點的灰度值(簡稱圖元值)的取值範圍可以為:[0,255]。
如前所述,為了減少深度學習檢測演算法的不必要的輸入,在得到上述灰度圖像之後,還可以執行如下是否包含二維碼的判斷步驟。該步驟具體可以是由特徵檢測模組102來執行,其具體可以包括:
步驟a,對灰度圖像進行特徵檢測,以檢測待識別圖像中是否包含回字特徵。
如前所述,本說明書中的回字特徵具有1:1:3:1:1的特點,因此可以基於該特點來檢測上述回字特徵。需要說明的是,在待識別圖像比較完美的情況下,通常可以檢測出3個回字特徵。而在待識別圖像中的回字特徵出現變形、遮擋或者待識別圖像為大角度圖像時,往往不能檢測出理想的3個回字特徵,但是單個回字特徵通常還是可以檢測到的,從而本說明書實施例的是否包含二維碼的判斷方法具有較高的健全性。以圖3所示的二維碼為例來說,可以檢測到左上角的回字特徵。
步驟b,若檢測到該回字特徵,則以回字特徵的中心點為起點,向其周圍擴展若干個圖元,以得到包含回字特徵的正矩形區域。
這裡的“周圍”可以是指回字特徵的四個方向,因此上述擴展的操作即為在回字特徵的四個方向上分別擴展若干個圖元。其中,在每個方向上所擴展圖元的個數由回字特徵的大小確定。具體地,根據上述1:1:3:1:1的特點可知,本說明書中的回字特徵可以包含7*7個點陣單元,假設1個點陣單元與1個圖元相對應,則回字特徵的大小為:1*7=7個圖元。在一種實現方式中,上述擴展圖元的個數可以為:1*8,這裡設定為8是因為最終得到的正矩形區域需包含回字特徵(也即要大於7個點陣單元),這裡的1代表前述1個圖元。當然,在實際應用中,公式中的8也可以替換為任一大於8的數位,本說明書對此不作限定。
步驟c,針對正矩形區域進行灰度長條圖統計。
這裡的灰度長條圖的橫坐標可以為正矩形區域所包含的不同的圖元值,如前所述,這裡的圖元值的取值範圍為:[0,255],縱坐標為不同圖元值的個數。
步驟d,若統計的灰度長條圖為雙峰型長條圖,則判斷待識別圖像中包含二維碼。
需要說明的是,上述步驟b-步驟d可以是在檢測不到理想的3個回字特徵時執行。若透過步驟a可以檢測到3個理想的回字特徵,則可以直接判斷待識別圖像中包含二維碼,而不執行步驟b-步驟d,本說明書對此不作限定。
本說明書實施例透過檢測單個信賴度較高的回字特徵,來判斷待識別圖像中是否包含二維碼的方法,可以降低是否包含二維碼的誤識別率。
步驟204,當待識別圖像中包含二維碼時,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。
此處,可以是指角點檢測模組104根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。
可選地,為了確保在待識別圖像包含二維碼時,深度學習檢測演算法能夠檢測到該二維碼的指定個數的角點,本說明書實施例在執行步驟204之前,還可以執行如下二維碼大小的判斷步驟,包括:
獲取回字特徵的大小。根據預設的換算規則以及回字特徵的大小,換算二維碼的大小。若二維碼的大小不滿足預設條件,則從待識別圖像中提取以回字特徵為中心的待識別區域。對該待識別區域進行放大。
上述二維碼的大小的換算過程可以舉例如下:假設獲取的回字特徵的大小為:3*7=21個圖元,從而可以確定回字特徵的1個點陣單元對應3個圖元。且假設預設的換算規則為:二維碼的大小根據1個點陣單元對應的圖元個數與預設的最大二維碼點陣確定。那麼當預設的最大二維碼點陣為:57*57時,二維碼的大小可以為:3*57 = 171個圖元。
當然,在實際應用中,上述預設的換算規則也可以設定為其它演算法,如,將回字特徵的大小放大預設倍數來確定二維碼的大小,本說明書對此不作限定。
圖4示出了待識別區域的放大過程示意圖。圖4中,假設待識別圖像的大小為:1000*1000,且假設根據上述換算規則,換算得到的二維碼的大小不滿足預設條件,則可以從待識別圖像中提取以回字特徵為中心的待識別區域,其大小可以為400*400,之後對該400*400的待識別區域進行放大。
可以理解的是,當還執行待識別區域的放大操作時,步驟204可以替換為:根據深度學習檢測演算法,在放大後的待識別區域中檢測二維碼的指定個數的角點。
在一個例子中,步驟204中,或者上述替換後的步驟中的指定個數的角點可以是指二維碼的4的角點。還以圖3為例來說,檢測出的4個角點可以如圖5所示。
此外,本說明書中的深度學習檢測演算法可以是根據多張預先標定好二維碼的指定個數的角點的多張圖像訓練得到的。透過訓練該深度學習檢測演算法,可以模擬人眼對二維碼角點的感知能力,從而得到較高的健全性。當出現新的場景時,透過深度學習微調(finetune),也可以較快的更新演算法。
由此可以看出,本說明書檢測出的單個信賴度較高的回字特徵,不僅可以用於判斷待識別圖像中是否包含二維碼,其大小還可以用於換算二維碼的大小。當二維碼的大小不滿足預設條件時,可以對回字特徵的周圍區域進行放大,由此來提升二維碼的角點的檢測的成功率。此外,放大後的區域也可以理解為是二維碼的粗定位,透過該粗定位方式,可以降低深度學習檢測演算法的搜尋空間。
再者,本說明書實施例透過深度學習檢測演算法,來確定二維碼區域的方法相比於傳統的方法(即基於3個理想的回字特徵來定位二維碼區域),具有較好的健全性。具體地,本說明書實施例提供的深度學習檢測演算法,在二維碼的回字特徵出現變形、被遮擋或者待識別圖像為大角度圖像時,也能夠準確地對二維碼區域進行定位。
步驟206,根據指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。
以圖5為例來說,該步驟確定的目標區域可以為由圖中4個角點所構成的矩形區域。
步驟208,對目標區域進行圖像校正,得到校正後的圖像。
如,可以是由圖像校正模組108來執行上述步驟206以及步驟208。
還以圖5為例來說,在對其目標區域進行圖像校正之後,可以得到如圖6a所示的校正後的圖像。
上述圖像校正至少可以包括透視變換。此外,還可以包括鏡頭畸變校正等。需要說明的是,由於透過步驟204已經可以確定出目標區域的4個角點,所以該步驟可以直接進行透視變換。而無需先對目標區域進行鏡頭畸變校正,以確定目標區域的4個角點,之後再對其進行透視變換。在一種實現方式中,當還對目標區域進行鏡頭畸變校正時,該鏡頭畸變校正與透視變換可以同時進行,也即只需向記憶體中寫入一次圖像資料,從而可以大大提升圖像校正的效率。
此外,由於鏡頭畸變校正屬於非線性變化,其非常消耗資源。因此本步驟只對目標區域進行圖像校正,而不對整個待識別圖像進行圖像校正的方式,可以大大降低運算量。
步驟210,對校正後的圖像進行二維碼識別。
如,可以是由識別模組110來對校正後的圖像進行二維碼識別。
為了使得校正後的圖像更易於識別,本說明書實施例還可以對校正後的圖像執行對比度增強以及二值化等影像處理步驟。具體地,先採用局部長條圖的方法,對校正後的圖像進行對比度增強處理,得到對比度增強圖像。再對增強圖像進行二值化處理,得到二值化圖像。最後對二值化圖像進行二維碼識別。
以圖6a為例來說,在對其執行對比度增強處理之後,可以得到如圖6b所示的對比度增強圖像。之後,當對圖6b所示的圖像進行二值化處理之後,可以得到如圖6c所示的二值化圖像。
綜上,本說明書實施例提供的二維碼識別方法,透過檢測單個信賴度較高的回字特徵,來判斷待識別圖像中是否包含二維碼。對不包含二維碼的待識別圖像進行丟棄,由此可以避免所有圖像都經過後續比較耗算力的深度學習檢測演算法。此外,透過該單個信賴度較高的回字特徵,還可以實現二維碼的粗定位,以便在二維碼的大小不滿足預設條件時,以該回字特徵為中心,對其周圍區域進行放大。再者,透過訓練深度學習檢測演算法,來對二維碼的角點進行定位,可以避免傳統演算法為了適應各種二維碼圖像品質,而設計複雜的多特徵融合的邏輯。最後,基於深度學習檢測演算法所檢測出的角點,可以同時對二維碼區域進行透視變化以及鏡頭畸變校正等圖像校正處理,從而大大提升了圖像的校正效率。
與上述二維碼識別方法對應地,本說明書一個實施例還提供的一種二維碼識別裝置,如圖7所示,該裝置可以包括:
獲取單元702,用於獲取待識別圖像。
檢測單元704,用於當獲取單元702獲取的待識別圖像中包含二維碼時,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。
檢測單元704的功能可以由角點檢測模組104來實現。
確定單元706,用於根據檢測單元704檢測到的指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。
校正單元708,用於對確定單元706確定的目標區域進行圖像校正,得到校正後的圖像,這裡的圖像校正至少可以包括透視變換。此外,還可以包括鏡頭畸變校正等。
上述確定單元706以及校正單元708的功能可以由圖像校正模組106來實現。
識別單元710,用於對校正單元708校正後的圖像進行二維碼識別。
其中,識別單元710的功能可以由識別模組108來實現。
可選地,該裝置還可以包括:判斷單元712,用於對待識別圖像進行特徵檢測,以檢測待識別圖像中是否包含回字特徵。若檢測到回字特徵,則以回字特徵的中心點為起點,向其周圍擴展若干個圖元,以得到包含回字特徵的正矩形區域。針對所述正矩形區域進行灰度長條圖統計。若統計的灰度長條圖為雙峰型長條圖,則判斷待識別圖像中包含二維碼。
上述判斷單元712的功能可以由特徵檢測模組102來實現。
可選地,該裝置還可以包括:換算單元714、提取單元716以及放大單元718。
獲取單元702,還用於獲取回字特徵的大小。
換算單元714,用於根據預設的換算規則以及獲取單元702獲取的回字特徵的大小,換算二維碼的大小。
提取單元716,用於若換算單元714換算的二維碼的大小不滿足預設條件,則從待識別圖像中提取以回字特徵為中心的待識別區域。
放大單元718,用於對提取單元716提取的待識別區域進行放大。
檢測單元704具體用於:
根據深度學習檢測演算法,在放大後的待識別區域中檢測二維碼的指定個數的角點。
識別單元710具體用於:
採用局部長條圖的方法,對校正後的圖像進行對比度增強處理,得到對比度增強圖像。
對對比度增強圖像進行二值化處理,得到二值化圖像。
對二值化圖像進行二維碼識別。
這裡的識別單元710的功能可以由上述識別模組108、對比度增強模組110以及二值化模組112共同來實現。
本說明書上述實施例裝置的各功能模組的功能,可以透過上述方法實施例的各步驟來實現,因此,本說明書一個實施例提供的裝置的具體工作過程,在此不復贅述。
本說明書一個實施例提供的二維碼識別裝置,獲取單元702獲取待識別圖像。當待識別圖像中包含二維碼時,檢測單元704根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。確定單元706根據指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。校正單元708對目標區域進行圖像校正,得到校正後的圖像,這裡的圖像校正至少可以包括透視變換。識別單元710對校正後的圖像進行二維碼識別。由此,可以實現對非完美圖像中二維碼的準確識別,此外,還可以大大提升二維碼的識別效率。
與上述二維碼識別方法對應地,本說明書實施例還提供了一種二維碼識別設備,如圖8所示,該設備可以包括:記憶體802、一個或多個處理器804以及一個或多個程式。其中,該一個或多個程式儲存在記憶體802中,並且被配置成由一個或多個處理器804執行,該程式被處理器804執行時實現以下步驟:
獲取待識別圖像。
當待識別圖像中包含二維碼時,根據深度學習檢測演算法,在待識別圖像中檢測二維碼的指定個數的角點。
根據指定個數的角點的位置座標,確定二維碼在待識別圖像中所在的目標區域。
對目標區域進行圖像校正,得到校正後的圖像,該圖像校正至少包括透視變換。
對校正後的圖像進行二維碼識別。
本說明書一個實施例提供的二維碼識別設備,可以實現對非完美圖像中二維碼的準確識別。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於設備實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
結合本說明書揭示內容所描述的方法或者演算法的步驟可以硬體的方式來實現,也可以是由處理器執行軟體指令的方式來實現。軟體指令可以由相應的軟體模組組成,軟體模組可以被存放於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可拆式硬碟、CD-ROM或者本領域熟知的任何其它形式的儲存媒體中。一種示例性的儲存媒體耦合至處理器,從而使處理器能夠從該儲存媒體讀取資訊,且可向該儲存媒體寫入資訊。當然,儲存媒體也可以是處理器的組成部分。處理器和儲存媒體可以位於ASIC中。另外,該ASIC可以位於伺服器中。當然,處理器和儲存媒體也可以作為分立元件存在於伺服器中。
本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟體實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或代碼進行傳輸。電腦可讀媒體包括電腦儲存媒體和通訊媒體,其中通訊媒體包括便於從一個地方向另一個地方傳送電腦程式的任何媒體。儲存媒體可以是通用或專用電腦能夠存取的任何可用媒體。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和平行處理也是可以的或者可能是有利的。
以上所述的具體實施方式,對本說明書的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本說明書的具體實施方式而已,並不用於限定本說明書的保護範圍,凡在本說明書的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本說明書的保護範圍之內。
10:二維碼識別系統
102:特徵檢測模組
104:角點檢測模組
106:圖像校正模組
108:識別模組
110:對比度增強模組
112:二值化模組
S202:步驟
S204:步驟
S206:步驟
S208:步驟
S210:步驟
702:獲取單元
704:檢測單元
706:確定單元
708:校正單元
710:識別單元
712:判斷單元
714:換算單元
716:提取單元
718:放大單元
802:記憶體
804:處理器
為了更清楚地說明本說明書實施例的技術方案,下面將對實施例描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本說明書的一些實施例,對於本發明所屬技術領域中具有通常知識者來講,在不付出創造性勞動的前提下,還可以根據這些圖式獲得其它的圖式。
[圖1]為本說明書提供的二維碼識別系統示意圖;
[圖2]為本說明書一個實施例提供的二維碼識別方法流程圖;
[圖3]為本說明書提供的二維碼示意圖;
[圖4]為本說明書提供的待識別區域的放大過程示意圖;
[圖5]為本說明書提供的二維碼的角點示意圖;
[圖6a]為本說明書提供的校正後的圖像示意圖;
[圖6b]為本說明書提供的對比度增強圖像示意圖;
[圖6c]為本說明書提供的二值化圖像示意圖;
[圖7]為本說明書一個實施例提供的二維碼識別裝置示意圖;
[圖8]為本說明書一個實施例提供的二維碼識別設備示意圖。
Claims (11)
- 一種二維碼識別方法,包括: 獲取待識別圖像; 當該待識別圖像中包含二維碼時,根據深度學習檢測演算法,在該待識別圖像中檢測該二維碼的指定個數的角點; 根據該指定個數的角點的位置座標,確定該二維碼在該待識別圖像中所在的目標區域; 對該目標區域進行圖像校正,得到校正後的圖像;該圖像校正至少包括透視變換;以及 對該校正後的圖像進行二維碼識別。
- 如請求項1之方法,還包括:判斷該待識別圖像中是否包含該二維碼的步驟,包括: 對該待識別圖像進行特徵檢測,以檢測該待識別圖像中是否包含回字特徵; 若檢測到該回字特徵,則以該回字特徵的中心點為起點,向其周圍擴展若干個圖元,以得到包含該回字特徵的正矩形區域; 針對該正矩形區域進行灰度長條圖統計;以及 若統計的灰度長條圖為雙峰型長條圖,則判斷該待識別圖像中包含該二維碼。
- 如請求項2之方法,在該根據深度學習檢測演算法,在該待識別圖像中檢測該二維碼的指定個數的角點之前,還包括: 獲取該回字特徵的大小; 根據預設的換算規則以及該回字特徵的大小,換算該二維碼的大小; 若該二維碼的大小不滿足預設條件,則從該待識別圖像中提取以該回字特徵為中心的待識別區域; 對該待識別區域進行放大; 該根據深度學習檢測演算法,在該待識別圖像中檢測該二維碼的指定個數的角點,包括: 根據深度學習檢測演算法,在放大後的待識別區域中檢測該二維碼的指定個數的角點。
- 如請求項1之方法,該圖像校正還包括鏡頭畸變校正。
- 如請求項1至4中任一項之方法,該對該校正後的圖像進行二維碼識別,包括: 採用局部長條圖的方法,對該校正後的圖像進行對比度增強處理,得到對比度增強圖像; 對該對比度增強圖像進行二值化處理,得到二值化圖像; 對該二值化圖像進行二維碼識別。
- 一種二維碼識別裝置,包括: 獲取單元,用於獲取待識別圖像; 檢測單元,用於當該獲取單元獲取的該待識別圖像中包含二維碼時,根據深度學習檢測演算法,在該待識別圖像中檢測該二維碼的指定個數的角點; 確定單元,用於根據該檢測單元檢測到的該指定個數的角點的位置座標,確定該二維碼在該待識別圖像中所在的目標區域; 校正單元,用於對該確定單元確定的該目標區域進行圖像校正,得到校正後的圖像;該圖像校正至少包括透視變換;以及 識別單元,用於對該校正單元校正後的圖像進行二維碼識別。
- 如請求項6之裝置,還包括:判斷單元,用於對該待識別圖像進行特徵檢測,以檢測該待識別圖像中是否包含回字特徵; 若檢測到該回字特徵,則以該回字特徵的中心點為起點,向其周圍擴展若干個圖元,以得到包含該回字特徵的正矩形區域; 針對該正矩形區域進行灰度長條圖統計;以及 若統計的灰度長條圖為雙峰型長條圖,則判斷該待識別圖像中包含該二維碼。
- 如請求項7之裝置,還包括:換算單元、提取單元以及放大單元; 該獲取單元,還用於獲取該回字特徵的大小; 該換算單元,用於根據預設的換算規則以及該獲取單元獲取的該回字特徵的大小,換算該二維碼的大小; 該提取單元,用於若該換算單元換算的該二維碼的大小不滿足預設條件,則從該待識別圖像中提取以該回字特徵為中心的待識別區域; 該放大單元,用於對該提取單元提取的該待識別區域進行放大; 該檢測單元具體用於: 根據深度學習檢測演算法,在放大後的待識別區域中檢測該二維碼的指定個數的角點。
- 如請求項6之裝置,該圖像校正還包括鏡頭畸變校正。
- 如請求項6至9中任一項之裝置,該識別單元具體用於: 採用局部長條圖的方法,對該校正後的圖像進行對比度增強處理,得到對比度增強圖像; 對該對比度增強圖像進行二值化處理,得到二值化圖像;以及 對該二值化圖像進行二維碼識別。
- 一種二維碼識別設備,包括: 記憶體; 一個或多個處理器;以及 一個或多個程式,其中該一個或多個程式儲存在該記憶體中,並且被配置成由該一個或多個處理器執行,該程式被該處理器執行時實現以下步驟: 獲取待識別圖像; 當該待識別圖像中包含二維碼時,根據深度學習檢測演算法,在該待識別圖像中檢測該二維碼的指定個數的角點; 根據該指定個數的角點的位置座標,確定該二維碼在該待識別圖像中所在的目標區域; 對該目標區域進行圖像校正,得到校正後的圖像;該圖像校正至少包括透視變換;以及 對該校正後的圖像進行二維碼識別。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513649.8A CN110046529B (zh) | 2018-12-11 | 2018-12-11 | 二维码识别方法、装置及设备 |
CN201811513649.8 | 2018-12-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202024997A true TW202024997A (zh) | 2020-07-01 |
TWI726422B TWI726422B (zh) | 2021-05-01 |
Family
ID=67273847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108133787A TWI726422B (zh) | 2018-12-11 | 2019-09-19 | 二維碼識別方法、裝置及設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110046529B (zh) |
TW (1) | TWI726422B (zh) |
WO (1) | WO2020119301A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046529B (zh) * | 2018-12-11 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 二维码识别方法、装置及设备 |
CN110490023A (zh) * | 2019-08-27 | 2019-11-22 | 广东工业大学 | 一种二维码形变恢复方法、装置及设备 |
CN110705329B (zh) * | 2019-09-30 | 2021-09-14 | 联想(北京)有限公司 | 一种处理方法、装置及电子设备 |
CN112686959B (zh) * | 2019-10-18 | 2024-06-11 | 菜鸟智能物流控股有限公司 | 待识别图像的矫正方法及装置 |
CN111860489A (zh) * | 2019-12-09 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种证件图像校正方法、装置、设备及存储介质 |
CN110751004B (zh) * | 2019-10-25 | 2024-04-30 | 北京达佳互联信息技术有限公司 | 二维码检测方法、装置、设备及存储介质 |
CN113378595B (zh) * | 2020-03-10 | 2023-09-22 | 顺丰科技有限公司 | 二维码定位方法、装置、设备及存储介质 |
CN111222510B (zh) * | 2020-03-13 | 2024-03-15 | 中冶长天国际工程有限责任公司 | 一种烧结机的台车箅条图像摄取方法及系统 |
CN111612012A (zh) * | 2020-05-25 | 2020-09-01 | 信雅达系统工程股份有限公司 | 健康码的识别方法及装置 |
CN111428707B (zh) * | 2020-06-08 | 2020-11-10 | 北京三快在线科技有限公司 | 图形识别码的识别方法、装置、存储介质及电子设备 |
CN111612115B (zh) * | 2020-06-15 | 2023-10-20 | 支付宝(杭州)信息技术有限公司 | 交通卡的计次方法、装置、扫码设备和计次卡服务器 |
CN111723802A (zh) * | 2020-06-30 | 2020-09-29 | 北京来也网络科技有限公司 | 一种基于ai的二维码识别方法、装置、设备和介质 |
CN111950318B (zh) * | 2020-08-12 | 2024-11-29 | 上海连尚网络科技有限公司 | 一种二维码图像的识别方法、设备及存储介质 |
CN112818979B (zh) * | 2020-08-26 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 文本识别方法、装置、设备及存储介质 |
CN112308899B (zh) * | 2020-11-09 | 2024-05-07 | 北京经纬恒润科技股份有限公司 | 一种挂车角度识别方法及装置 |
CN112541367A (zh) * | 2020-12-11 | 2021-03-23 | 上海品览数据科技有限公司 | 一种基于深度学习和图像处理的多种二维码识别方法 |
CN113935909B (zh) * | 2021-09-22 | 2024-07-05 | 南方电网数字平台科技(广东)有限公司 | 一种二维码校正识别方法及装置 |
CN114139564B (zh) * | 2021-12-07 | 2024-05-07 | Oppo广东移动通信有限公司 | 二维码检测方法、装置、终端设备及检测网络的训练方法 |
EP4202856A1 (de) * | 2021-12-22 | 2023-06-28 | Bayer AG | Auslesen von optisch lesbaren codes |
CN116882433B (zh) * | 2023-09-07 | 2023-12-08 | 无锡维凯科技有限公司 | 一种基于机器视觉的扫码识别方法和系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424458B (zh) * | 2013-08-23 | 2017-08-04 | 希姆通信息技术(上海)有限公司 | 图像识别方法及装置、网络服务器、图像识别设备及系统 |
CN104200188B (zh) * | 2014-08-25 | 2017-02-15 | 北京慧眼智行科技有限公司 | 一种快速定位qr码位置探测图形的方法和系统 |
CN104268498B (zh) * | 2014-09-29 | 2017-09-19 | 杭州华为数字技术有限公司 | 一种二维码的识别方法及终端 |
CN104809422B (zh) * | 2015-04-27 | 2017-09-05 | 江苏中科贯微自动化科技有限公司 | 基于图像处理的qr码识别方法 |
CN104881770A (zh) * | 2015-06-03 | 2015-09-02 | 秦志勇 | 一种快递单信息识别系统和方法 |
CN105046184B (zh) * | 2015-07-22 | 2017-07-18 | 福建新大陆自动识别技术有限公司 | 基于畸变图像校正的二维码解码方法和系统 |
CN105260693B (zh) * | 2015-12-01 | 2017-12-08 | 浙江工业大学 | 一种激光二维码定位方法 |
CN105701434A (zh) * | 2015-12-30 | 2016-06-22 | 广州卓德信息科技有限公司 | 二维码扭曲图像的图像校正方法 |
CN106951812B (zh) * | 2017-03-31 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 识别二维码的方法、装置和终端 |
CN108416412B (zh) * | 2018-01-23 | 2021-04-06 | 浙江瀚镪自动化设备股份有限公司 | 一种基于多任务深度学习的物流复合码识别方法 |
CN108629221B (zh) * | 2018-05-11 | 2021-08-10 | 南京邮电大学 | 一种褶皱畸变qr二维码的校正方法 |
CN110046529B (zh) * | 2018-12-11 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 二维码识别方法、装置及设备 |
-
2018
- 2018-12-11 CN CN201811513649.8A patent/CN110046529B/zh active Active
-
2019
- 2019-09-19 TW TW108133787A patent/TWI726422B/zh active
- 2019-10-30 WO PCT/CN2019/114218 patent/WO2020119301A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020119301A1 (zh) | 2020-06-18 |
TWI726422B (zh) | 2021-05-01 |
CN110046529A (zh) | 2019-07-23 |
CN110046529B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI726422B (zh) | 二維碼識別方法、裝置及設備 | |
US10902283B2 (en) | Method and device for determining handwriting similarity | |
CN108986152B (zh) | 一种基于差分图像的异物检测方法及装置 | |
CN109784250B (zh) | 自动引导小车的定位方法和装置 | |
CN108520247A (zh) | 对图像中的对象节点的识别方法、装置、终端及可读介质 | |
CN109117846B (zh) | 一种图像处理方法、装置、电子设备和计算机可读介质 | |
US11354883B2 (en) | Image processing method and apparatus, and electronic device | |
CN109740542B (zh) | 基于改进型east算法的文本检测方法 | |
CN115273115A (zh) | 一种文档元素标注方法、装置、电子设备和存储介质 | |
CN110110697A (zh) | 基于方向矫正的多指纹分割提取方法、系统、设备及介质 | |
CN110210480B (zh) | 文字识别方法、装置、电子设备和计算机可读存储介质 | |
CN113557520A (zh) | 字符处理及字符识别方法、存储介质和终端设备 | |
JP7121132B2 (ja) | 画像処理方法、装置及び電子機器 | |
CN115630663A (zh) | 一种二维码识别方法、装置及电子设备 | |
CN110751156A (zh) | 用于表格线大块干扰去除方法、系统、设备及介质 | |
CN113129298A (zh) | 文本图像的清晰度识别方法 | |
JP6403207B2 (ja) | 情報端末装置 | |
CN107358138A (zh) | 非线性畸变ean条码的校正方法、移动终端及存储装置 | |
CN109871910B (zh) | 一种手写字符识别方法及装置 | |
CN114648751A (zh) | 一种处理视频字幕的方法、装置、终端及存储介质 | |
CN112183531A (zh) | 一种文字定位框的确定方法、装置、介质及电子设备 | |
CN114694149B (zh) | 表格图片校正方法、装置、电子设备及存储介质 | |
KR20150075716A (ko) | 영상인식 알고리즘 기반 특징점 추출기 | |
Fadhil et al. | Using CRAFT algorithm-based OCR system to improve multilanguage text detection and recognition | |
Chung et al. | An Efficient Pattern Recognition Technology for Numerals of Lottery and Invoice |