Python通過(guò)Tesseract庫(kù)實(shí)現(xiàn)文字識(shí)別
機(jī)器視覺(jué)
從Google的無(wú)人駕駛汽車(chē)到可以識(shí)別假鈔的自動(dòng)售賣(mài)機(jī),機(jī)器視覺(jué)一直都是一個(gè)應(yīng)用廣泛且具有深遠(yuǎn)的影響和雄偉的愿景的領(lǐng)域。
這里我們將重點(diǎn)介紹機(jī)器視覺(jué)的一個(gè)分支:文字識(shí)別。介紹如何用一些Python庫(kù)來(lái)識(shí)別和使用在線(xiàn)圖片中的文字。
我們可以很輕松的閱讀圖片里的文字,但是機(jī)器閱讀這些圖片就會(huì)非常困難,利用這種人類(lèi)用戶(hù)可以正常讀取但是大多數(shù)存貯器沒(méi)法讀取的圖片,這時(shí)驗(yàn)證碼(CAPTCHA)就出現(xiàn)了。驗(yàn)證碼讀取的難易程序也大不相同。
將圖像翻譯成文字一般被稱(chēng)為光學(xué)文字識(shí)別(Optical Character Recognition,OCR)??梢詫?shí)現(xiàn)OCR的底層庫(kù)并不多,目前很多庫(kù)都是使用共同的幾個(gè)底層OCR庫(kù),或者是在上面進(jìn)行定制。
OCR庫(kù)概述
在讀取和處理圖像、圖像相差的機(jī)器學(xué)習(xí)以及創(chuàng)建圖像等任務(wù)中,Python一直都是非常出色的語(yǔ)言。雖然有很多庫(kù)可以進(jìn)行圖像處理,但是這里我們只介紹Tesseract庫(kù)。
Tesseract
Tesseract是一個(gè)OCR庫(kù),目前由Google贊助。Tesseract是目前公認(rèn)最優(yōu)秀、最精確的開(kāi)源OCR系統(tǒng)。除了極高的精確度,Tesseract也具有很高的靈活性。它可以通過(guò)訓(xùn)練識(shí)別出任何字體,也可以識(shí)別出任何Unicode字符。
安裝Tesseract:Windows系統(tǒng)
下載可執(zhí)行安裝文件安裝即可。
安裝pytesseract
Tesseract是一個(gè)Python的命令行工具,不是通過(guò)import語(yǔ)句導(dǎo)入的庫(kù)。安裝之后,要用tesseract命令在Python的外面運(yùn)行,但我們可以通過(guò)pip安裝支持Python版本的Tesseract庫(kù):
pip install pytesseract
處理規(guī)范的文字
你要處理的大多數(shù)文字都是比較干凈、格式規(guī)范的。格式霍英東的文字通常具有以下特點(diǎn):
使用統(tǒng)一的標(biāo)準(zhǔn)字體(不包含手寫(xiě)體、草書(shū)或者十分“花哨”的字體),復(fù)印或者拍照但是字體清晰、沒(méi)有多余的痕跡或者污點(diǎn)排列整齊,沒(méi)有歪歪斜斜的字沒(méi)有超出圖片范圍,也沒(méi)有殘缺不全,或緊緊貼在圖片的邊緣
文字的一些格式問(wèn)題在圖片預(yù)處理時(shí)可以進(jìn)行解決。例如,可以把圖片轉(zhuǎn)換成灰度圖,調(diào)整亮度和對(duì)比度,還可以根據(jù)需要進(jìn)行裁剪和旋轉(zhuǎn),在這里不作介紹。
示例:
英文:
識(shí)別結(jié)果的準(zhǔn)確率還是挺高的。
通過(guò)Python代碼實(shí)現(xiàn)
英文:
中文:
運(yùn)行結(jié)果
This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
******************************
中 華 人 民 共 和 國(guó)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python機(jī)器學(xué)習(xí)k-近鄰算法(K Nearest Neighbor)實(shí)例詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)k-近鄰算法(K Nearest Neighbor),結(jié)合實(shí)例形式分析了k-近鄰算法的原理、操作步驟、相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2018-06-06Python+OpenCV 實(shí)現(xiàn)簡(jiǎn)單的高斯濾波(推薦)
這篇文章主要介紹了Python+OpenCV 實(shí)現(xiàn)簡(jiǎn)單的高斯濾波,在文中需要注意的是,這里我沒(méi)有特判當(dāng)sigma = 0的時(shí)候的情況,具體實(shí)現(xiàn)過(guò)程跟隨小編一起看看吧2021-09-09python使用Turtle庫(kù)畫(huà)畫(huà)寫(xiě)名字
Turtle庫(kù)是Python語(yǔ)言中一個(gè)很流行的繪制圖像的函數(shù)庫(kù),本篇文章小編就帶大家學(xué)習(xí)python利用Turtle庫(kù)畫(huà)畫(huà)寫(xiě)名字的相關(guān)資料,需要的朋友可以參考下面文章的具體內(nèi)容2021-09-09Python實(shí)現(xiàn)將SQLite中的數(shù)據(jù)直接輸出為CVS的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)將SQLite中的數(shù)據(jù)直接輸出為CVS的方法,涉及Python連接、讀取SQLite數(shù)據(jù)庫(kù)及轉(zhuǎn)換CVS格式數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07