2010-04-08 29 views
2

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

回答

2

我想你正在开发的OCR,对不对?

你决定去相当不寻常的道路,因为每个人都在黑白图像进行匹配。这使得一切变得更简单。一旦你正确降解它(这本身就是非常困难的任务),你不必处理不同的亮度级别,照顾不均匀的背景等。当然,需要更少的计算资源。然而,做灰度级事情实际上是您的目标,您想向其他OCR科学家展示它实际上是可行的 - 那么,祝您好运。你描述的字母位置的

做法是极极极计算intesive。你必须扫描整个图像(image_size^2),然后匹配模式(* pattern_size^2),然后为每个模式(* pattern_num)执行。这将非常慢。

而是尽量简化你的算法来打破它分为两个阶段。首先应该在图片上寻找一些特征(例如连接的黑暗区域,或者在大方块上分割图像并丢弃所有亮块),然后才能在少量找到的区域上执行图案匹配。这至少是N^2,并且您可以尝试降低复杂性,以便首先处理图像的行或列(通过创建直方图)。所以有很多不同的简化方法可供您尝试。

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

至于字体 - 在这里你没有太多的选择,你需要匹配A的所有可能的形状,以确保你找到答案。但是,一旦你匹配A的一个尺寸 - 你有更多的计算能力来尝试不同的A。