Capture2Text - Альтернатива (Прямой захват текста с экрана) в Ubuntu Mate

Я нашел несколько подобных вопросов на этом сайте, но не смог завершить процесс.

Из ответа Как можно мгновенно извлечь текст из области экрана с помощью инструментов 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, ничего не происходит. Пожалуйста, дайте мне знать, если это не так.

3
задан 20 May 2018 в 07:41

12 ответов

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 17 July 2018 в 13:56

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 20 July 2018 в 13:59

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 23 July 2018 в 09:31

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 23 July 2018 в 14:47

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 31 July 2018 в 17:55

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 2 August 2018 в 10:57

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 3 August 2018 в 09:37

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 5 August 2018 в 00:58

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 6 August 2018 в 17:25

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 8 August 2018 в 21:36

В пользовательском ярлыке я изменил команду на

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
0
ответ дан 14 August 2018 в 11:21

Вам не нужна «скот». Imagemagick (который предоставил «mogrify») может выполнять работу по захвату экрана. Вам также не нужно сохранять промежуточное изображение, так как «tesseract» может принимать изображение на стандартном входе.

Как таковое, это упрощает ...

convert x: -modulate 100,0 -resize 400% -set density 300 png:- |
  tesseract stdin stdout | xsel -bi

Однако я также добавил следующее к моей версии скрипта, чтобы вывести текст на экран, чтобы вы могли его проверить.

xsel -po | xless - &
1
ответ дан 18 October 2018 в 04:04

Другие вопросы по тегам:

Похожие вопросы: