如何在部分屏幕截图中使用 OCR 获取文本?

如何在部分屏幕截图中使用 OCR 获取文本?

当我还在使用 Windows 时,我喜欢使用捕获2文本OCR 程序可以从漫画中抓取日文汉字并将其转储到 jisho.org,我想知道如何在 Ubuntu 上获得相同的功能。即:

  1. 按下指定热键(单击+拖动样式)即可截取部分屏幕截图。
  2. 通过 OCR 引擎处理图像。
  3. 将结果输出到剪贴板。

答案1

基于这个脚本(第二个)我把脚本精简成这样:

#!/bin/bash 
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip

SCR="/home/takingitcasual/Documents/Translate/temp"

gnome-screenshot -a -f $SCR.png

mogrify -modulate 100,0 -resize 400% $SCR.png 
#should increase detection rate

tesseract $SCR.png $SCR -psm 10 -l jpn
cat $SCR.txt | xclip -selection clipboard
#you can only scan one character at a time

exit

我对修改后的文件的一些目标如下:

  1. 不再需要 sudo(以便轻松实现热键绑定)
  2. 替换 scrot(在我看来,gnome-screenshot 的工作方式看起来好多了)
  3. 将脚本简化为更容易理解的内容(删除临时文件)
  4. 限制每次识别一个字符。(如果没有“-psm 10”,识别效果会很糟糕,而且 Tesseract 也会不断抛出“空白页”错误)

我做的另外两件事是:

chmod a+x /home/takingitcasual/Documents/Translate/

并将临时文件权限设置为所有用户的读/写权限。不确定同时执行这两项操作是否多余。

最后一件事是给出 bash 命令

bash /home/takingitcasual/Documents/Translate/screen_ts.sh

快捷方式

如果有人对修改脚本或其他内容有任何建议,我很乐意听取。(我以前没有编写脚本的经验,所以我相信它可以得到改进。)

相关内容