20. 验证码信息识别
优质
小牛编辑
128浏览
2023-12-01
- OCR 即Optical Character Recognition, 光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。
- tesserocr 是Python的一个OCR识别库。GitHub:https://github.com/tesseract-ocr/tesseract
20.1 软件安装:
- 注意:在安装tesserocr前都需要先安装tesseract,具体说明如下:
pip install tesserocr #安装tesserocr
pip install pillow # 图片处理目录
注意:
在mac下安装tesserocr ,需要先安装下面的软件
brew install tesseract --all-languages
brew install imagemagick
在:Ubuntu、Debian 系统下先安装:
sudo apt-get intall -y tesseract-ocr libtesseract-dev libleptonica-dev
在:CentOS、Red Hat 系统:
yum install -y tesseract
在windows安装tesserocr前要先安装:tesseract 他是为tesserocr提供支持的
下载目录:https://digi.bib.uni-mannheim.de/tesseract/ 会有很多下载文件,下载一个3.0版本的exe文件即可
在安装中要勾选上Additional language data(download)选项来安装OCR识别支持的语言包
20.2 具体使用:
- 简单识别验证码
#验证识别测试
import tesserocr
from PIL import Image
#打开图片
image = Image.open("./code/5.png")
#识别验证码
result = tesserocr.image_to_text(image)
print(result)
- 验证码的深度处理,如转灰度、二值化等操作
#验证识别测试
import tesserocr
from PIL import Image
image = Image.open("./code/5.png")
#将图片转化为灰度图像
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')
#识别验证码
result = tesserocr.image_to_text(image)
print(result)