Я нашел несколько подобных вопросов на этом сайте, но не смог завершить процесс.
Из ответа Как можно мгновенно извлечь текст из области экрана с помощью инструментов 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
Он работает так, как я хотел.
В окнах с Capture2Text , Я использовал Win + Q для захвата части экрана в виде текста. Итак, я проверил Как мгновенно извлечь текст из области экрана с помощью инструментов OCR?
Я пошел в Menu-> Searched for Keyboard Shortcuts -> Click
Затем я нажал Add Название: команда Capture2Text: bash /home/blueray/Documents/Translate/screen_ts.sh Нажмите Apply Нажмите «Ярлык» справа. Пресса WinQ
Теперь, когда я нажимаю Win Q, ничего не происходит. Пожалуйста, дайте мне знать, если это не так.
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow) в мой файл screen_ts.sh.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow) в мой файл screen_ts.sh.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
В пользовательском ярлыке я изменил команду на
mate-terminal -e "/home/blueray/Documents/Translate/screen_ts.sh"
Теперь он работает. Но проблема в том, что я нажимаю Win+Q
часть крышки терминала. Итак, я установил xdotool
sudo apt-get update
sudo apt-get install xdotool
Добавил xdotool windowminimize $(xdotool getactivewindow)
в мой файл screen_ts.sh
.
Итак, теперь скрипт выглядит как
#!/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
Вам не нужна «скот». Imagemagick (который предоставил «mogrify») может выполнять работу по захвату экрана. Вам также не нужно сохранять промежуточное изображение, так как «tesseract» может принимать изображение на стандартном входе.
Как таковое, это упрощает ...
convert x: -modulate 100,0 -resize 400% -set density 300 png:- |
tesseract stdin stdout | xsel -bi
Однако я также добавил следующее к моей версии скрипта, чтобы вывести текст на экран, чтобы вы могли его проверить.
xsel -po | xless - &