我有一个OCR项目,但它只适用于图像,其中的文字是相当直,而不是倒置。(不是旋转文本),所以我想让OCR能够识别任何类型的图像,即使是颠倒的。但我不知道解决这个问题的方法是什么。
我需要一些东西,比如分析字母行,但即使这样,我也不能识别行是否颠倒。
发布于 2010-02-20 06:27:42
如果您正在执行OCR的图像来自杂志或书籍,其中有很多文本在多行上,我建议您尝试找出页面的旋转。
要做到这一点,最简单的方法可能是对线应用hough变换。由于每行文本之间的空白应该是一条宽大的白线,这可以在不对图像进行任何预处理的情况下工作。否则,尝试模糊它或使用“关闭”形态学操作,使文本行成为不透明的块。
使用hough变换找到图像中的线条后,只需提取主要旋转角度(如所有线条的平均角度)并将其旋转回来即可。
发布于 2010-02-19 21:50:23
我对你的回答将是非常高水平的,因为这并不简单,正如你所想象的那样。您可能正在进行某种类型的图像分割,即分割文本的每个字符。但为了识别字符,即使字符被旋转,也需要使用具有旋转不变特征的特征向量。为了做到这一点,有些人使用
Zernike矩
Neocognitron neural network -广泛用于手写
我不认为这是一项简单的任务
发布于 2010-03-02 20:55:24
不确定您是在创建OCR引擎还是在使用OCR引擎。大多数商业OCR引擎可以检测到页面颠倒(或90度旋转)并自动旋转它。例如,我公司的GlyphReader OCR Engine可以做到这一点。
一个简单的解决方案是获取图像的一部分,并从四个角度通过引擎运行它,直到您获得大量识别的文本。您可以使用字典来查看您返回的是否是单词和置信度,以查看引擎对其识别的确定程度。
如果您的引擎可以报告置信度级别,并且它们始终低于某个阈值,那么您应该停下来查看文档是否旋转。
对于90和270,hough变换将告诉您图像中的线条是水平的还是垂直的。它还可以告诉你,如果它们只是稍微偏离水平方向,那么你也可以纠正这一点。
https://stackoverflow.com/questions/2296568
复制相似问题