Python通過Tesseract庫實現(xiàn)文字識別
機器視覺
從Google的無人駕駛汽車到可以識別假鈔的自動售賣機,機器視覺一直都是一個應用廣泛且具有深遠的影響和雄偉的愿景的領域。
這里我們將重點介紹機器視覺的一個分支:文字識別。介紹如何用一些Python庫來識別和使用在線圖片中的文字。
我們可以很輕松的閱讀圖片里的文字,但是機器閱讀這些圖片就會非常困難,利用這種人類用戶可以正常讀取但是大多數(shù)存貯器沒法讀取的圖片,這時驗證碼(CAPTCHA)就出現(xiàn)了。驗證碼讀取的難易程序也大不相同。
將圖像翻譯成文字一般被稱為光學文字識別(Optical Character Recognition,OCR)。可以實現(xiàn)OCR的底層庫并不多,目前很多庫都是使用共同的幾個底層OCR庫,或者是在上面進行定制。
OCR庫概述
在讀取和處理圖像、圖像相差的機器學習以及創(chuàng)建圖像等任務中,Python一直都是非常出色的語言。雖然有很多庫可以進行圖像處理,但是這里我們只介紹Tesseract庫。
Tesseract
Tesseract是一個OCR庫,目前由Google贊助。Tesseract是目前公認最優(yōu)秀、最精確的開源OCR系統(tǒng)。除了極高的精確度,Tesseract也具有很高的靈活性。它可以通過訓練識別出任何字體,也可以識別出任何Unicode字符。
安裝Tesseract:Windows系統(tǒng)
下載可執(zhí)行安裝文件安裝即可。
安裝pytesseract
Tesseract是一個Python的命令行工具,不是通過import語句導入的庫。安裝之后,要用tesseract命令在Python的外面運行,但我們可以通過pip安裝支持Python版本的Tesseract庫:
pip install pytesseract
處理規(guī)范的文字
你要處理的大多數(shù)文字都是比較干凈、格式規(guī)范的。格式霍英東的文字通常具有以下特點:
使用統(tǒng)一的標準字體(不包含手寫體、草書或者十分“花哨”的字體),復印或者拍照但是字體清晰、沒有多余的痕跡或者污點排列整齊,沒有歪歪斜斜的字沒有超出圖片范圍,也沒有殘缺不全,或緊緊貼在圖片的邊緣
文字的一些格式問題在圖片預處理時可以進行解決。例如,可以把圖片轉換成灰度圖,調整亮度和對比度,還可以根據(jù)需要進行裁剪和旋轉,在這里不作介紹。
示例:
英文:

識別結果的準確率還是挺高的。
通過Python代碼實現(xiàn)
英文:

中文:

運行結果
This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
******************************
中 華 人 民 共 和 國
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python機器學習k-近鄰算法(K Nearest Neighbor)實例詳解
這篇文章主要介紹了Python機器學習k-近鄰算法(K Nearest Neighbor),結合實例形式分析了k-近鄰算法的原理、操作步驟、相關實現(xiàn)與使用技巧,需要的朋友可以參考下2018-06-06
Python+OpenCV 實現(xiàn)簡單的高斯濾波(推薦)
這篇文章主要介紹了Python+OpenCV 實現(xiàn)簡單的高斯濾波,在文中需要注意的是,這里我沒有特判當sigma = 0的時候的情況,具體實現(xiàn)過程跟隨小編一起看看吧2021-09-09
Python實現(xiàn)將SQLite中的數(shù)據(jù)直接輸出為CVS的方法示例
這篇文章主要介紹了Python實現(xiàn)將SQLite中的數(shù)據(jù)直接輸出為CVS的方法,涉及Python連接、讀取SQLite數(shù)據(jù)庫及轉換CVS格式數(shù)據(jù)的相關操作技巧,需要的朋友可以參考下2017-07-07

