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

12

我完全不熟悉Tesseract OCR。这个问题可能很简单,但我在谷歌上找不到答案。

基本上,我有一张图像包含两个部分:图像的顶部是黑色背景,白色文字;底部是白色背景,黑色文字。

我对图像运行了Tesseract,它正确识别了底部所有字符,但无法识别顶部的任何字符。我确定顶部的字符非常清晰,Tesseract应该很容易识别。唯一的区别是它有黑色背景。

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

1个回答

13
T. Kasar、J. Kumar和A.G. Ramakrishnan的一篇论文提出了一个解决方案:"无关字体和背景颜色的文本二值化"。您可以在这里找到该论文:这里。 Jason Funk实现了算法。他的实现可以在这里找到。
我已经尝试过该算法,取得了一些成功。我认为这种类型的解决方案是您正在寻找的。
您可能会发现最近有人就去除背景的问题(OpenCV for OCR: How to compute thresholding levels for gray image OCR)及其答案很有帮助。您可以通过背景颜色将感兴趣的区域分离开,并将每个区域手动处理给tesseract。或者,在二值化之后,您可以反转图像中黑色背景部分(或相反),以创建统一的背景。
最后,您可以搜索解决车牌识别问题(或许可牌照)的解决方案,可能会发现一些有用的信息。许多车牌(牌照)都有干扰识别的背景图像或照明伪影。更一般的问题是去除背景。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接