16

我正在研究印刷文本的 OCR 识别。我特别关注预处理步骤以改进Tesseract引擎的结果。我已经通过自适应阈值处理、噪声消除、文本偏斜等获得了很好的结果……但是当其他商业产品返回不错的结果时,Tesseract 似乎仍然失败。

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

用于比较 3 种 OCR 产品的文本图像

正方体

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

ABBYY Fine Reader Online

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

在线 OCR

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 Web 服务)还是在运行 Tesseract 之前可以完成一些其他预处理步骤. 你有什么建议吗?

4

1 回答 1

6

这里是“神奇”OCR 预处理的建议。为了解释所提出的预处理思想的原理,让我们考虑从提供的所有测试 OCR 都失败的文本图像中摘录:

原始图像

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

阈值图像

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

提取后

现在从通过该图像中的字元素的射击线从垂直切换到水平线,以便检测非常宽的“条”并将它们垂直切割到它们的宽度中间:

在分裂成长在一起的角色之后

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

在这种情况下,让我提一下 Ubuntu 存储库中提供的另一个免费 OCR 引擎(与 tesseract 相当)。对它们进行相互测试,您可能会想知道它们是如何提供不同结果的,然后查看它们的源代码以了解:) 并从这种经验中推断出一些关于商业的东西。

sudo apt-get install cuneiform gocr ocrad
于 2017-03-29T10:21:23.337 回答