Commit Graph

19 Commits

Author SHA1 Message Date
62d5e7a0ca refactor(ocr): 优化 HSV 颜色过滤架构,实现快捷预设免检与大一统 Custom 变体
- 重构 `ColorPreset` 枚举,新增 `Custom(Vec<HsvRange>)` 变体。
 - 优化 `ColorFilter` 特征兼容多路组合宏。
 - 新增 `validate_self` 特征多态方法,实现责任分离:库担保的快捷预设 0 运行时开销免检放行,仅对 `Custom` 动态数据进行严格自检。
 - 优化 `OcrBuilder::color_filter` 接收 `&dyn ColorFilter` 特征对象,完美兼容原有声明式宏与链式调用熔断机制。
 - 借鉴 `reqwest` 的延迟错误处理模式,完善 `OcrBuilder` 的链式调用熔断(毒化)状态机。
2026-06-18 17:40:29 +08:00
189f2bd697 refactor(ocr): 拆分字符集限制枚举并引入声明式多路组合子宏
- 将原本臃肿的 CharsetRestrict 拆分为 CharRestrict(内容过滤)和 IdRestrict(索引过滤),实现职责解耦
 - 引入 any_of! 声明式宏实现无 Box、无堆内存分配的栈上多路组合,规避孤儿规则
 - 完善 estimated_capacity 容量预估函数,实现真正的 O(1) 精准内存开辟
2026-06-16 09:37:15 +08:00
b7146831f7 refactor: 优化 OcrBuilder 新增通过索引范围控制有效字符集
- 修改 `charset_restrict`类型修改为Option<Vec<usize>> 并重构同名方法数据处理逻辑
- 优化 `ctc_decode_to_string` 内部复用策略计算,通过 `Option` 结构实现无限制请求的全量免检短路加速
- 新增 `CharsetRestrict`枚举新增变体`TopN(usize)` 实现通过索引范围控制有效字符集
2026-06-13 17:13:00 +08:00
0c96fbedbf refactor: 重构 OcrBuilder 过滤机制,实现零克隆、高性能的局部白名单
- 将有状态的有效索引缓存 `valid_indices` 从全局 `Charset` 剥离至局部 `OcrBuilder`
- 解码函数 `ctc_decode_to_string` 内部复用策略计算,通过 `has_any_match` 布尔开关实现全量免检短路加速
- 优化内存分配,根据 `CharsetRestrict` 策略动态精准计算 `HashSet` 初始容量,规避大词表空置浪费
- 增强鲁棒性,在策略与字库完全无交集时,自动触发智能降级,一键恢复全量识别并保持接口自洽
2026-06-09 18:12:02 +08:00
15ce068025 feat: 字符集限制枚举优化与核心解码器对接
- 新增 model_metadata.rs
- 优化 charset.rs
- 其他优化
2026-06-05 17:30:10 +08:00
cb786a7a1a refactor: 重构 ocr.rs 实现丝滑参数设置
- 重构 Ocr
- 新增 OcrTask
2026-05-29 19:13:45 +08:00
0923d92150 feat: 优化 slide.rs 2026-05-11 22:54:05 +08:00
0df9022411 feat: 优化 项目目录结构 2026-05-10 20:52:42 +08:00
a51147c888 refactor: 优化 slide_model.rs
- 新增 cv2.rs 模拟 opencv
2026-05-09 17:52:34 +08:00
e8b365dced feat: 优化 image_io.rs 模块
- 新增 base64_to_image等工具函数。
2026-05-08 22:35:17 +08:00
f0db625bd1 refactor: 完成图像加载模块重构,对齐 ddddocr Python 原版 IO 逻辑 2026-05-08 17:59:42 +08:00
21bd1c93bf feat: 完成 Rust 滑块匹配算法,修复透明留白导致的坐标偏移
- 实现灰度与边缘两种匹配模式
- 对齐 OpenCV NCC 算法逻辑
- 优化图像灰度化与 Alpha 通道转换
- 提升坐标计算精度至像素级
2026-05-08 16:03:33 +08:00
1a329ca273 refactor: 优化Det算法
- 优化 demo_postprocess,nms算法
- 新增 Slide 滑块识别
- 更新 Cargo.toml 依赖项
2026-05-07 18:00:39 +08:00
8fcfa2096e refactor: 移除 OpenCV 依赖并实现纯 Rust 图像处理流水线
- 替换 opencv 为 image 库以简化交叉编译
- 修正 nms 逻辑中的 ArrayView 借用问题
- 增加 save_debug_image 方法用于可视化检测框
- 更新 Cargo.toml 依赖项
2026-05-06 17:37:38 +08:00
cfeb68ad04 feat: 重构模型初始化逻辑
- 重构 DdddOcr。
- 新增 DdddOcrBuilder。
- 其他优化
2026-05-05 22:18:12 +08:00
1c366b7165 feat: 重构 CTC 解码逻辑
- 重构 ctc_decode 为关联函数并优化内存分配。
- 增加 单元测试和集成测试
2026-05-01 21:54:33 +08:00
642fed5d9f feat: 实现 DdddOcr 核心推理流水线与图像预处理
- 封装 `preprocess_image` 方法,实现 PNG 透明背景修复、灰度化、比例缩放及 NCHW 张量转换。
- 提取 `inference` 逻辑,支持通过 tract-onnx 执行模型推理。
- 实现 `extract_indices` 解析输出张量,支持 I64 索引直接读取与 F32 概率矩阵的 Argmax 处理。
- 完善 `decode_ctc` 解码算法,支持标准 CTC 贪婪搜索与字符集映射。
- 重构 `classification` 主入口,将预处理、推理、解析、解码逻辑解耦,提升代码可维护性。
2026-04-30 17:54:08 +08:00
84e3b6d6b3 feat: 初始化 ddddocr-rs 核心推理流程
- 实现基础 OCR 流水线:图片读取 -> 灰度化 -> 张量转换 -> 推理 -> CTC 解码
- 集成 `tract-onnx` 推理引擎,实现纯 Rust 运行环境
- 完善图片预处理逻辑(基于 Lanczos3 缩放与标准化处理)
- 添加 MIT 和 Apache-2.0 双重开源协议
- 完成初步的项目结构搭建与字符集(Charset)映射
2026-04-29 17:37:51 +08:00
17544e2fc0 Initial commit 2026-04-29 16:27:05 +08:00