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