当背景颜色和文本颜色几乎相似时 OCR 不工作

OCR not working when background color & text color almost similar

我们在尝试扫描包时遇到了一个问题。这背后的主要原因是刺绣的包上的文字颜色几乎与包的颜色相同。所以它不能准确扫描包上写的文字。

为了得到实际的想法,我附上了图片。

在附图中,我们要扫描包的 ID (D1 150491)。让我知道我们是否需要额外努力来扫描此类图像。

注意:我们已经尝试了两个SDK

正如在对您的问题的评论中所建议的,除了 pre-processing 您的图像之外,真的没有什么可以做的。 Google Cloud Vision API(可能还有所有其他 OCR 平台)将无法识别文本,例如您在此图像中显示的文本。

为了提高对像这样的图片的识别,你应该应用一些pre-processing技巧,其中你可以考虑(但不限于)评论中提到的那些:

  • 应用过滤器: 边缘检测,使用一些流行的方法,例如 Canny 或 Sobel(有一些例子 here)。
  • 图像二值化:包括在图像的灰度级中设置一个阈值,这样背景有一种颜色(白色或黑色)和字母有另外一个。你可以看看一些例子 here,虽然我不认为这对你的情况有用,因为字母的灰度级和图像的其余部分看起来很相似(只有一点点亮度由于其体积的字母)。
  • 试一试: 改变图像的亮度和对比度,您可能会得到一些结果。然而,这个过程很难自动化,并且相同的值可能不适用于不同的图像。

简而言之,没有简单的方法可以做到这一点,您必须 pre-process 图像才能获得 Vision 背后的模型实际上可以理解的东西 API .

这张图片有 captcha-level 难度 -- 你不能要求 pre-trained 模型来识别它。

似乎这些角色让我松了一口气——如果我手里拿着这些袋子,我会想办法用身体来拍这个,就像把一个袋子放在湿沙子里一样。如果您事先知道每个位置上可能的格式和符号,那么您也很幸运。

我的任务不同 - 检测刻在金属表面上的非常小的序列号。在我的案例中,对我帮助最大的基本上是两件事: 1. 用手机拍摄照片并开启 LED。大幅增加对比度。 2. 使用 CLAHE(Google 它)作为额外的对比度增强。它极大地帮助了 Google 视觉 OCR 识别。