網上很多使用ecplise+phthon2.7中使用pytesser或者tesseract進行OCR網站驗證碼的案例,但配置起來實在讓人崩潰。 通用步驟:1、下載了pytesser_v0.0.1; 2、然後解壓後拷貝到C:\ProgramData\Anaconda2\Lib\site-package ...
網上很多使用ecplise+phthon2.7中使用pytesser或者tesseract進行OCR網站驗證碼的案例,但配置起來實在讓人崩潰。
通用步驟:
1、下載了pytesser_v0.0.1;
2、然後解壓後拷貝到C:\ProgramData\Anaconda2\Lib\site-packages;
3、文件夾名字改為pytesser;
4、然後在C:\ProgramData\Anaconda2\Lib\site-packages文件夾下新建一個文件,起名為pytesser.pth,內容為pytesser
5、然後在C:\ProgramData\Anaconda2\Lib\site-packages\pytesser\pytesser.py文件中第六行,更改import Image 為 from PIL import Image;
6、然後在ecplice界面中寫代碼:
from PIL import Image from pytesser import * im = Image.open('C:\\ProgramData\\Anaconda2\\Lib\\site-packages\\pytesser\\phototest.tif') im.show()
沒問題,圖片順利的打開了。
7、然後調用了下oCR的函數:
print image_to_string(im)
然後就無窮無盡的報錯。
ecplice的錯誤提示還毫無幫助,只提示:
Traceback (most recent call last): File "C:\Users\TF-2016\Desktop\spider\ruijie\ruijie.py", line 33, in <module> print image_file_to_string('11.png', graceful_errors=True) File "C:\Python27\lib\site-packages\pytesser\pytesser.py", line 48, in image_file_to_string call_tesseract(filename, scratch_text_name_root) File "C:\Python27\lib\site-packages\pytesser\pytesser.py", line 23, in call_tesseract proc = subprocess.Popen(args) File "C:\Python27\lib\subprocess.py", line 710, in __init__ errread, errwrite) File "C:\Python27\lib\subprocess.py", line 958, in _execute_child startupinfo) WindowsError: [Error 2]
網上找了兩個小時,很多人遇到這個問題,幾乎沒有解決的,最後發現有人說起了:http://blog.csdn.net/c465869935/article/details/51438576
-
qq_38717146
2017-05-09 17:454樓 回覆 - 剛剛碰巧給解決了。找到你的pytesseract.py這個文件,將其中的tesseract_cmd = 'tesseract'這行改為tesseract_cmd = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'即可。
然後我決定下載一個最新版的tesseract 3.0.2版,不再依靠pytesseract自帶的那個1.01版本了。
下載後安裝,然後在pytesseract.py中把tesseract_exe_name = 'tesseract' # Name of executable to be called at command line 改為:
tesseract_exe_name = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe' # 'tesseract' Name of executable to be called at command line
然後運行,ok了,可以ocr英文和數字了。
但遺憾的是,中文庫是谷歌的網址,下載不下來,如果能下載下來,很期待ocr中文的效果。