OCR驗證碼初探
http://my.cnki.net/elibregister/CheckCode.aspx 隨機獲取驗證碼保存到項目的根目錄下
今天第寫一個簡單的驗證碼識別例子小夥伴說識別出來的跟預想的不一樣,主要是我寫的例子驗證的圖片比較簡單,而小夥伴識別的圖片內有多餘的線條幹擾了圖片的識別。對於這種情況我們需要對圖片進行一下處理,例如轉灰度、二值化等操作。
把圖片保存到項目的根目錄下並且圖片修改爲後綴是.jpg的格式
上代碼:
import tesserocr
from PIL import Image
image = Image.open(‘Code.jpg’)
將圖片轉化爲灰度圖像
image=image.convert(‘L’)
image.show()
閾值轉化爲127
threshold =127
table = []
for n in range(256):
if n < threshold:
table.append(0)
else:
table.append(1)
image = image.point(table , ‘1’)
result = tesserocr.image_to_text(image)
print(result)
我這裏就可以識別出來了,但是有的識別出來的還有誤差,那就需要修改一下
閾值轉化爲127
threshold =127
127的值需要修改,修改爲能識別的合適的值爲止