Tesseract-OCR是一款由Google维护的开源光学字符识别(OCR)引擎,它能够从图像中识别出文本,并将其转换为可编辑的文本格式。以下是关于Tesseract-OCR的详细介绍:
一、背景与发展
- 起源:Tesseract最初是惠普实验室的一款专利软件,主要用于满足联合国和图书馆对文档数字化的需求。
- 开源与发展:在2005年,Tesseract被开源,并随后由Google收购和赞助进行后续的开发和维护。
- 技术支持:随着技术的发展,Tesseract引入了深度学习技术,如LSTM(长短期记忆网络),显著提升了识别的准确性和速度。
二、主要功能与特点
- 高精度识别:Tesseract采用深度学习等先进技术,对图像中的文本进行高精度识别,尤其对印刷体文本的识别率高达95%以上。
- 多语言支持:支持超过100种语言的识别,包括英文、中文(简体和繁体)、德文、法文等,且可通过训练来扩展识别其他语言。
- 灵活性与可扩展性:提供灵活的API接口,可轻松集成到各种应用中。同时,用户还可以根据需要自定义训练模型,以满足特定领域或特殊字体的需求。
- 跨平台性:支持Windows、Mac OS、Linux等多种操作系统,具有良好的兼容性和扩展性。
- 广泛应用:可应用于文档数字化、社交媒体分析、自动化数据输入等多个领域。
三、使用方法
官方网站:https://github.com/tesseract-ocr/tesseract
官方文档:https://github.com/tesseract-ocr/tessdoc
语言包地址:https://github.com/tesseract-ocr/tessdata
下载地址:https://digi.bib.uni-mannheim.de/tesseract/
- 下载与安装:
- 下载地址在本文章顶部,注意尽量不要下载带dev,alpha,beta等版本,这些版本不稳定,也可能是测试版本。建议下载最新稳定版本。
- 安装过程可以附带选择要安装的语言包,如下简体中文,之后自动会从服务器下载该语言包下来。(这里不建议勾选下载语言包,因为速度太慢了,教程后面会介绍怎么拓展语言包。)
- 在文章顶部找到语言包地址的链接,下载需要的的语言包,如下图,红框内为中文简体语言包,下载后将该包直接放在程序安装目录的
tessdata
文件夹里面即可。
- 配置环境变量:
- 基本使用:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pytesseract from PIL import Image # 建议图像识别前,先对图像进行灰度化和 二值化,以提高文本识别率(这里略过) image = Image.open("D:1234.jpg") # 解析图片,lang='chi_sim'表示识别简体中文,默认为English # 如果是只识别数字,可再加上参数config='--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789' content = pytesseract.image_to_string(image, lang='chi_sim') print(content)