选型与快速跑通(Tesseract / EasyOCR / PaddleOCR)

目标:在本地装好一个 OCR 库,用几行代码把图片变成文字,先建立手感。

OCR 的完整流程通常包含图像预处理、文字检测、字符识别和后处理。第一期先跳过预处理,直接调用封装好的库,感受原始输出。

1. 经典轻量方案:Tesseract(pytesseract)

Tesseract 是老牌开源引擎,pytesseract 只是 Python 封装,需要先安装系统级的 Tesseract 可执行文件。Windows 上安装后如果不在 PATH 中,需要手动指定路径。

python

复制代码
# pip install pytesseract pillow
import pytesseract
from PIL import Image

# Windows 常见需要显式指定引擎路径
# pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

img = Image.open("test.png")
text = pytesseract.image_to_string(img, lang="chi_sim+eng")
print(text)

注意:lang 参数需要提前安装对应语言包。在 Ubuntu 上可以用 sudo apt install tesseract-ocr-chi-sim 安装简体中文数据。

2. 深度学习开箱方案:EasyOCR

如果不想折腾系统级依赖,EasyOCR 是更省事的选择。它基于 PyTorch,安装完 pip 包后模型会自动下载,支持中英文混合识别。

python

复制代码
# pip install easyocr
import easyocr

reader = easyocr.Reader(["ch_sim", "en"])  # 首次运行会下载模型
result = reader.readtext("test.png")

for bbox, text, score in result:
    print(text, f"{score:.2f}")

EasyOCR 的返回结果包含坐标、文本和置信度,方便后续按位置过滤或排序。

3. 中文场景优先:PaddleOCR

如果主要处理中文文档、票据或表格,PaddleOCR 在中文场景下的准确率通常更有优势。安装时注意先装 PaddlePaddle 再装 PaddleOCR。

python

复制代码
# pip install paddlepaddle paddleocr
from paddleocr import PaddleOCR

ocr = PaddleOCR(use_angle_cls=True, lang="ch")
result = ocr.ocr("test.png", cls=True)

for line in result[0]:
    print(line[1][0], f"{line[1][1]:.2f}")

第一期建议先用同一张图在三个库上都跑一遍,直观感受速度与准确率的差异,再决定后续深入哪个。https://github.com/0voice

相关推荐
IT_陈寒1 小时前
一文搞懂Java的核心概念
前端·人工智能·后端
铁皮饭盒1 小时前
workbuddy和codebuddy免费送1000积分, 10秒钟搞定
前端·后端
Carl_奕然1 小时前
【智能体】Loop 的四种设计模式之:Verification Loop(2026 最新版)
人工智能·python·设计模式
风骏时光牛马1 小时前
从零到落地的AI系统学习进阶路线
前端
茉莉玫瑰花茶1 小时前
线性代数 [ 矩阵乘法与线性变换复合的联系 ]
python·线性代数·math
garmin Chen1 小时前
Rag引入
python·agent·rag
橙光成长3 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
小oo呆6 小时前
【学习心得】Python多线程
python
happylifetree9 小时前
Python70:核心语法-函数进阶-案例2
python