在爬蟲對驗證碼進行破解時,經常需要對圖片中的文字內容進行識別,這時就需要用到OCR技術了,那么 OCR識別技術是如何實現對文字內容“即拍即得”的呢?
OCR(Optical Character Recognition)即光學字符識別技術,實質屬于計算機輸入技術。OCR通過利用光學技術與計算機技術對圖片、紙張、物體等處的文本內容進行分析識別,并讀取轉換成計算機和人類都能理解接受的格式。
OCR主要可以分為手寫體識別和印刷體識別。
由于印刷體都是計算機自助生成再進行輸出,通常較為規律,因此較手寫體識別來說要更簡單。而手寫體由于往往會帶有個人特色,每個人的風格不盡相同,由于其千人千面的特性,手寫體識別也成了OCR界一直想攻克的難關。當然,除了手寫體與印刷體外,OCR也可以根據識別內容來分類。例如按語言分類,要識別的內容將可能包括漢語、英語、日語、法語等,而如果僅滿足國人需求,要識別的內容就可能會包括漢字、英文字母、阿拉伯數字、標點符號等。
通常根據要識別的內容不同,識別的難度也不同。比如僅識別阿拉伯數字,只需能識別出0-9,而英文字母則需要識別52個字符(僅考慮大小寫),而中文識別則會高達數千個,且由于漢字的結構偏旁較為復雜,要將這些字符都準確識別出來會使難度系數直線上升。一個典型的OCR技術處理流程如下圖所示:
圖:來源于網絡
其中,圖像預處理通常為能使圖像中的文字更明顯便于識別,會對圖像的成像問題進行修正,通常是基于數字圖像處理和傳統機器學習等方法對圖像進行操作。
常見的圖像預處理包括幾何變換(透視、翻轉、旋轉、扭曲、拉直等)、畸變矯正、去模糊、銳化、圖像增強、光線矯正、灰度化、二值化等。其中,在對付驗證碼時常用的灰度化、二值化處理對于內容較為簡單的文本信息有增強作用,但對復雜背景的內容處理效果就會收效甚微。
文字檢測,顧名思義是對圖片中存在的文字內容進行檢測,檢測內容包括文本所在的位置、范圍、布局、數量等,通常也包括整體版面分析和文字行檢測等。部分OCR軟件為了保證檢測范圍的準確性,還會套用圖像檢測的方法,對圖像中的文本區域進行框選,并像下圖所示將框選與待識別區域交由令用戶進行校驗確認。
圖:某OCR軟件識別界面
文本檢測完成后,建立在其基礎之上的文本識別將會對選定的文本內容進行識別,并將圖像中的字符轉化為可供人類和計算機識別的文本信息。文本信息主要需要解決的問題是每個字符是什么。
對于識別后輸出的文本通常需要再次核對驗證以確保其準確率,即文本校正,通常也被認為屬于文字檢測的環節。當識別的內容是由詞庫中的詞匯構成時就稱之為有詞典識別,反之則稱為無詞典識別。在整個處理流程過程中,對識別準確率影響最大的步驟就是文本檢測與文本識別。相比一般文本,通常對OCR技術的評測會從最終識別率、識別速度、版面理解正確率、版面還原滿意度4方面來作為依據。
OCR識別技術對于手寫體識別目前尚在發展階段,而對于印刷體識別的技術已經發展的較為純熟。而且,對于印刷體識別的應用劃分可能遠比你我想象的更為細致。例如用于對人身份進行核查驗證的證件OCR識別、用于移動支付綁卡的銀行卡OCR識別、用于存儲管理名片的名片OCR識別、用于大量文字資料、檔案卷宗的錄入和處理的文檔OCR識別、用于銀行、金融、電信機構的票據OCR識別、用于交通安全的車輛OCR識別等。
OCR技術的出現無疑提升了工作效率,也改變了我們的生活。
參考文獻:
https://www.sohu.com/a/233167039_205239
https://zhuanlan.zhihu.com/p/45376274
編輯:jq
-
OCR
+關注
關注
0文章
144瀏覽量
16329
原文標題:文字識別界的“拍立得”——OCR識別技術
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論