Как мне проверить вывод tesseract в скрипте bash? - PullRequest
0 голосов
/ 19 июня 2020

Я запускаю al oop in bash script и передаю файлы png в tesseract для чтения текста файлов изображений. Если вывод tesseract ocr показывает Empty page!! или ничего, тогда я хочу, чтобы l oop перешел к следующему изображению. Если он содержит текст, то я хочу сохранить вывод в текстовом файле.

Так выглядит мой сценарий basi c,

for i in {1..100}
do
tesseract file-${i}.png stdout >> result.txt
done 

1 Ответ

0 голосов
/ 19 июня 2020

Это примерно то, что вам нужно. Я взял на себя смелость сделать "ls", чтобы перечислить файлы png в каталоге, вместо того, чтобы повторять от 1 до 100:

for file in /my/directory/*.png
do
  # Redirect output to a variable. This works even if output is multiline.
  output="$(tesseract "$file" stdout)"
  
  if [ -n "$output" ] && [ "$output" != "Empty page!!" ]
  then
    echo "$output" >> result.txt
  fi
done 

Это немного грубо, вы можете проверить коды результатов из tesseract на случай, если есть ошибки, или вы можете пропустить стандартные сообщения об ошибках и тому подобное. Но это должно дать вам представление.

...