批量处理自动化方案
uniOCR 提供两种批处理实现方式:
- 内置批处理API
let images = vec!["img1.png", "img2.png"]; let results = engine.recognize_batch(images).await?;
该方案自动并行处理,效率最高
- 自定义批处理脚本
- 使用 glob 模式匹配目录下所有图片(如
./docs/*.png
) - 构建路径列表传入
recognize_batch
方法 - 将结果写入CSV或数据库:
for (i, text) in results.iter().enumerate() { fs::write(format!("result_{}.txt", i), text)?; }
- 使用 glob 模式匹配目录下所有图片(如
- 性能优化技巧
- 设置合理线程数(通过
tokio
运行时配置) - 大文件分批处理(每批20-50张)
- 启用异步IO(默认已支持)
- 设置合理线程数(通过
结合文件监控工具(如 inotify
),可构建实时自动化处理管道。
本答案来源于文章《uniOCR:跨平台开源的文字识别工具》