tesseractpython
① tesseract 訓練字型檔 python 怎麼調用
1、系統環境
OS X 10.7
MacBook Pro(13英寸,2012年初期)
Python 2.7
2、需要軟體包
a、需要安裝PIL以及pytesseract庫
Python-tesseract是一個基於google's Tesseract-OCR的獨立封裝包;
Python-tesseract功能是識別圖片文件中文字,並作為返回參數返回識別結果;
Python-tesseract默認支持tiff、bmp格式圖片,只有在安裝PIL之後,才能支持jpeg、gif、png等其他圖片格式;
Python-tesseract支持python2.5及更高版本;
PIL[Python Imaging Library]來支持更多的圖片格式;
b、需要安裝google tesseract-ocr
執行命令行 tesseract.exe 1.png output -l eng ,可以識別1.png中文字,並把識別結果輸出到output.txt中;
Pytesseract對上述過程進行了二次封裝,自動調用tesseract.exe,並讀取output.txt文件的內容,作為函數的返回值進行返回。
② Python如何圖像識別
Python圖片文本識別使用的工具是PIL和pytesser。因為他們使用到很多的python庫文件,為了避免一個個工具的安裝,建議使用pythonxy
pytesser是OCR開源項目的一個模塊,在Python中導入這個模塊即可將圖片中的文字轉換成文本。pytesser調用了tesseract。當在Python中調用pytesser模塊時,pytesser又用tesseract識別圖片中的文字。pytesser的使用步驟如下:
首先,安裝Python2.7版本,這個版本比較穩定,建議使用這個版本。
其次,安裝pythoncv。
然後,安裝PIL工具,pytesser的使用需要PIL庫的支持。
接著下載pytesser
最後,將pytesser解壓,這個是免安裝的,可以將解壓後的文件cut到Python安裝目錄的Lib\site-packages下直接使用,比如我的安裝目錄是:C:\Python27\Lib\site-packages,同時把這個目錄添加到環境變數之中。
完成以上步驟之後,就可以編寫圖片文本識別的Python腳本了。參考腳本如下:
from pytesser import *
import ImageEnhance
image = Image.open('D:\\workspace\\python\\5.png')
#使用ImageEnhance可以增強圖片的識別率
enhancer = ImageEnhance.Contrast(image)
image_enhancer = enhancer.enhance(4)
print image_to_string(image_enhancer)
tesseract是谷歌的一個對圖片進行識別的開源框架,免費使用,現在已經支持中文,而且識別率非常高,這里簡要來個helloworld級別的認識
下載之後進行安裝,不再演示。
在tesseract目錄下,有個tesseract.exe文件,主要調用這個執行文件,用cmd運行到這個目錄下,在這個目錄下同時放置一張需要識別的圖片,這里是123.jpg
然後運行:tesseract 123.jpg result
會把123.jpg自動識別並轉換為txt文件到result.txt
但是此時中文識別不好
然後找到tessdata目錄,把eng.traineddata替換為chi_sim.traineddata,並且把chi_sim.traineddata重命名為eng.traineddata
ok,現在中文識別基本達到90%以上了
③ (源碼分享)利用Python識別提取圖像文字(中文英文都可以)
你想了解怎麼利用程序自動識別網站驗證碼嗎?識別提取圖像文字(中文英文都可以)
分享一點簡單有用的小項目:python
源碼分享如下:
看視頻教程鏈接:(點擊識別圖像文字視頻教程鏈接)
一、首先需要安裝 Tesseract模塊及 語言包
Tesseract OCR光學字元識別
Windows系統:
安裝網站 (放在不需要許可權的純英文路徑下):
: https://digi.bib.uni-mannheim.de/tesseract/
可以下載一些語言包:
https://github.com/tesseract-ocr/
安裝完成後,如果想要在命令行中使用Tesseract,那麼應該設置環境變數。
還有一個環境變數需要設置的是,要把訓練的數據文件路徑也放到環境變數中。
在環境變數中,添加一個TESSDATA_PREFIX=C:path_to_tesseractdata eseractdata。
在Python代碼中操作tesseract。需要安裝一個庫,叫做pytesseract。通過pip的方式即可安裝:
pip install pytesseract
並且,需要讀取圖片,需要藉助一個第三方庫叫做PIL。通過pip list看下是否安裝。如果沒有安裝,通過pip的方式安裝:
pip install PIL
使用pytesseract將圖片上的文字轉換為文本文字的示例代碼如下:
④ python有什麼好的本地文字識別
你好,如果是英文的話。你可以用下面的庫。
pytesser,OCR in Python using the Tesseract engine from Google。是谷歌OCR開源項目的一個模塊,可將圖片中的文字轉換成文本(主要是英文)
如果要識別中文還需要下載對應的訓練集:https://github.com/tesseract-ocr/tessdata
,下載」chi_sim.traineddata」,然後到訓練數據集的存放路徑。下面是一個例子的代碼。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import pytesseract
from PIL import Image
# open image
image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='chi_sim')
print(code)
⑤ python+tesseract怎樣才能識別單個數字
打開 tessdata/configs/digits 改成 tessedit_char_whitelist 總之這個就是白名單,想識別誰就寫進去 另外命令里需要用digits,不然上邊的設置沒用,例如 tesseract xxx.jpg result -psm 10 digits