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