jiju_OCR_APP/README.md

77 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OCR Pro 机具编码识别 APP (v2.0)
这是一款专为电力机具管理升级打造的 **AI 驱动** Android 应用程序。v2.0 版本引入了全自动化的扫描与变焦功能,不仅能“看懂”设备编码,还能“自动对焦”和“自动抓拍”,大幅提升一线作业效率。
## ✨ v2.0 核心亮点 (New Features)
### 1. 🤖 AI 全自动扫描 (Auto-Scan)
- **智能变焦**: 告别手动捏合只需将手机大致对准App会自动识别编码区域平滑拉近镜头至最佳比例。
- **自动抓拍**: 当画面稳定且清晰时,系统会自动“按下快门”,无需手动点击。
- **竖向文本优化**: 针对竖排编码,系统采用**智能聚合 (Smart Union)** 算法,稳稳锁住整行文字,变焦也更克制(仅占屏幕高度 55%),防止画面溢出。
### 2. 🎮 双模式切换 (Dual Mode)
为了适应各种复杂工况,我们提供了两种操作模式,位于界面右上角一键切换:
- **[✨ AI 扫描] (默认)**: 全自动模式。动态绿色检测框跟随目标,镜头自动推拉,适合绝大多数标准场景。
- **[[-] 手动模式]**: 复古经典模式。屏幕中央显示**固定白色取景框**,镜头不再自动移动。由您手动变焦、手动对准、手动点击拍照,确保在极端环境下依然可控。
### 3. 🌊 视觉平滑 (Visual Smoothing)
- 引入了**高帧率平滑算法 (LERP)**,动态绿色检测框不再像传统 OCR 那样剧烈跳动,而是像果冻一样丝滑地“流”向目标,视觉体验极佳。
---
## 🛠 功能清单
* **相机与识别**:
* **AI Auto-Zoom**: 自动将编码放大到屏幕 50%-60% 占比。
* **Auto-Focus**: 变焦后自动触发对焦与测光。
* **Smart Crop**: 上传前自动根据检测框进行精准裁剪(+20% Padding减少流量消耗提升后端识别率。
* **防抖拍摄**: 拍摄按钮增加防抖逻辑,防止重复误触。
* **数据管理**:
* **本地历史记录**: 使用 Room 数据库本地存储所有扫描记录。
* **搜索与筛选**: 支持按类别或日期快速检索历史数据。
* **数据统计看板**: 可视化展示识别准确率和各类别的分布情况。
* **个性化定制**:
* **自定义类别**: 支持用户添加、编辑、删除自定义机具类别(如“卡线器扫码”等)。
---
## 🚀 快速开始
### 环境要求
* Android Studio Ladybug 或更新版本。
* JDK 17 或更高版本。
* Android 真机需支持相机功能Min SDK 24+)。
### 构建与运行
1. **克隆仓库**: `git clone <repository-url>`
2. **打开项目**: 使用 Android Studio 打开项目根目录。
3. **同步依赖**: 等待 Gradle Sync 完成所有依赖下载 (包含 ML Kit 与 CameraX)。
4. **真机调试**: 连接 Android 手机,点击工具栏上的 **Run** 按钮。
---
## 📖 使用指南 (v2.0)
1. **选择模式**:
* 默认进入 **AI 扫描** 模式。
* 如需精确控制,点击右上角切换至 **手动模式**
2. **扫描识别**:
* **AI 模式**: 手机对准编码即可。绿框出现 -> 自动拉近 -> 自动拍照。一气呵成。
* **手动模式**: 将编码对准屏幕中央的**白色方框**,手动调整距离或变焦,点击底部 **拍照按钮**
3. **结果确认**:
* 查看识别结果,如有误点击“手动修正”。
* 确认无误后提交保存。
4. **类别管理**:
* 点击底部类别栏,选择“添加自定义类别”或管理现有类别。
---
## 📂 项目结构
* `ui/`: 界面层CameraScreen (包含 Auto-Zoom 逻辑), ResultScreen, HistoryScreen。
* `data/`: 数据层API, Room Database, Repository。
* `util/`: 工具类ImageProcessor (裁剪与压缩)。
* `camera/`: **[New]** `TextRecognitionAnalyzer.kt` (封装 ML Kit 识别与智能聚合逻辑)。
---
**注意**: 本项目依赖后端 OCR 服务接口。请在 `OcrAppModule.kt``Retrofit` 配置中检查 API 地址配置。