请问目前OB可以做到ocr图片并且把ocr后的内容纳入到全局搜索中吗?

Ob默认搜索是对纯文本的,
可能最简单不操心的办法, 是以任意手段OCR后, 把识别文本直接搁在这张图后面,

我看有人是识别后写到 <details>识别文本</details> 里 ( obsidian-tesseract-ocr 实测不太完善)

个人觉得, 也可以写到 %% <details>识别文本</details> %% 这在阅读模式里是隐藏的,
其他比如结合 > [!note]- 之类方案也不错

这样有图有字, 搜索时能命中, 上下文能找到原图, 就完事了


更复杂些, 还可以自动造跟图片同名的笔记专门存识别文字, 道理类似, 不污染图片所在的原笔记


实现以上这些, 其实也不太需要OCR插件

  • 可以用 obsidian shell commands 调任意命令行程序
  • 能跟 web 交互的插件就更多了
  • 甚至拿 Custom Frames 把网页识图工具放在侧栏, 简单情况也够了

自己选 OCR 工具好处是未必只能用 tesseract,
许多工具 ( Umi-OCR, 白描 等) 已经做了完善的文字细节处理, 断行该不该连? 公式怎么识别?
这比没加参数的 tesseract + chi_sim 要强很多, 对中文兼容也更好


如果一定是用 Ob 插件, 我也没找到特别完善的,

Obsidian OCR 似乎仍是功能最强的, 还能处理 pdf, 甚至存了段落坐标 (可能为在搜索命中后, 能展示图中关键词的大致位置)
实际用时, 可以在 OCR Provider Tesseract → Additional args 里, 加上 --dpi 300 --oem 1 -c tessedit_create_hocr=1 就基本满足要求, (Tesseract 默认 dpi=70 有时识别质量很烂)
另外 语言模型有 best 和 fast 两版, 我用的是 best

如果要求一次搜索时, 同时搜到正文和OCR文字,
可以 Text Extractor (识图) + Omnisearch (搜索) + cm-chs-patch (中文分词), 这个组合里, 分词插件支持的 Omnisearch 搜索质量很高, 但是 Text Extractor 的可配参数很少, 中文识别差些

但这些基于插件的OCR方案, 确实不算好用

2 个赞