Go to file
Yuanzq 6a70020273 feat: 新增 `手动模式` 和 `AI 模式` 实现。 2026-02-11 11:31:31 +08:00
app feat: 新增 `手动模式` 和 `AI 模式` 实现。 2026-02-11 11:31:31 +08:00
gradle/wrapper First commit 2025-12-16 15:44:30 +08:00
.gitignore First commit 2025-12-16 15:44:30 +08:00
README.md feat: 新增 `手动模式` 和 `AI 模式` 实现。 2026-02-11 11:31:31 +08:00
build.gradle.kts First commit 2025-12-16 15:44:30 +08:00
gradle.properties First commit 2025-12-16 15:44:30 +08:00
gradlew First commit 2025-12-16 15:44:30 +08:00
gradlew.bat First commit 2025-12-16 15:44:30 +08:00
settings.gradle.kts First commit 2025-12-16 15:44:30 +08:00

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+)。

构建与运行

  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.ktRetrofit 配置中检查 API 地址配置。