当前位置: 首页 > 知识库问答 >
问题:

使用模糊文本改善Tesseract OCR结果

羿宏硕
2023-03-14

我正在研究印刷文本的OCR识别。特别是,我将重点放在预处理步骤,以改善Tesseract引擎的结果。我已经在自适应阈值处理、噪声去除、文本抗扭斜等方面取得了良好的效果...但是当其他商业产品回报不错时,宇宙魔方似乎还是失败了。

我使用了下面的测试图像,这里是Tesseract 3.04与两个商业OCR api的比较结果。所有3个服务都提供了相同的二进制图像,其中包含一些略微模糊的文本。

宇宙魔方

Careers in Technology Consulting

Networking Lunch
21 m 2014, 11:00 - 14:30

Definingthecorporatellstmtegy, Wammmwdngdeal, creating
uniquebwinessisighnwilgbigdam-doesflismflxemmyouafioy?

Findoutmoreabanhowitfeektomkasatedlflogymbyjoiningour

for further mm please visit mAeloittexom/weers

艾比高级阅读器在线

Careers in Technology Consulting
Networking Lunch
21 November 2014,1140-14:30
Defining the corporate IT strategy, planning a multHnKon <Mar outsourcing deal, creating unique business insights using big data-doesthis sound Ifce something you enjoy?
Find out more about hour it feels to work as a technology consultant by joining our exclusive networking lunch,
For further information please visit wrwMuleloittexom/carcert

在线光学字符识别

Careers in Technology Consulting Networking Lunch 21 November 2014, 11;00 —14:30 
Defining the corporate IT strategy, planning a muiti-indlimi dollar outsourcing deal, creating unique business insights using big data—does this sound like something you enjoy? 
Find out more about how it feels to work as a tedmology consultant by joining our exclusive networking lunch, 
For further information' please visit wwwdeloitte,com/careers 

现在我想知道Tesseract和其他两个产品之间的巨大差距是由于不同的引擎(当然ABBYY使用自己的引擎,不确定OCR网络服务)还是在运行Tesseract之前可以做一些其他的预处理步骤。你有什么建议吗?

共有1个答案

徐绪
2023-03-14

这里有一个关于“魔术”OCR预处理的建议。为了解释所提出的预处理思想的原理,让我们考虑一下所提供的文本图像的摘录,所有测试的OCR都失败了:

并对其应用一些“预处理智慧”。首先是通常的阈值:

然后一些“魔术”通过拍摄垂直线通过单词元素,检测最大值。2像素高的“条”,并沿其边缘切割它们,同时将单词元素切割到其底线:

现在,将穿过该图像中单词元素的拍摄线从垂直切换到水平,以检测非常宽的“条”,并在宽度的中间垂直切割它们:

这将有助于任何OCR引擎在这个特定的图像上提供更好的结果。我可以想象,一些使用这种方法的商业OCR引擎已经能够提供比这个测试更好的识别。

在这方面,让我提一下Ubuntu存储库中提供的另一个免费OCR引擎(与tesseract相当)。对它们进行对比测试,你会更想知道它们是如何提供不同的结果的,然后查看它们的源代码来了解:)并从这段经历中推断出一些商业方面的东西。

sudo apt-get install cuneiform gocr ocrad
 类似资料:
  • 4.2.2 用函数改善程序结构 上一节讨论了函数的减少重复代码、精简程序的作用,并利用函数的这个功能将程序 4.1 改进成了程序 4.2。在该节的最后,我们也给出了一个不宜用函数来减少重复代码的情况。 还能不能利用函数将程序 4.2 变得更好呢? 我们在 4.1 节中一般地讨论了模块化编程,在 Python 中,函数就是用于模块化编程的 重要工具。当算法很复杂时,程序就会变得难以理解。据说人类擅长

  • 问题内容: 我想知道是否有任何Python库可以进行模糊文本搜索。例如: 我有三个关键字 “ letter” , “ stamp” 和 “ mail” 。 我想要一个功能来检查这三个词是否在同一段落(或一定距离,一页)内。 另外,这些词必须保持相同的顺序。在这三个词之间出现其他词也很好。 我已经尝试过解决不了我的问题。另一个库看起来很强大,但是我找不到合适的功能… 问题答案: {1} 您可以在中执

  • 我想混淆我的web应用程序构建为WAR存档,因为这个敏感的应用程序第一次部署在我们的数据中心之外。我尝试使用Proguard GUI工具来混淆输入war,包括UI应用程序所需的所有服务jar,以及其他外部依赖项。虽然Proguard在一些警告下成功运行,例如库类[javax.servlet.unavailableException]的定义重复,但输出war不包含类,而是包含库jar和web.xml

  • 问题内容: 基本上 在一个活动中,我有一个ListView。当我选择一个项目时,一个透明活动将作为一个小框打开。出现此框时,您仍然可以查看以前的活动屏幕, 我要弄清楚的是如何使上一个屏幕变得模糊,例如此处链接的图像(忽略UI,只看模糊的草皮区域)。 这怎么可能? 感谢您的任何建议。 问题答案: 对于API <14,您可以使用该标志,但是已弃用该标志,并且高级API不再支持内置模糊处理 但是,您可以

  • 问题内容: 我需要从使用iText 5.5.11中的Jasper Reports创建的现有pdf中删除一些内容,但是运行PdfCleanUpProcessor之后,所有粗体文本都变得模糊。 这是我正在使用的代码: 正如这里已经讨论的那样,降级到itext-5.5.4可以解决问题,但是在我的情况下,由于其他原因,已经使用了itext-5.5.11,因此降级不是一种选择。 还有其他解决方案或解决方法吗

  • 通过对 manifest.json 进行相应配置,可以提升 PWA 从主屏幕启动时的应用体验。 添加启动画面 设置显示类型 指定显示方向 设置主题色 添加启动画面 当 PWA 从主屏幕点击打开时,幕后执行了若干操作: 启动浏览器 启动显示页面的渲染器 加载资源 在这个过程中,由于页面未加载完毕,因此屏幕将显示空白并且看似停滞。如果是从网络加载的页面资源,白屏过程将会变得更加明显。因此 PWA 提供