python文字识别并获取位置_python实现简单的文字识别
將圖片翻譯成文字一般被稱為光學文字識別(Optical Character Recognition,OCR)。今天我們用到的就是一個OCR 庫——Tesseract。
首先要安裝Tesseract,除了最基本的pip安裝外,還要下載Tesseract-OCR程序。
1.下載所需的python包:
pip install Pillowpip install pytesseract
2.下載Tesseract-OCR:我用的Windows安裝包下載地址為http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下載后雙擊直接安裝即可。
安裝時前面一直next就可以了,直到這一步,在additional language data里勾選Math和Chinese,支持計算和中文:
3.添加環境變量:
添加名為TESSDATA_PREFIX的環境變量,設置為安裝目錄下的tessdata目錄C:Program Files (x86)Tesseract-OCRtessdata (一般默認是這個)
4.修改pytesseract.py:
這個文件在python安裝路徑的Libsite-packagespytesseract文件夾下,將tesseract_cmd修改成tesseract的安裝路徑,使pytesseract能夠調用tesseract。
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tessdata/tesseract.exe'一般做完上面4步,就能用下面的代碼實現簡單的文字識別了:
import pytesseract from PIL import Image text = pytesseract.image_to_string(Image.open('1.jpg'),lang='chi_sim') # chi_sim是簡體中文訓練包,如果想識別英文去掉lang選項即可 print(text)但我在安裝Tesseract-OCR的過程中,遇到了download error的問題,導致chi_sim包沒有下載成功。因此運行程序后還會報沒有配置環境變量的錯,這個時候就要手動下載中文訓練包了,我找到的下載地址是https://www.liangchan.net/liangchan/11126.html,里面不僅有中文,還有幾個其他語言的包。
下面是識別結果:
對于這種清晰的印刷體,識別準確率還是挺高的。但如果換成手寫文字的話,emmm……別灰心,不是你的字跡丑,真的是這個識別庫不行。
即便不是手寫的,換一種潦草一點的字體,它就一樣識別不準了,比如上網找一個王羲之的字體:
結果是:
由此可見,在Tesseract的眼里,你和王羲之沒啥兩樣。
——我和王羲之誰的書法更漂亮?
——Tesseract:我好像聽不懂你在說什么。
總結
以上是生活随笔為你收集整理的python文字识别并获取位置_python实现简单的文字识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 矩阵转置_图解利用Java实现
- 下一篇: python处理txt文件_python