总是有人喜欢贴截图而不是文字,我的工作又经常要求跟客户要他们的 trace id 来排查问题。为了可以少说几句话节省时间,可以用下面的 alias:
1 |
pocr='pngpaste - | tesseract stdin stdout' |
pngpaste
的作用是把剪切板的内容输出到 stdout 中。
tesseract
的作用是识别 stdin 中的图片并且输出到 stdout 中。
使用方法是,将图片右键复制到剪切板,然后到终端上执行命令 pocr
。
识别率非常高,并且 pocr | grep abc
可以接后续的命令来处理图片中的文字。
二者在 Mac 上都可以通过 brew 安装。
1 |
brew install tesseract pngpaste |
想到了一个方法,用 Mac 自带的 Preview 来打开图片,这样就可以直接在图片上选中了,或许 OCR 质量也更好(
tempfile=$(gmktemp –suffix=.png) && pngpaste $tempfile && open $tempfile
不过自然就不能后续 pipe 处理文字了,但是可以比如作为 raycast 的 script command,还是挺方便的
这种情况我一般打开图片,然后选中区域 (Cmd+Shift+4, Ctrl+鼠标左键)可以选中图片复制到剪切板,然后回到终端 pcor 就搞定了。
不过大部分情况全部识别出来然后在终端找也行,ocr 速度很快。
发现我真正需要的其实是中文支持,需要装一下语言包(
brew install tesseract-lang
然后可以
pocr -l chi_sim