1. 程式人生 > >Python人工智慧之圖片轉文字識別

Python人工智慧之圖片轉文字識別

自學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設定頁按照下面步驟操作 
pycharm用pip安裝庫.png

 
這樣就能成功安裝pytesseract,安裝PIL只需要在上面第三步裡搜尋PIL並點選安裝即可 
安裝成功.png

這時我們安轉好了庫,執行下面程式碼

from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
print(text)

會報下面錯誤,錯誤原因是:沒有安裝識別引擎tesseract-ocr

2.png

二,安裝識別引擎tesseract-ocr

解壓安裝tesseract-ocr後做如下操作,就可以支援中文識別了。因為tesseract-ocr預設不支援中文識別。 
支援中文識別.png

  • 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

開啟pytesseract包.png

6.png

關聯OCR和pytesseract.png

至此我們所有的配置就完成了,執行下面程式碼就可以把杜甫的登高這首圖片詩解析成文字了

專案原始碼.png