使用Tesseract检测黑色背景上的白色字符

时间:2016-08-17 17:32:23

标签: tesseract

我是Tesseract OCR的新手。这个问题可能很简单,但我似乎无法使用谷歌找到答案。

基本上,我有一个包含两个部分的图像:第一部分位于图像的顶部,黑色背景,文本为白色;第二部分位于图像的底部,背景为白色,背景为黑色。

我在图像上运行了tesseract,它正确识别了底部的所有字符,但顶部没有。我确信顶部的字符非常清晰,并且应该很容易被Tesseract识别。唯一的区别是它有黑色背景。

有没有办法使用Tesseract同时识别黑白背景中的文字?

1 个答案:

答案 0 :(得分:6)

T. Kasar,J。Kumar和A. G. Ramakrishnan撰写的论文描述了该问题的一种解决方案:“字体和背景颜色独立文本二值化”。可以找到该论文here。 Jason Funk实现了该算法。他的实施可以找到here。 我在算法上取得了一些成功。我认为这种解决方案正是您所寻找的。

您可能还会发现查看有关背景消除(OpenCV for OCR: How to compute thresholding levels for gray image OCR)及其答案的最近询问的问题会很有帮助。您可以通过背景颜色分离感兴趣的区域,然后将每个区域交给tesseract进行处理。或者,在二值化后,您可以在图像的黑色背景部分(或副图对比)中反转8x8像素区域(在上面的答案中描述),以创建统一的背景。

最后,您可以通过搜索车牌识别问题(或车牌)的解决方案找到一些有用的信息。许多车牌(牌照)具有可能干扰识别的背景图像或照明伪影。更普遍的问题是背景消除。