本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
基于深度学习的图片文字识别
基于深度学习的 OCR 识别 Web 服务。用户在浏览器上传图片,服务端调用识别引擎提取文字,返回按行展示的识别结果与叠加效果图。
浏览器访问 http://127.0.0.1:8880/
二、项目功能
网页图片上传,支持点击选择
通用图片 OCR:识别图片中所有可见文字,按行展示文本与置信度
生成识别结果叠加图(识别框 + 文字标注),便于人工校对
结果表格行点击复制,一键复制全部识别文本
提供 JSON 接口(请求头 Accept 含 application/json 即返回结构化数据),便于二次集成
配套命令行工具:身份证识别、身份证分割、训练集生成、验证码识别(位于 bin 目录)
三、运行环境
操作系统:Windows 10
Python 3.13(D:\anaconda3 基础环境)
必须设置环境变量 PYTHONPATH 指向项目 python 子目录,否则 deep_ocr 包无法导入
启动命令:在项目根目录执行 python deep_idocr.py
默认监听 0.0.0.0:8880,浏览器访问 http://127.0.0.1:8880/
四、项目技术
Web 框架:Flask 3.x
图像处理:OpenCV(opencv-contrib-python 4.8+)、Pillow、NumPy
通用 OCR:PaddleOCR 3.x(基于 paddlepaddle 3.2.0)
字符分类:ONNXRuntime(身份证模式所用,当前页面已停用)
几何与数据工具:pyclipper、shapely、lmdb、imgaug、tqdm
前端:原生 HTML/CSS/JS,无前端框架,图片以 data URI 或静态路由加载
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图