识别图像中的数字

我一直在寻找网络上图像识别数字的资源。我发现许多链接提供了有关该主题的大量资源。但不幸的是,这比提供帮助更令人困惑,我不知道从哪里开始。

我有一个带有5个数字的图像,没有打扰(没有验证码或类似的东西)。数字在白色背景上为黑色,以标准字体书写。

我的第一步是分离数字。我当前使用的算法非常简单,它只是检查一列是否完全为白色,因此是否为空格。然后,它会修剪每个字符,以使其周围没有白色边框。这很好。

但是现在我对数字的实际识别感到困惑。我不知道猜测正确的最佳方法是什么。我不认为直接与字体进行比较是个好主意,因为如果数字仅略有不同,它将不再起作用。

谁能给我一个有关如何完成此操作的提示?

这个问题无关紧要,但是我将用C#或Java实现。我找到了一些可以完成这项工作的库,但是我想自己实现它,以学习一些东西。

回答:

为什么不考虑使用Tesseract之类的开源OCR引擎呢?

http://code.google.com/p/tesseract-ocr/

http://www.pixel-technology.com/freeware/tessnet2/

http://sourceforge.net/projects/tessocrinjava/

尽管您可能不考虑自己使用第三方库来实现它,但仅集成第三方工具就有大量工作要做。还请记住,看似简单的事情(识别数字5与数字6)通常非常复杂;我们正在谈论成千上万行复杂的代码。至少,请查看tesseract的源代码,这将为您提供充分利用第三方库的充分理由。

这是另一个SO问题,可为您提供有关所涉及算法的一些想法:

https : //stackoverflow.com/questions/850717/what-are-some-popular-ocr-

algorithms

以上是 识别图像中的数字 的全部内容, 来源链接: utcz.com/qa/420284.html

回到顶部