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