【问题标题】:Character Segmentation fails on 'W'字符分割在“W”上失败
【发布时间】:2017-11-15 23:32:49
【问题描述】:

我正在使用 OpenCV 对包含任意字符和数字的打印代码进行 OCR。我的管道涉及阈值、去噪、梯度形态学,然后找到轮廓以便在每个字母周围放置一个边界框。

它工作得很好,除非代码中出现“W”。它通常放置 2 或 3 个边界框,以便预测为“VAV”或“VV”,老实说,当我累了时,我自己的眼睛可能会犯这个错误。

有没有人知道如何最好地解决这个问题?我可以相当肯定,许多代码中都出现了“W”,需要对其进行正确分割。感谢您的帮助!

【问题讨论】:

  • 发布您的代码和示例图片。

标签: opencv ocr contour


【解决方案1】:

至少在我的情况下,我找到了一个有效的解决方案。我迭代地计算相邻边界框的相对重叠,结合重叠大于指定阈值(在我的例子中为 0.15)的边界框。这对我的数据非常有效。

这里以裁剪为例:

【讨论】:

    【解决方案2】:

    尝试在找到轮廓之前对图像进行形态膨胀。这将帮助您将字母 W 的所有部分合并为一个 blob,从而防止它被识别为多个字母。

    【讨论】:

    • 不幸的是,形态扩张对分割“W”的改进很小,并且还导致“J”和“O”被合并。但我为我的情况找到了另一种解决方案
    • 我很高兴你设法解决了你的问题。请分享您的数据的屏幕截图,以便我们都能看到问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2011-03-26
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多