在此分析的基础上分析和转换图像,以获得更好的OCR结果

时间:2010-02-19 13:31:46

标签: image-processing ocr

我有一个OCR项目,但它只适用于文本相当直,而不是颠倒的图像。 (不是旋转文字) 所以我想让OCR能够识别任何类型的图像,甚至是颠倒的。但我不知道解决这个问题的方法是什么。

我需要像分析字母行一样的东西,但即使这样,我也无法确定行是否是颠倒的。

3 个答案:

答案 0 :(得分:1)

我对你的回答将是非常高的,因为这并不简单,你可以想象。您可能正在进行某种图像分割,您可以在其中分割文本的每个字符。但是为了识别字符,即使它们被旋转,您也需要使用具有旋转不变特征的特征向量。为此,有些人正在使用

Zernike Moment

Neocognitron neural network - 广泛用于手写

我认为这不是一项简单的任务

答案 1 :(得分:1)

如果您正在进行OCR的图像来自杂志或书籍,其中多行有大量文字,我建议您尝试查找页面的旋转。

可能最简单的方法是对线应用霍夫变换。由于每行文本之间的空白区域应该是宽白线,因此可以在不对图像进行任何预处理的情况下工作。否则,请尝试模糊或使用“关闭”形态操作将文本行变为不透明块。

使用霍夫变换找到图像中的线条后,您应该只提取主旋转角度(如所有线条的平均角度)并将其旋转回来。

答案 2 :(得分:1)

不确定您是创建OCR引擎还是使用OCR引擎。大多数商用OCR引擎可以检测到页面颠倒(或旋转90度)并自动旋转。例如,我公司的GlyphReader OCR Engine可以做到这一点。

一个简单的解决方案是拍摄一部分图像并以四个角度通过引擎运行,直到您获得大量已识别的文本。您可以使用字典来查看您获得的内容是否是单词和置信水平,以了解引擎是如何确定的。

如果您的引擎可以报告置信水平,并且他们的报告始终低于某个阈值,那么您应该停止并查看文档是否已轮播。

对于90和270,霍夫变换将告诉您图像中的线条是水平线还是垂直线。它还可以告诉您它们是否只是略微旋转离开水平线,以便您也可以纠正它。