PaddleOCR 三行搞定文字识别

知识库
知识库文档
/tech-stacks/paddlepaddle/examples/PaddleOCR 三行搞定文字识别.md

文档

PaddleOCR:三行代码搞定中文 OCR

目标

用 PaddleOCR 一键识别图片中的中文/英文文字,体验飞桨产业级套件的开箱即用。

完整代码

from paddleocr import PaddleOCR
import cv2
import numpy as np

# ─── 1. 初始化(自动下载模型) ───
ocr = PaddleOCR(
    use_angle_cls=True,  # 文字方向分类
    lang='ch',           # 中英文混合
    use_gpu=False,       # CPU
)

# ─── 2. 识别图片 ───
result = ocr.ocr("test_chinese.jpg", cls=True)

# ─── 3. 输出结果 ───
for line in result[0]:
    bbox, (text, confidence) = line
    print(f"[{confidence:.2%}] {text}")
    print(f"  位置: ({int(bbox[0][0])}, {int(bbox[0][1])}) → ({int(bbox[2][0])}, {int(bbox[2][1])})")

# ─── 画框可视化 ───
img = cv2.imread("test_chinese.jpg")
for line in result[0]:
    bbox, (text, confidence) = line
    pts = np.array(bbox, dtype=np.int32).reshape((-1, 1, 2))
    cv2.polylines(img, [pts], True, (0, 255, 0), 2)
    cv2.putText(img, text, (int(bbox[0][0]), int(bbox[0][1]) - 10),
                cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2)

cv2.imwrite("result.jpg", img)
print("结果已保存到 result.jpg")

运行步骤

pip install paddlepaddle paddleocr opencv-python
python paddleocr_demo.py

首次运行自动从 PaddleHub 下载检测 + 识别模型(~100 MB)。

预期输出

[2024/06/01 10:23:45] ppocr INFO: 检测模型加载完成
[2024/06/01 10:23:48] ppocr INFO: 识别模型加载完成

[99.87%] 人工智能正在改变世界
  位置: (120, 35) → (580, 85)
[98.52%] PaddleOCR 是最佳中文 OCR 工具
  位置: (100, 120) → (620, 170)
[97.31%] PaddlePaddle 飞桨框架
  位置: (140, 210) → (500, 260)

结果已保存到 result.jpg

高级用法

# 仅检测文字位置(不识别)
ocr = PaddleOCR(use_angle_cls=True, lang='ch', det=True, rec=False)

# 英文
ocr = PaddleOCR(use_angle_cls=True, lang='en')

# GPU 加速
ocr = PaddleOCR(use_angle_cls=True, lang='ch', use_gpu=True)

信息

路径
/tech-stacks/paddlepaddle/examples/PaddleOCR 三行搞定文字识别.md
更新时间
2026/5/31