Commit Graph

22 Commits

Author SHA1 Message Date
let5sne.win10
737d4b2760 feat: 添加手机MJPEG摄像头支持,锁定PaddleOCR 2.x版本
- 桌面端支持通过USB连接手机摄像头(MJPEG流),自动执行adb forward
- 添加Windows DirectShow后端,优化摄像头检测和错误提示
- 锁定paddleocr==2.10.0 + paddlepaddle==2.6.2,解决3.x PIR+oneDNN兼容性问题
- 简化ocr_offline.py,回退到稳定的2.x API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:18:33 +08:00
let5sne.win10
4df84ffebe merge: 合并远程最新代码
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:45:57 +08:00
let5sne.win10
522c2cb000 feat: 添加 Android 应用
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:42:07 +08:00
empty
0ee00e6be7 refactor: 移除 Web 环境,专注桌面应用,修复 macOS 卡死问题
Web 环境移除:
- 删除 Web 相关文件:src/app.py, heartbeat.py
- 用 requirements-desktop.txt 替换 requirements.txt
- 更新 README.md:移除 Web 界面、部署方案等章节
- 更新技术栈说明:Streamlit → PyQt6
- 添加 usb_bundle/ 到 .gitignore

Desktop 应用改进:
- 重构 OCRService:使用独立 Python 线程替代 QThread
- 添加主线程预加载 paddleocr 模块,修复 macOS 上卡死问题
- 新增离线 OCR 初始化模块(src/ocr_offline.py)
- 新增模型准备脚本(scripts/prepare_models.py)
- 新增摄像头诊断工具(scripts/camera_probe.py)

功能定位:
- Desktop 应用(src/desktop.py):实时摄像头拍照识别
- CLI 批处理(src/main.py):批量处理目录中的图片

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 17:31:05 +08:00
let5sne.win10
ec8c15191b fix: 添加调试模式支持
- 添加 --debug 参数生成带控制台的版本
- 便于诊断运行时错误

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:09:03 +08:00
let5sne.win10
299504c283 fix: 使用 --paths 参数修复 PyInstaller 导入路径问题
- 改用 --paths=src 代替 --add-data
- 这样 src 目录会被添加到 Python 路径
- 避免 processor 等模块导入错误

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:06:44 +08:00
let5sne.win10
8501f17b6c fix: 修复打包脚本兼容性
- 使用 Python -m PyInstaller 方式提高兼容性
- 简化命令参数
- 添加文件大小显示

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:04:05 +08:00
let5sne.win10
7e4f2c92b1 feat: 添加桌面程序打包支持
- 添加 PyInstaller 打包脚本 build_exe.py
- 更新 requirements.txt 添加 PyQt6 和 opencv-python
- .gitignore 添加 PyInstaller 打包产物忽略规则

使用方法:
  pip install pyinstaller
  python build_exe.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:00:57 +08:00
let5sne.win10
109946a461 chore: 从 git 追踪中移除构建产物
使用 git rm --cached 移除已追踪的 build/.gradle/.idea 文件
这些目录已在 .gitignore 中配置

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:49:33 +08:00
let5sne.win10
e7e4fa8a80 chore: 优化 .gitignore 配置
- 移除重复的 .gradle/ 条目
- 添加更多 Android 构建产物忽略规则
- 完善 Python 和 Keystore 文件忽略规则

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:47:34 +08:00
let5sne.win10
6757a82cee fix: 添加 INTERNET 权限以支持 MJPEG HTTP 服务器
MjpegServer 需要监听 8080 端口提供 HTTP 流媒体服务

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:44:59 +08:00
let5sne.win10
da080a8f03 fix: 修复 MjpegServer.ClientHandler.isAlive 方法名冲突
重命名为 isClientAlive 以避免与 Thread.isAlive() 冲突

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:41:07 +08:00
let5sne.win10
c68ed15ed5 refactor: 改进 CameraHelper 资源清理的错误处理
- 添加 stopRepeating() 和 abortCaptures() 调用
- 为每个资源关闭操作添加独立的 try-catch
- 确保即使部分资源关闭失败,其他资源仍会被清理

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:39:54 +08:00
let5sne.win10
e9741b4dd2 fix: 修复 MainActivity 多行字符串格式和 UI 线程安全问题
- 使用 Kotlin 原始字符串语法替代错误的拼接格式
- 修复 stopCamera() 中 UI 更新不在主线程的问题
- 添加 cameraHelper 重复启动检查

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:39:42 +08:00
let5sne.win10
0699931fd4 fix: 修复 MjpegServer.kt 文件丢失
- 确保所有源代码文件完整
2026-02-12 22:37:54 +08:00
let5sne.win10
b9b1c2d876 feat: Android 应用保持屏幕常亮
- 添加 WAKE_LOCK 权限
- 设置 keepScreenOn=true
2026-02-12 22:28:46 +08:00
let5sne.win10
38b68c9987 feat: 添加 Android USB 摄像头 APP 源代码
- 源代码文件: MainActivity, CameraHelper, MjpegServer
- 布局文件: activity_main.xml
- 优化 .gitignore 只忽略构建产物
2026-02-12 22:26:40 +08:00
let5sne.win10
767271d499 feat: 添加 USB 摄像头连接功能
- 新增 Android USB 摄像头 APP (MJPEG 服务器)
- 电脑端支持 ADB 端口转发连接
- 修复 .gitignore 忽略 Android 文件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:23:43 +08:00
root
35d05d4701 feat: 添加桌面版应用和心跳监控
新增功能:
- src/desktop.py: PyQt6 桌面应用,支持 Droidcam 摄像头
  - 实时视频预览 + 绿色扫描框叠加
  - 空格键快速拍照识别
  - 批量记录管理和 Excel 导出
- heartbeat.py: 服务心跳监控,自动重启 Streamlit
- requirements-desktop.txt: 桌面版专用依赖

Web 版优化:
- src/app.py: 自定义摄像头组件,扫描框叠加到视频流

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 12:23:31 +00:00
root
647a04d132 feat: 添加 Web 界面和项目文档
新增功能:
- 添加 Streamlit Web 界面 (src/app.py),支持批量上传和在线预览
- 添加 README.md,包含项目介绍、部署方案和配置要求

依赖更新:
- 锁定 PaddleOCR 2.x 版本以确保稳定性
- 新增 streamlit 依赖

部署方案:
- 内网服务器部署
- Docker 容器化部署
- systemd 系统服务

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 07:19:06 +00:00
root
e2cb608845 fix: 修复 PaddleOCR API 兼容性问题
由于 PaddleOCR 3.x 的 predict() 方法存在 PIR (Paddle IR)
兼容性问题,导致 OneDNN 指令执行失败,改用 2.x 版本的
ocr() 方法。

主要变更:
- 将 ocr.predict(img_path) 改为 ocr.ocr(img_path, cls=False)
- 适配 2.x 版本的返回格式:[box, (text, confidence)]
- 移除 Paddlex OCRResult 结构的适配代码

测试环境:
- paddleocr==2.10.0
- paddlepaddle==2.6.2

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 06:55:59 +00:00
empty
fe5a346fdd feat: initial commit for post-ocr extraction pipeline 2026-02-12 14:20:33 +08:00