tesseract

∥☆過路亽.° 提交于 2020-01-23 01:06:15

图形验证码识别技术

  • 有时候在登录或者请求一些数据时侯会出现图形验证码,因此需要学会将图片翻译成文字的技术
  • 将图片翻译成文字一般被称为光学文字识别(optical character recognition),简称 OCR,实现 OCR 的库不是很多,特别是开源的,因为这块存在一定的技术壁垒(需要大量的数据,算法,机器学习,深度学习知识等),并且如果做好了具有很高的商业价值,因此开源的比较少,我们这里用 tesseract

tesseract

  • tesseract 是一个 OCR 库,目前由谷歌赞助,tesseract 是目前公认的最优秀,最准确的开源 OCR 库,tesseract 具有很高的识别度,也具有很高的灵活性,可以通过训练识别任何字体

安装

windows 系统

  • 在以下链接下载可执行文件,然后一直点击下一步安装即可(放在不需要权限的纯英文路径下)https://github.com/UB-Mannheim/tesseract/wiki
  • 有识别语言的选项,根据自己需求勾选
  • 安装完要添加环境
    在这里插入图片描述
    在这里插入图片描述

linux 系统

在 win 命令行中使用 tesseract 识别图像

tesseract image.png result	# image.png 为想要识别的图片,result 为识别的结果
tesseract --list-langs	# 查看已有的语言列表
tesseract chi.png chi.txt -l chi_sim	# -l:选择语言  chi_sim:简体中文

在这里插入图片描述

python 中使用 tesseract

  • 在 python 中,需要安装 pytesseract 库,通过 pip 安装
    pip install pytesseract# 这里自动安装 PIL.Image`
  • 使用 pytesseract 将图片上的文字转换为文本文字如下:
import pytesseract

from PIL import Image

text = pytesseract.image_to_string(Image.open(r'D:\image.png'))
print(text)

在这里插入图片描述

  • 原图:
    在这里插入图片描述
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!