首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过管道将多个文件从循环导入tesseract-ocr

如何通过管道将多个文件从循环导入tesseract-ocr
EN

Stack Overflow用户
提问于 2019-04-10 03:27:37
回答 1查看 1.6K关注 0票数 1

我正在寻找一种方法,以顺序添加文件(PNG输入文件)到一个ocr的PDF (通过tesseract-3)。这个想法是扫描PNG,优化它(optipng),并通过流将其提供给tesseract,这会将其添加到不断增长的PDF中。两次扫描之间的时间间隔是20-40秒,并且扫描次数会达到数百秒,这就是为什么我希望使用两次扫描之间的等待时间来进行OCR。

我想象它是这样工作的:

代码语言:javascript
复制
while ! $finished
do
  get_scanned_image_to_png_named_scannumber
  optipng $scannumber.png
  check_for_finishing_condition #all this works fine already
  sleep 30s
  #do some magic piping into a single tesseract instance here
done #or here?

这样做的灵感来自这里:

https://github.com/tesseract-ocr/tesseract/wiki/FAQ#how-to-ocr-streaming-images-to-pdf-using-tesseract

非常感谢你的任何提示,

Joost

编辑:

操作系统: OpenSuse Tumbleweed

扫描:更多的是一系列的“图像采集”,导致每个PNG (不是真正的扫描仪);至少持续几个小时。

FollowUp:这种方式在执行以下操作时有效

代码语言:javascript
复制
while ! $finished
do
  get_scanned_image_to_png_named_scannumber
  optipng $scannumber.png
  check_for_finishing_condition #all this works fine already
  sleep 30s

  echo "$capnum.png"

done | tesseract -l deu+eng -c stream_filelist=true - Result pdf

,尽管当您尝试在两次扫描添加之间打开PDF或使用Ctrl-C组合键停止此循环时,PDF已损坏。我没有看到一种方法来获得一个未损坏的PDF。

EN

回答 1

Stack Overflow用户

发布于 2019-04-10 12:49:03

试试这个:

代码语言:javascript
复制
while ! $finished
do
  get_scanned_image_to_png_named_scannumber
  optipng $scannumber.png
  check_for_finishing_condition #all this works fine already
  sleep 30s
done | tesseract -c stream_filelist=true - - pdf > output.pdf
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55599939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档