Python人工智慧之圖片轉文字識別
阿新 • • 發佈:2019-02-01
自學Python3第5天,今天突發奇想,想用Python識別圖片裡的文字。沒想到Python實現圖片文字識別這麼簡單,只需要一行程式碼就能搞定
#作者微信:xuxin15
from PIL import Image
import pytesseract
#上面都是導包,只需要下面這一行就能實現圖片文字識別
text=pytesseract.image_to_string(Image.open('PictureCH.jpg'),lang='chi_sim')
print(text)
我們以識別詩詞為例
下面是我們要識別的圖片
我們執行程式碼後識別的結果,有幾個字沒有正確識別,但是大多數字都能識別出來。
風急天高猿嘯哀 渚芸胄芳少白鳥飛鳳
無邊落木蕭蕭下, 不盡長量工盲袞宕袞來
萬里悲秋常1乍窨, 百年多病獨登氤
艱難苦恨擎霜量 漂倒新停澍酉帆
一行程式碼就能識別圖片,我們背後要做些準備工作的
- 這裡我們需要用到兩個庫:pytesseract和PIL
- 同時我們還需要安裝識別引擎tesseract-ocr
下面就來講講這幾個庫的安裝,因為只有這幾個庫安裝好以後Python才能實現一行程式碼實現圖片文字識別
一,pytesseract和PIL的安裝
安裝這兩個包可以藉助pip
- 1,命令列安裝
pip install PIL
pip install pytesseract
- 2,如果你用的pycharm編輯器,就可以直接藉助pycharm實現快速安裝。
在pycharm的Settings設定頁按照下面步驟操作
這樣就能成功安裝pytesseract,安裝PIL只需要在上面第三步裡搜尋PIL並點選安裝即可
這時我們安轉好了庫,執行下面程式碼
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)
會報下面錯誤,錯誤原因是:沒有安裝識別引擎tesseract-ocr
二,安裝識別引擎tesseract-ocr
解壓安裝tesseract-ocr後做如下操作,就可以支援中文識別了。因為tesseract-ocr預設不支援中文識別。
- 2,安裝完成tesseract-ocr後,我們還需要做一下配置
在C:\Users\huxiu\AppData\Local\Programs\Python\Python35\Lib\site-packages\pytesseract找到pytesseract.py開啟後做如下操作
# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
#tesseract_cmd = 'tesseract'
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
也可以通過pycharm快速開啟pytesseract.py
至此我們所有的配置就完成了,執行下面程式碼就可以把杜甫的登高這首圖片詩解析成文字了