為什么要讓孩子學(xué)編程?看了這篇文章,你就知道編程的強(qiáng)大之處了!
你遇到以下的情況嗎?
你負(fù)責(zé)整理一些文件,結(jié)果發(fā)現(xiàn)文件沒有word存檔,這又需要我們把圖片變成word。
或者是在今日頭條上看到了某片好文章,結(jié)果內(nèi)容卻是圖片,你特別想把他變成文字分享給朋友。
如果你遇到過這些問題,千萬(wàn)不要錯(cuò)過 pytesseract 這個(gè)好工具!它能夠用很簡(jiǎn)單、基礎(chǔ)的方法將圖片轉(zhuǎn)換成文字(分辨圖片中的文字)。在我們開始介紹 pytesseract 這個(gè) Python 模塊之前,先來(lái)認(rèn)識(shí)一下 Tesseract OCR 到底是什么吧!
OCR 與 Tesseract
OCR 為光學(xué)文字識(shí)別的縮寫(Optical Character Recognition,OCR),白話一點(diǎn)就是將圖片翻譯為文字。而 Tesseract 是一個(gè) OCR 模組,目前由 Google 贊助。Tesseract 已經(jīng)有 30 年歷史,一開始它是惠普實(shí)驗(yàn)室的一款專利軟體,于 2005 年開源,從 2006 年后由 Google 贊助進(jìn)行后續(xù)的開發(fā)和維護(hù), Tesseract 也是目前公認(rèn)最優(yōu)秀、最精準(zhǔn)的開源 OCR 系統(tǒng)。
除了極高的精準(zhǔn)度外,Tesseract 也有很高的靈活性,能夠通過訓(xùn)練識(shí)別出任何字體(只要這些字體的風(fēng)格不變就可以),也能識(shí)別出任何 Unicode 字符,是不是非常厲害呢?我們待會(huì)會(huì)用到的 pytesseract 模塊就像是Tesseract的 python 包。
下面讓我們來(lái)動(dòng)手嘗試下:
第一步 安裝模塊
pip3 install pillowpip3 install pytesseract
第二步 編寫程序
from PIL import Imageimport pytesseractimg = Image.open('test1.png')text = pytesseract.image_to_string(img, lang='eng')print(text)
首先,第一行和第二行是將我們剛剛安裝的模塊導(dǎo)入到程序中。
PIL 包含在剛剛安裝的 pillow 模組,其中的 Image 模組能夠讀取圖片檔。
我們將想要轉(zhuǎn)成文字的圖片檔,放在和這支程式相同的目錄。
第四行的 'test1.png' 是相對(duì)于這個(gè)程序(.py文件)的路徑,也就是該圖片的文件名,因此必須放在同一個(gè)資料夾程序才找得到文件,而且文件名與路徑名都是不可省略的。
所有辨識(shí)文字、轉(zhuǎn)換的複雜過程全部都寫在 pytesseract 中了,我們只需要知道如何調(diào)用即可。接著看到第五行,image_to_string函式有一個(gè)關(guān)鍵字引數(shù) lang,默認(rèn)是英文,可以改變成你想要的語(yǔ)言字串。
結(jié)語(yǔ)
簡(jiǎn)單暴力,5行代碼就可以將圖片轉(zhuǎn)化為文字,是不是很方便呢?除了生活中的一些小問題能用 pytesseract 解決,在開發(fā)爬蟲程序時(shí),經(jīng)常會(huì)遇到需要驗(yàn)證碼的情況,這時(shí)就能利用這個(gè)模塊輕松解決。
-
word
+關(guān)注
關(guān)注
1文章
78瀏覽量
21975 -
Unicode
+關(guān)注
關(guān)注
0文章
24瀏覽量
12584 -
python
+關(guān)注
關(guān)注
56文章
4801瀏覽量
84878
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論