gpt4 book ai didi

c++ - 限制 Tesseract 的预处理

转载 作者:行者123 更新时间:2023-11-28 07:09:07 25 4
gpt4 key购买 nike

我是 tesseract 的新手库,我在 Ubuntu 12.04 上设置了它。

我正在使用这个 data set被认可。当我使用 this code 将这些图像按原样(没有任何预处理)提供给 tesseract 时我大约得到 70-75%。准确性。

我希望准确度达到 90% 以上,所以我做了一些预处理步骤来增强图像

预处理步骤

  1. 应用具有半径为 12 的圆的结构化元素的底帽运算符
  2. 补充图片使背景变白,文本变黑
  3. 增强合成图像的对比度
  4. 侵 eclipse 图像。

经过这些步骤后,我可以得到非常清晰的图像 seen here .但是现在当我使用相同的代码将这些图像提供给 tessearct 时,准确率会降低到 < 50% 我不知道为什么?是因为 tesseract 也做了一些预处理吗?如果是,那么我如何限制 tesseract 进行预处理。如果不是那么为什么现在图像非常清晰时它会给我带来不好的结果?如果我问了一些基本问题,请原谅我。

最佳答案

关于您的问题,为什么 tesseract 在使用二值图像而不是灰度图像作为 tesseract 输入时提供更好的结果:

Tesseract 会用各种方法对灰度图像进行内部二值化(还没弄清楚到底用的是什么二值化方法,有时是局部自适应阈值,有时是全局 OTSU 阈值,网上有提到) .当然,tesseract 对二进制图像执行字符识别,并且 tesseract 的预处理在特定问题上仍然会失败(例如,没有很好的布局分析)。因此,如果您自己进行预处理部分并将 tesseract 作为输入图像仅提供带有文本的二进制图像并禁用 tesseract 中的所有布局分析,您可以获得比让 tesseract 为您完成所有工作更好的结果。由于它是一个开源的免费实用程序,它有一些必须接受的已知缺点。

如果你使用tesseract作为命令行工具,这个线程对于参数是非常有用的。 tesseract command line page segmantation

如果您在开发自己的 C++ 代码时使用 tesseract 的源代码,则必须使用正确的参数初始化 tesseract。此处在 tesseract API 端描述了参数。 tesseract API

关于c++ - 限制 Tesseract 的预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com