# ocr-api **Repository Path**: iocs/ocr-api ## Basic Information - **Project Name**: ocr-api - **Description**: 一套基于开源OCR识别的库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ocr-api > 一个干净的 JDK 8 Maven 工程,用于封装 OCR 识别能力。 ## 项目结构 ``` ocr-api/ ├── pom.xml └── src/ ├── main/ │ ├── java/com/example/ocr/ │ │ ├── core/ │ │ │ ├── OcrEngine.java # 顶层接口 │ │ │ └── AbstractOcrEngine.java # 抽象基类(含参数校验 & 计时) │ │ ├── model/ │ │ │ └── OcrResult.java # 识别结果 VO │ │ └── util/ │ │ └── ImageUtil.java # 图片处理工具(Hutool 封装) │ └── resources/ │ └── logback.xml └── test/ └── java/com/example/ocr/ └── OcrEngineTest.java ``` ## 快速开始 ### 编译 & 测试 ```bash mvn clean test ``` ### 打包 ```bash mvn clean package # 生成两个 jar: # target/ocr-api-1.0.0-SNAPSHOT.jar — 不含依赖 # target/ocr-api-1.0.0-SNAPSHOT-jar-with-dependencies.jar — fat-jar ``` ## 扩展指南 1. **新建具体引擎实现** 继承 `AbstractOcrEngine`,实现 `doRecognize(byte[] imageBytes)` 即可。 例如:`TesseractOcrEngine`、`BaiduOcrEngine`、`AliyunOcrEngine` … 2. **识别结果** 统一使用 `OcrResult`,包含 `text`、`confidence`、`costMs`、`success`、`errorMsg` 字段。 3. **图片预处理** `ImageUtil` 提供缩放、灰度转换等常用操作,可在 `doRecognize` 前调用以提升识别率。 ## 依赖说明 | 依赖 | 版本 | 用途 | |------|------|------| | hutool-core | 5.8.27 | 通用工具 | | hutool-http | 5.8.27 | 远端 OCR API 调用 | | hutool-json | 5.8.27 | JSON 序列化 | | slf4j-api + logback | 1.7.36 / 1.2.13 | 日志 | | junit | 4.13.2 | 单元测试 |