# Form recognition **Repository Path**: xiaorenwu1175/form-recognition ## Basic Information - **Project Name**: Form recognition - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PaddlePaddle表单识别系统 基于PaddlePaddle深度学习框架的智能表单识别系统,提供高精度的OCR文字识别和表格结构化提取功能。 ## 🚀 功能特性 - **高精度OCR识别**:基于PaddleOCR技术,支持中英文混合识别,准确率达95%以上 - **智能表格识别**:自动识别表格结构,提取表格内容并转换为结构化数据 - **语义实体识别**:智能识别键值对关系,提取表单中的关键信息 - **多格式输出**:支持JSON、Excel等多种格式输出 - **Web界面**:提供友好的Web界面,支持文件上传和在线识别 - **命令行工具**:支持批量处理和脚本化操作 ## 📋 支持格式 **输入格式**:JPG、PNG、BMP、TIFF、PDF **输出格式**:JSON、Excel(多工作表) ## 🛠️ 安装依赖 ### 系统要求 - Python 3.8+ - Windows/Linux/macOS ### 安装步骤 1. 克隆项目 ```bash git clone https://gitee.com/shenmowotou/form-recognition.git cd form-recognition ``` 2. 安装依赖 ```bash pip install -r requirements.txt ``` 3. 创建必要目录 ```bash mkdir -p web/uploads results data ``` ## 🎯 使用方法 ### Web界面使用 1. 启动Web服务器 ```bash python start_web.py ``` 2. 打开浏览器访问 `http://localhost:5000` 3. 上传表单图片,等待识别完成 4. 下载识别结果 ### 命令行使用 ```bash # 基础OCR识别 python run.py ocr --input path/to/image.jpg --output results/ # 完整表单识别 python run.py form --input path/to/image.jpg --output results/ # 批量处理 python run.py batch --input data/ --output results/ ``` ## 📁 项目结构 ``` paddlepaddle-form-recognition/ ├── src/ # 源代码目录 │ ├── models/ # 模型相关代码 │ ├── recognition/ # 识别算法实现 │ └── utils/ # 工具函数 ├── web/ # Web界面 │ ├── templates/ # HTML模板 │ ├── static/ # 静态资源 │ └── app.py # Flask应用 ├── config/ # 配置文件 ├── scripts/ # 脚本文件 ├── requirements.txt # 依赖列表 └── README.md # 项目说明 ``` ## 🔧 配置说明 主要配置文件位于 `config/` 目录: - `config.yaml`:主配置文件 - `model_config.yaml`:模型配置 - `web_config.yaml`:Web服务配置 ## 📊 性能指标 - **文字识别准确率**:95%+ - **表格识别准确率**:90%+ - **处理速度**:平均2-5秒/页 - **支持图片大小**:最大16MB ## 🐛 常见问题 ### 1. OpenMP冲突问题 如果遇到OpenMP相关错误,项目已自动设置环境变量解决: ```python os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE' os.environ['OMP_NUM_THREADS'] = '1' ``` ### 2. 模型下载问题 首次运行时会自动下载PaddleOCR模型,请确保网络连接正常。 ### 3. 内存不足 建议系统内存至少4GB,处理大图片时可能需要更多内存。 ## 🤝 贡献指南 欢迎提交Issue和Pull Request! 1. Fork本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建Pull Request ## 📄 许可证 本项目采用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 👨‍💻 作者 **神馍窝头** - Gitee: [@shenmowotou](https://gitee.com/shenmowotou) ## 🙏 致谢 - [PaddlePaddle](https://github.com/PaddlePaddle/PaddleOCR) - 提供强大的OCR技术支持 - [Flask](https://flask.palletsprojects.com/) - Web框架 - [Bootstrap](https://getbootstrap.com/) - 前端UI框架 ## 📈 更新日志 ### v1.0.0 (2024-12-19) - 初始版本发布 - 支持基础OCR识别 - 支持表格结构识别 - 提供Web界面 - 支持多格式输出 --- 如果这个项目对您有帮助,请给个⭐️支持一下!