Java 当您知道文本的字体和大小时,如何从图像中读取文本

Java 当您知道文本的字体和大小时,如何从图像中读取文本,java,ocr,Java,Ocr,我在Java中工作,试图从图像中读取文本。我知道文字的字体和大小,小到8磅。这些不是扫描的图像,文本永远不会倾斜或斜体等。我已经研究了基于Java的OCR,但我真的不需要整个OCR库/程序,我希望自己编写它 我搜索查看是否已询问此问题,已将我带到此处:。我真的不知道如何进行区域匹配 我尝试的解决方案是首先调整对比度/亮度或以其他方式消除抗锯齿,然后使用每个字符之间的空垂直像素线作为分隔符将图像分割为字符图像,然后使用某种算法分别匹配每个字符。问题是我发现一些字母对之间没有任何空间来确定一个字母的

我在Java中工作,试图从图像中读取文本。我知道文字的字体和大小,小到8磅。这些不是扫描的图像,文本永远不会倾斜或斜体等。我已经研究了基于Java的OCR,但我真的不需要整个OCR库/程序,我希望自己编写它

我搜索查看是否已询问此问题,已将我带到此处:。我真的不知道如何进行区域匹配

我尝试的解决方案是首先调整对比度/亮度或以其他方式消除抗锯齿,然后使用每个字符之间的空垂直像素线作为分隔符将图像分割为字符图像,然后使用某种算法分别匹配每个字符。问题是我发现一些字母对之间没有任何空间来确定一个字母的起始位置和另一个字母的结束位置

下面是一个文本示例。“f”字符是在它们之间没有空格的字符的示例。

如果你确实找到了第一个f,为什么不停下来,给它一个你知道的检查点,继续搜索呢。使其适用于所有不需要的连接 1.您可以使用最佳匹配的检查点
2.当你输了一场比赛后,你可以继续前进,从你通过简单地签入得到的初始点和最终点开始来回移动。

你不能简单地将ff作为一个字符,使用算法来识别它,然后再将其拆分为f吗?换句话说,把没有空格的字符当作一个字符,给你一个超过26个字母的字母表,然后把它们分开?我也想到了。请注意,虽然“f”和“e”之间没有空格,但也可能有其他具有该特征的字母/符号,因此可能有无限多的子字符串需要再次拆分。