Python零基础之Tesseract图像识别
1. 什么是Tesseract
- tesseract: “立方体的四维模拟;四次元立方体;超正方体”。
- tesseract ocr: 图像识别类库 ; 光学字符识别
- OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。
2. 下载和安装
- 下载:
- Tesseract程序下载
- 带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本
- Tessdata语言包下载
- 识别中文图像,需要下载语言安装包
- 识别中文图像,需要下载语言安装包
- Tesseract程序下载
- 安装:
- 在操作系统中安装: 双击exe,一路next.
- 把文件安装目录添加进windows环境变量, 另外添加一条环境变量, 如:
-
TESSDATA_PREFIX=F:\Tesseract-OCR\tessdata
-
- 在python中安装Tesseract
-
pip install pytesseract
-
- 测试:
- cmd命令行下输入
-
tesseract --version
-
- 如果回显版本号,则表示安装成功
- cmd命令行下输入
3. 示例代码
- 本地图片的处理
import pytesseract
from PIL import Image # Pillow
pytesseract.pytesseract.tesseract_cmd = r'F:\Tesseract-OCR\tesseract.exe'
tessdata_dir_config = r'--tessdata-dir "F:\Tesseract-OCR\tessdata"'
image = Image.open('demo.png')
print(pytesseract.image_to_string(image,lang='eng',config=tessdata_dir_config))
- 网络图片的处理
- 其中url地址为验证码图片的地址
import pytesseract
from PIL import Image # Pillow
from urllib import request
import time
pytesseract.pytesseract.tesseract_cmd = r'F:\Tesseract-OCR\tesseract.exe'
tessdata_dir_config = r'--tessdata-dir "F:\Tesseract-OCR\tessdata"'
url = ''
request.urlretrieve(url,'./result/code.jpg')
image = Image.open('./result/code.jpg')
text = pytesseract.image_to_string(image,lang='eng',config=tessdata_dir_config)
print(text)
time.sleep(2)