如何在部分屏幕捕获上使用OCR来获取文本?

当我还在使用Windows时,我喜欢使用capture2text OCR程序从漫画中获取日文汉字并将它们转储到jisho.org,并且想知道如何在Ubuntu上获得相同的function。 即:

  1. 点击指定的热键时点击部分截图(点击+拖动样式)。
  2. 通过OCR引擎处理图像。
  3. 将结果输出到剪贴板。

基于这个脚本 (第二个),我将脚本缩小到这个:

#!/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工作的方式看起来更好IMO)
  3. 将脚本简化为我可以更容易理解的内容(删除临时文件)
  4. 限制一次识别一个字符。 (没有那个“-psm 10”,识别是非常糟糕的,并且Tesseract也不断抛出“空页”错误)

我做的另外两件事是:

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

并为所有人设置临时文件权限以进行读/写。 不确定两者是否都是多余的。

最后一件事就是给出了bash命令

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

通过此快捷方式。

如果有人建议修改脚本或其他任何我喜欢听的话。 (我以前没有使用脚本的经验,所以我确信它可以改进。)