基于PaddleOCR的手写汉字识别系统
一、项目简介
本项目是一个基于PyQt5和PaddleOCR的手写汉字识别系统。用户可以在界面上用鼠标手写汉字,点击"开始识别"按钮后,系统会自动识别手写内容并在下方显示识别结果。
二、环境安装
1. 安装Python
建议使用Python 3.8及以上版本。
2. 安装依赖库
请依次执行以下命令:
# 安装PyQt5
pip install PyQt5
# 安装PaddlePaddle(根据你的显卡选择合适的版本,这里以CUDA 11.8为例)
pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# 安装PaddleOCR
pip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simple
# 还需安装OpenCV和NumPy
pip install opencv-python numpy
注:如无NVIDIA显卡,可将paddlepaddle-gpu替换为paddlepaddle。
三、项目结构
首先我们从gitee.com/FIRC/fircfiles/blob/master/handwritting.md获取项目代码然后解压文件到一个自己指定目录之后,我们打开目录可以如下项目结构:
├── main.py # 主程序,PyQt5界面与识别逻辑
├── PaddleocrManager.py # OCR识别管理类,封装PaddleOCR调用
├── 使用说明.txt # 简要使用说明
- main.py:实现手写界面、按钮、结果显示及与OCR的集成。
- PaddleocrManager.py:封装PaddleOCR的初始化与识别方法。
四、运行方法
- 安装好所有依赖后,直接运行:
python main.py
- 界面说明:
- 在白色区域用鼠标手写汉字。
- 点击"清除"按钮可清空画布和结果。
- 点击"开始识别"按钮,识别结果会显示在下方区域。
五、主要代码流程说明
-
界面初始化
- 创建主窗口,包含手写区域、识别结果显示区、按钮区。
- 所有控件自适应窗口大小。
-
手写输入
- 用户在
DrawingArea
控件上用鼠标绘制,内容实时显示。
- 用户在
-
识别流程
- 点击"开始识别"按钮时:
- 获取当前画布内容,转换为OpenCV格式图片。
- 调用
PaddleocrManager.start()
方法进行识别。 - 识别结果显示在下方文本框。
- 点击"开始识别"按钮时:
-
清除功能
- 点击"清除"按钮,画布和结果区域同时清空。
六、常见问题
- 若首次运行较慢,PaddleOCR会自动下载模型,请耐心等待。
- 若识别效果不佳,可尝试写得更规范或调整画笔粗细。
- 若遇到依赖安装问题,请确认Python和pip版本。