【发布时间】:2013-06-04 01:41:51
【问题描述】:
我正在使用 Java 并尝试从图像中读取文本。我知道文本的字体和大小(小,8pt)。这些不是扫描的图像,文本永远不会倾斜或斜体等。我研究过基于 Java 的 OCR,但我真的不需要整个 OCR 库/程序,我还是想自己写。
我的搜索,看看是否有人问过这个问题已经把我带到了这里:Text Extraction from an Image Using java。我真的不知道如何进行区域匹配。
我尝试的解决方案是首先调整对比度/亮度或以其他方式摆脱抗锯齿,然后使用每个字符之间的空像素垂直线作为分隔符将图像拆分为字符图像,然后使用一些算法单独匹配每个字符。问题是我发现一些字母对之间没有任何空格来确定一个开始和另一个结束的位置。
这是文本的示例。 “f”字符是它们之间没有空格的字符示例。
【问题讨论】:
-
你能不能简单地将“ff”作为一个字符,使用一种算法来识别它,然后再将其拆分为“f”“f”?换句话说,把没有空格的字符当作一个字符,给你一个超过26个字母的字母表,然后再拆分?
-
我也是这么想的。还要注意,“f”和“e”之间没有空格。可能还有其他具有该特征的字母/符号,因此必须再次拆分无限数量的可能子字符串。