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

标签 image-processing ocr tesseract motion-blur

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

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

Text image used to compared the 3 OCR products

Tesseract

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

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

最佳答案

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

original image

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

thresholded image

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

after extracting "i"s

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

after splitting grown-together characters

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

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

sudo apt-get install cuneiform gocr ocrad

关于image-processing - 使用模糊文本改善 Tesseract OCR 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27671811/

相关文章:

image - 将图片读取为灰度numpy数组,并保存回来

python - 如何在 python 中将黑白图像转换为 3 维数组?

ios4 - 尝试构建 ABBYY Mobile OCR SDK 示例代码时出现构建错误

android - 避免冗余构建以制作 tessaract android 库 && 将 tessaract 库链接到 c++ NDK

java - Java服务器上可以使用JJIL进行图像处理吗

c++ - 将倾斜图像上的点转换为非倾斜点

iphone - iPhone 和/或 Android 上的 Ocropus 引擎

iphone - Google 文档 OCR 实现 iPhone

python - 通过 OCR 从 T 恤照片中提取代码

c++ - 在 Windows 10 上为 C++ 安装 tesseract