# ocr_test **Repository Path**: snrt111/ocr_test ## Basic Information - **Project Name**: ocr_test - **Description**: OCR识别 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OCR识别系统 ## 项目简介 这是一个基于Vue前端和Java后端的OCR(光学字符识别)系统,旨在提供简单易用的图片文字识别功能。系统支持多种语言的OCR识别,并提供历史记录管理功能。 ![系统界面](https://via.placeholder.com/800x400?text=OCR系统界面预览) ## 功能特性 - 文件上传与预览 - 多语言OCR识别(中文、英文、日文、韩文等) - 识别结果展示与编辑 - 识别历史记录查询与管理 - 识别结果导出功能(计划中) - 用户认证与权限控制(计划中) ## 项目结构 ``` ocr-test/ ├── frontend/ # Vue前端项目 │ ├── public/ # 静态资源 │ ├── src/ # 源代码 │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── router.js # 路由配置 │ │ ├── store.js # 状态管理 │ │ └── App.vue # 根组件 │ ├── package.json # 项目依赖 │ └── nginx.conf # Nginx配置 ├── backend/ # Java后端项目 │ ├── pom.xml # Maven依赖配置 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/com/example/ocr/ │ │ │ │ ├── OcrBackendApplication.java # 启动类 │ │ │ │ ├── controller/ # 控制器 │ │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── repository/ # 数据访问层 │ │ │ │ ├── service/ # 服务层 │ │ │ │ ├── config/ # 配置类 │ │ │ │ └── ... # 其他类 │ │ │ └── resources/ │ │ │ ├── application.yml # 配置文件 │ │ │ └── schema.sql # 数据库脚本 │ │ └── test/ # 测试代码 ├── README.md # 项目说明 ├── DEVELOPMENT.md # 开发指南 ├── CONTRIBUTING.md # 贡献指南 ├── CHANGELOG.md # 版本历史 ├── LICENSE # 许可证 └── .gitignore # Git忽略文件 ``` ## 功能 - 文件上传与预览 - 多语言OCR识别(中文、英文等) - 识别结果展示与编辑 - 识别历史记录查询与管理 ### 已实现功能 1. **文件上传** - 支持JPG/PNG格式图片 - 文件大小限制:10MB - 拖拽上传和点击上传两种方式 2. **OCR识别** - 支持多种语言识别 - 识别结果实时展示 - 识别质量评估(置信度) 3. **历史记录** - 识别历史查询 - 按时间范围筛选 - 按文件名搜索 - 分页展示 4. **结果管理** - 识别结果保存 - 文本复制功能 - 识别结果编辑 ## 技术栈 ### 前端 - Vue.js 2.x - Element UI - Axios - Vue Router - Vuex ### 后端 - Spring Boot 3.x - Spring MVC - Spring Data JPA - MySQL 8.0 - Tesseract OCR 5.x - JWT认证 - Spring Security ### 开发环境要求 - JDK 17+ - Node.js 14+ - Maven 3.6+ - MySQL 8.0 - Tesseract OCR 5.x ## 环境要求 ### 开发环境 - JDK 17+ - Node.js 14+ - Maven 3.6+ - MySQL 8.0 - Tesseract OCR 5.x ### 生产环境 - JDK 17+ - Node.js 14+ - MySQL 8.0 - Tesseract OCR 5.x - Web服务器(如Nginx) ### 系统要求 - 内存:至少2GB - 存储:至少1GB可用空间 - 操作系统:Windows/Linux/macOS ## 安装与启动 ### 本地开发环境部署 #### 后端启动 1. **数据库配置** 编辑 `backend/src/main/resources/application.yml` 文件,确保数据库连接信息正确: ``` spring: datasource: url: jdbc:mysql://localhost:3306/ocr_db?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&useSSL=false username: XXX password: XXX ``` 2. **启动应用** ``` cd backend mvn clean install mvn spring-boot:run ``` 应用启动后,会自动创建 `ocr_db` 数据库和 `ocr_record` 表结构。 #### 前端启动 1. 安装依赖 ``` cd frontend npm install ``` 2. 启动开发服务器 ``` npm run serve ``` 3. 构建生产版本 ``` npm run build ``` ## 使用说明 1. 启动后端服务 2. 启动前端服务 3. 访问 http://localhost:8081 查看前端界面 4. 上传图片进行OCR识别 5. 查看和管理识别历史记录 ## API文档 系统API文档可通过以下地址访问: - Swagger UI: http://localhost:8080/swagger-ui.html ### 主要API端点 | 端点 | 方法 | 描述 | |------|------|------| | `/api/ocr/upload` | POST | 上传图片文件 | | `/api/ocr/recognize` | POST | 执行OCR识别 | | `/api/ocr/save` | POST | 保存OCR识别结果 | | `/api/ocr/history` | GET | 获取OCR历史记录 | | `/api/ocr/languages` | GET | 获取支持的OCR语言列表 | ## 版本历史 - v1.0.0 (2025-10-14) - 初始版本发布 - 基础OCR识别功能 - 多语言支持 - 历史记录管理 - 前后端分离架构 ## 贡献指南 欢迎提交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 有关贡献的更多详细信息,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 本项目采用MIT许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。 ## 联系方式 项目维护者 - snrt111 - snrt111@163.com 项目链接: https://gitee.com/snrt111/ocr_test.git ## 注意事项 1. 确保Tesseract OCR已正确安装并配置 2. 确保数据库服务已启动并配置正确 3. 确保文件上传目录有写入权限 4. 生产环境部署时,请修改默认密码和安全配置