|
|
||
|---|---|---|
| app | ||
| gradle/wrapper | ||
| .gitignore | ||
| README.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||
README.md
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+)。
构建与运行
- 克隆仓库:
git clone <repository-url> - 打开项目: 使用 Android Studio 打开项目根目录。
- 同步依赖: 等待 Gradle Sync 完成所有依赖下载 (包含 ML Kit 与 CameraX)。
- 真机调试: 连接 Android 手机,点击工具栏上的 Run 按钮。
📖 使用指南 (v2.0)
- 选择模式:
- 默认进入 AI 扫描 模式。
- 如需精确控制,点击右上角切换至 手动模式。
- 扫描识别:
- AI 模式: 手机对准编码即可。绿框出现 -> 自动拉近 -> 自动拍照。一气呵成。
- 手动模式: 将编码对准屏幕中央的白色方框,手动调整距离或变焦,点击底部 拍照按钮。
- 结果确认:
- 查看识别结果,如有误点击“手动修正”。
- 确认无误后提交保存。
- 类别管理:
- 点击底部类别栏,选择“添加自定义类别”或管理现有类别。
📂 项目结构
ui/: 界面层,CameraScreen (包含 Auto-Zoom 逻辑), ResultScreen, HistoryScreen。data/: 数据层,API, Room Database, Repository。util/: 工具类,ImageProcessor (裁剪与压缩)。camera/: [New]TextRecognitionAnalyzer.kt(封装 ML Kit 识别与智能聚合逻辑)。
注意: 本项目依赖后端 OCR 服务接口。请在 OcrAppModule.kt 或 Retrofit 配置中检查 API 地址配置。