简单文字验证码自动识别方法
前言
概述:OCR光学字符识别可以将验证码转换为电子文字,tesserocr是Python的一个OCR识别库,但是是对tesserect做的一层pythonAPI封装。我们先要安装 tesserect
然后再安装我们的 tesserocr
tesserocr 的安装
mac 下安装
先使用 Homebrew 安装 ImageMagick 和 tesserectbrew install imagemagick
brew install tesseract
brew install tesseract-lang # 语言包
再安装 tesserocr 即可pip3 install tesserocr pillow
Linux 下安装yum install -y tesseract
再安装 tesserocr 即可pip3 install tesserocr pillow
Ubuntu 下安装sudo apt-get install -y tesseract-orc libtesseract-dev libleptonica-dev
再安装 tesserocr 即可pip3 install tesserocr pillow
识别import tesserocr
from PIL import Image
image = Image.open('code.png') # 图片路径
result = tesserocr.image_to_text(image)
print(result)
图片处理参数有的时候识别不够精准,我们可以通过设置参数来修改精准度
灰度处理image = image.convert('L')
image.show
二值化处理image = image.convert('1')
image.show
如果需要单独指定二值化筏值,需要先转为灰度,在设置import tesserocr
from PIL import Image
image = Image.open('code2.jpg')
image = image.convert('L')
threshold = 127
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
image = image.point(table, '1')
image.show()
result = tesserocr.image_to_text(image)
print(result)