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

Detect white characters on black background using Tesseract

我对 Tesseract OCR 完全陌生。这个问题可能很简单,但我似乎无法使用 Google.

找到答案

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

我 运行 对图像进行正方体测试,它正确识别了底部的所有字符,但 none 识别了顶部的所有字符。我确信顶部的字符非常清晰,应该很容易被 Tesseract 识别。唯一的区别是它有黑色背景。

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

T. Kasar、J. Kumar 和 A. G. Ramakrishnan 的一篇论文描述了该问题的一种解决方案:"Font and Background Color Independent Text Binarization"。可以找到该论文 here. There is an implementation of the algorithm by Jason Funk. His implementation can be found here。 我在算法方面取得了一些成功。我认为这种解决方案就是您要找的。

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

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