NO IMAGE

python進行圖片文字識別十分簡單,但是因為驗證碼的特殊性,識別存在一定難度,識別率比較低,本篇主要介紹簡單的識別方法,下篇將會介紹增加識別率的辦法。

1.環境

python2.7

ubuntu 16.04

2.安裝

pip install requests  

pip install pytesseract # 安裝Python庫Pytesseract

pip install tesseract  # 安裝Python庫tesseract (不安裝可能報錯)

sudo apt-get install tesseract-ocr  (不安裝可能報錯)
3.程式碼 (識別某網站驗證碼)
import requests
import pytesseract
from PIL import Image
import time

headers = {‘User-Agent’:’Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36′}
url=”驗證碼地址。。。。自己找一個吧我的就不貼了”

# 根據網站的具體情況構建請求,我測試的網站比較簡單

image = requests.get(url = url,headers = headers) #發請求獲取驗證碼圖片
with open(‘yanzheng.png’,’wb’) as fp:
for i in image:
fp.write(i)

time.sleep(1)
info= Image.open(‘yanzheng.png’)
image_info = pytesseract.image_to_string(info)
print “驗證碼內容是:”image_info

如果非常好識別就不叫驗證碼了。。。

我測試的驗證碼還是比較簡單的,但實際識別率依然非常低。

所以需要通過一些其他手段增加識別率。具體方法將會在下一篇介紹。

win下安裝tessract :

下載地址:https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows

  選擇:4.0.0-alpha for Windows下面Windows Installer made with MinGW-w64 from UB Mannheim

配置:

2,安裝完成tesseract-ocr後,我們還需要做一下配置 在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'

    或者直接ctrl 左鍵,點選 image_to_str進入後,搜尋tesseract_cmd ,把後面的內容改成你安裝的路徑。

參考文章:https://blog.csdn.net/qiushi_1990/article/details/78041375