簡體   English   中英

如何在 bash 腳本中檢查 tesseract 的 output?

[英]How do I check for output of tesseract in bash script?

我在 bash 腳本中運行一個循環,並將 png 文件傳遞給 tesseract 以讀取圖像文件的文本。 如果tesseract ocr的output顯示Empty page!! 或者什么都沒有,然后我希望循環繼續到下一個圖像。 如果它確實包含文本,那么我想將 output 存儲在文本文件中。

這就是我的基本腳本的樣子,

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

這大致就是你需要的。 我冒昧地做了一個“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 的結果代碼以防出現錯誤,或者您可能想省略標准錯誤消息,諸如此類。 但這應該給你一個想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM