日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

怎么看python环境变量配置是否好了验证图片_python 的 tesserocr 模块安装与获取图片验证码...

發布時間:2024/9/19 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么看python环境变量配置是否好了验证图片_python 的 tesserocr 模块安装与获取图片验证码... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OCR,即Optical Character Recognition,光學字符識別,是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程。對于圖形驗證碼來說,它們都是一些不規則的字符,這些字符確實是由字符稍加扭曲變換得到的內容。

進入下載頁面,可以看到有各種.exe文件的下載列表,這里可以選擇下載3.0版本。

其中文件名中帶有dev的為開發版本,不帶dev的為穩定版本,可以選擇下載不帶dev的版本,例如可以選擇下載tesseract-ocr-setup-3.05.02.exe。

下載完成后雙擊,此時會出現如下圖所示的頁面。

此時可以勾選Additional language data(download)選項來安裝OCR識別支持的語言包,這樣OCR便可以識別多國語言。然后一路點擊Next按鈕即可。

接下來,為了在python代碼中使用tesseract功能,使用pip安裝pytesseract:

pip install pytesseract

2、配置環境變量

為了在全局使用方便,比如安裝路徑為D:\Program Files (x86)\Tesseract-OCR,將該路徑添加到環境變量的path中

配置完成后在命令行輸入tesseract -v,如果出現如下圖所示,說明環境變量配置成功

3、驗證安裝

接下來,我們可以使用tesseract和pytesseract來分別進行測試。

我們以如下圖所示的圖片為樣例進行測試。

首先用命令行進行測試,將圖片下載到D盤chromeDownload文件夾,保存為image.png,然后在該文件夾中打開命令行,用tesseract命令測試:

tesseract image.png result

運行結果如下:

D:\chromeDownload>tesseract image.png result

Tesseract Open Source OCR Engine v3.05.02 with Leptonica

這里我們調用了tesseract命令,其中第一個參數為圖片名稱,第二個參數result?為結果保存的目標文件名稱。

運行結果便是圖片的識別結果:Python3WebSpider。可以在chromeDownload文件夾中看到result.txt,這時已經成功將圖片文字轉為電子文本了。

然后還可以利用Python代碼來測試,這里就需要借助于pytesseract庫了,測試代碼如下:

from PIL importImageimportpytesseract#獲取簡單的圖片,獲取image.png

text = pytesseract.image_to_string(Image.open('image.png'))print(text)

我們首先利用Image讀取了圖片文件,然后調用了pytesseract的image_to_string()方法,再將其識別結果輸出。

運行結果如下:

Python3WebSpider

如果成功輸出結果,則證明tesseract和pytesseract都已經安裝成功。

4、使用時遇到的坑

在使用tesseract命令行進行測試時,會議開始報以下的錯誤

Error opening data file \Program Files (x86)\Tesseract-OCR\tessdata/eng.traineddata

Please make sure the TESSDATA_PREFIX environment variableis set to the parent directory of your "tessdata"directory.

Failed loading language'eng'Tesseract couldn't load any languages!

Could not initialize tesseract.

報錯是意思是缺少環境變量TESSDATA_PREFIX,導致無法加載任何語言,就不能初始化tesseract。

解決的方法也很簡單,在環境變量中添加TESSDATA_PREFIX,如下圖

注意:變量值中的路徑為“D:/Program Files (x86)/Tesseract-OCR”,使用正斜杠“/”。windows中復制過來的路徑默認是反斜杠“\”

配置完成后,重新打開命令行,即可正常使用。

第二個坑是使用pytesseract時,出現以下錯誤

Traceback (most recent call last):

File"D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 170, inrun_tesseract

proc= subprocess.Popen(cmd_args, **subprocess_args())

File"D:\Python36\lib\subprocess.py", line 709, in __init__restore_signals, start_new_session)

File"D:\Python36\lib\subprocess.py", line 997, in_execute_child

startupinfo)

FileNotFoundError: [WinError2] 系統找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File"D:/python/20180911.py", line 4, in text= pytesseract.image_to_string(Image.open(r'D:\chromeDownload\image.png'))

File"D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 294, inimage_to_stringreturn run_and_get_output(*args)

File"D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 202, inrun_and_get_output

run_tesseract(**kwargs)

File"D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 172, inrun_tesseractraiseTesseractNotFoundError()

pytesseract.pytesseract.TesseractNotFoundError: tesseractis not installed or it's not in your path

這就很坑,添加了全局變量,還是提示tesseract沒有安裝或者不在PATH中。

百度了一下,解決方案如下。

pytesseract安裝后,在python的Lib目錄下site-packges下會生成一個pytesseract文件夾,文件夾中找到pytesseract.py,路徑為:D:\Python36\Lib\site-packages\pytesseract,使用notepad之類軟件打開pytesseract.py,找到如下兩行:

tesseract_cmd = 'tesseract'

將tesseract_cmd = 'tesseract'修改為:tesseract_cmd = 'D:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

表示tesseract_cmd配置的是你安裝tesseract的絕對路徑,這樣就能找到tesseract了。修改后保存,再去運行python代碼,就可以成功了。

總結

以上是生活随笔為你收集整理的怎么看python环境变量配置是否好了验证图片_python 的 tesserocr 模块安装与获取图片验证码...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。