このサイトで同様の質問をいくつか見つけましたが、プロセスを完了できませんでした。
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
をクリックしましたbash /home/blueray/Documents/Translate/screen_ts.sh
Apply
をクリックしました今私が押すと WinQ、 何も起こりません。 何が間違っているのですか?
「scrot」は必要ありません。 Imagemagick(「mogrify」を提供)は、画面キャプチャの仕事をすることができます。 「tesseract」は標準入力で画像を受け入れることができるため、中間画像を保存する必要もありません。
そのため、上記は単純化されます...
convert x: -modulate 100,0 -resize 400% -set density 300 png:- |
tesseract stdin stdout | xsel -bi
ただし、スクリプトのバージョンに次を追加して、画面にテキストをポップアップ表示して確認できるようにしました。
xsel -po | xless - &
もちろん、tesseractは一部のフォントに対していくつかの改善を使用できます!たとえば、一部のフォントの 'f'には小さなフックがあり、tesseractに 'P'であると思わせます!ああ...
編集:私が使用する完全なスクリプトは...にあります.
http://www.ict.griffith.edu.au/anthony/software/#capture_ocr
ウィンドウマネージャー(openbox)を使用して、これを「ホットキー」(メタ印刷)にリンクするので、いつでも使用できます。
ホットキーを使用できず、テキストを含む画面の一部を明らかにする必要がある場合は、いつでも遅延して起動できます...
睡眠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