2

我制作了图案:带有不同大小的“A”字母的图像(从12到72:12、14、..、72)并且我测试了图案匹配的方法,它给出了很好的结果。从图像中选择文本区域的一种方法是对所有大小不同的字母和数字运行该算法。还有字体!我不喜欢它。取而代之的是,我想做一个通用模式或更好的说法:扫描具有不同窗口大小的图像并选择某些功能(该窗口中存在字符的概率)大于某个固定值的区域。您知道实现该功能的任何方法或想法吗?它必须与原始图像(灰度)一起使用。

4

1 回答 1

2

我想你正在开发 OCR,对吧?

您决定采用非常不寻常的方式,因为其他人都在双色调图像上进行匹配。这使一切变得更加简单。一旦你正确地降低了它(这本身就是一项非常困难的任务),你就不必处理不同的亮度级别,照顾不均匀的背景等。当然,需要更少的计算资源。然而,在灰度中做所有事情实际上是你的目标,你想向其他 OCR 科学家展示它实际上是可行的 - 好吧,我祝你好运。

您描述的字母位置的方法非常非常计算密集。您必须扫描整个图像(image_size^2),然后与模式匹配(* pattern_size^2),然后为每个模式(* pattern_num)进行匹配。这将非常缓慢。

而是尝试简化您的算法,将其分为两个阶段。首先应该在图片上寻找一些特征(比如连接的暗区域,或者在大方块上分割图像并丢弃所有亮的区域),然后才对少量找到的区域进行模式匹配。这至少是 N^2,您可以尝试降低复杂性以首先处理图像的行或列(通过创建直方图)。因此,您可以尝试使用许多不同的简化方法。

在您在图片上找到这些对象并匹配它们上的图案后,您实际上知道它们的大小,因此您不必存储所有尺寸的字母 A,您只需将对象的原始图像重新缩放为 72 的大小,并匹配它。

至于字体——你实际上没有太多选择,你需要匹配所有可能的 A 形状以确保你找到了 A。但是一旦你只匹配一个大小的 A——你就有更多的计算能力可以尝试不同的A。

于 2010-09-23T09:52:08.333 回答