1、前言
随着图像识别技术的发展,OCR(光学字符识别)已经成为很多应用场景中的基础能力。PaddleOCR 是百度开源的一个高性能 OCR 工具库,支持中英文、多语言、轻量级部署等特性。
而 Flask 是一个轻量级的 Python Web 框架,非常适合快速构建 RESTful API 或小型 Web 应用。
本文将带你一步步使用 PaddleOCR + Flask 搭建一个完整的 Web OCR 服务,实现图片上传 → 文字识别 → 返回结构化结果的功能。
2、开发环境准备
2.1 安装 Python 环境(推荐 3.8+)
python --version
# Python 3.9.x
2.2 安装依赖包
pip install paddlepaddle paddleocr flask pillow
如果你有 GPU 并希望加速识别,可安装
paddlepaddle-gpu
版本。
2.3 验证 PaddleOCR 是否可用
from paddleocr import PaddleOCRocr = PaddleOCR(use_angle_cls=True, lang='ch') # 初始化模型
result = ocr.ocr('test.jpg', cls=True) # 测试一张图片
for line in result:print(line)
3、PaddleOCR 基础使用教程
3.1 图片路径识别基本调用方式
from paddleocr import PaddleOCRocr = PaddleOCR(lang='ch')
result = ocr.ocr('example.png', cls=True)# 输出格式:[[[x1,y1],[x2,y2],(text, confidence)], ...]
3.2 返回结果结构解析
for idx in range(len(result)):bbox = result[idx][0] # 文字框坐标text = result[idx][1][0] # 识别文字score = result[idx][1][1] # 置信度print(f"Text: {text}, Confidence: {score:.4f}")
3.3 多语言模型切换
ocr_en = PaddleOCR(lang='en') # 英文模型
ocr_ja = PaddleOCR(lang='japan') # 日语模型
ocr_ko = PaddleOCR(lang='korean') # 韩语模型
4、Flask Web 服务搭建基础
4.1 创建项目目录结构
ocr_web/
├── app.py
├── requirements.txt
└── uploads/
4.2 编写 Flask 基础路由
from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/')
def index():return "Welcome to PaddleOCR Web API!"<