Capture2Text – 在Ubuntu Mate中替代(直接从Screen中捕获文本)
我在这个网站上发现了几个类似的问题,但无法完成这个过程。
从如何使用OCR工具即时从屏幕区域提取文本的答案? 如何在部分屏幕截图上使用OCR来获取文本?
首先我安装了依赖项
sudo apt-get install tesseract-ocr sudo apt-get install imagemagick sudo apt-get install scrot sudo apt-get install xsel
然后我将以下脚本放在/home/blueray/Documents/Translate/screen_ts.sh
#!/bin/bash # Dependencies: tesseract-ocr imagemagick scrot xsel SCR_IMG=`mktemp` trap "rm $SCR_IMG*" EXIT scrot -s $SCR_IMG.png -q 100 # increase image quality with option -q from default 75 to 100 mogrify -modulate 100,0 -resize 400% $SCR_IMG.png #should increase detection rate tesseract $SCR_IMG.png $SCR_IMG &> /dev/null cat $SCR_IMG.txt | xsel -bi exit
请注意我删除了
select tesseract_lang in eng rus equ ;do break;done # Quick language menu, add more if you need other languages.
希望它只考虑英语。 如果不是这样,请告诉我。
现在当我放
bash /home/blueray/Documents/Translate/screen_ts.sh
它按我的意愿工作。
在Windows中,使用Capture2Text,我曾经使用Win + Q将部分屏幕捕获为文本。 所以,我检查了如何设置自定义键盘快捷键来控制音量?
我去了Menu-> Searched for Keyboard Shortcuts -> Click
- 然后我点击了
Add
- 名称:Capture2Text
- 命令:
bash /home/blueray/Documents/Translate/screen_ts.sh
- 单击“
Apply
- 单击右侧的“快捷方式”。
- 按下胜利 Q.
现在,当我按下Win Q时 ,没有任何反应。 我究竟做错了什么?
你不需要“scrot”。 Imagemagick(提供“mogrify”)可以完成屏幕捕获的工作。 您也不需要保存中间图像,因为“tesseract”可以接受标准输入上的图像。
因此,上述简化为……
convert x: -modulate 100,0 -resize 400% -set density 300 png:- | tesseract stdin stdout | xsel -bi
但是我还在我的脚本版本中添加了以下内容,以便在屏幕上弹出文本以便进行检查。
xsel -po | xless - &
编辑:我使用的完整脚本位于…
http://www.ict.griffith.edu.au/anthony/software/#capture_ocr
我喜欢这个使用我的窗口管理器(openbox)的’热键’(Meta-Print),所以我可以随时使用它。
如果您不能使用热键,并且需要揭开包含文本的屏幕部分,您可以随时启动它…
睡5; capture_ocr
请享用
在自定义快捷方式中,我将命令更改为
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
现在它正在运作。 但问题是当我按下Win+Q
终端屏幕部分时。 所以,我安装了xdotool
sudo apt-get update sudo apt-get install xdotool
在我的screen_ts.sh
文件中添加了xdotool windowminimize $(xdotool getactivewindow)
。
所以,现在脚本看起来像
#!/bin/bash # Dependencies: tesseract-ocr imagemagick scrot xsel xdotool windowminimize $(xdotool getactivewindow) SCR_IMG=`mktemp` trap "rm $SCR_IMG*" EXIT scrot -s $SCR_IMG.png -q 100 # increase image quality with option -q from default 75 to 100 mogrify -modulate 100,0 -resize 400% $SCR_IMG.png #should increase detection rate tesseract $SCR_IMG.png $SCR_IMG &> /dev/null cat $SCR_IMG.txt | xsel -bi exit