PaddleOCR + Flask 构建 Web OCR 服务实战

发布于:2025-06-24 ⋅ 阅读:(13) ⋅ 点赞:(0)

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 PaddleOCR

ocr = 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 PaddleOCR

ocr = 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, jsonify

app = Flask(__name__)

@app.route('/')
def index():
    return "Welcome to PaddleOCR Web API!"

<

网站公告

今日签到

点亮在社区的每一天
去签到