OpenCV 中的连接字符分割

Rav*_*vul 6 ocr opencv image-segmentation

有什么好的方法可以分割如下图统一的字符,知道:

  • 字符有此字体,但字体大小因图像大小而异
  • 仅连接图像中孤立的字符组

在此处输入图片说明

另外,我如何检测在给定的边界框中是否有 2 个或更多的字母连接?

我尝试检查宽度 > 高度以检测连接的字符,但它不适用于图像中的蓝色组。

我还尝试了一种基于:文章第 3.4 节 用于分隔字符的分割方法, 但结果不佳。

bac*_*aci 6

IDEA:如果您已经有一个好的 ocr,您可以尝试应用 ocr 所有这些连接的组件(或轮廓)。如果 ocr 无法检测到字母;不是 1 个字母,而是 2 个或更多。

想法:检查这些连接组件的凸性缺陷,最近的缺陷点是桥所在的位置。

想法:使用小宽度和大高度的内核进行侵蚀+膨胀(形态开口

想法:取图像的 y 导数。剩下的最小轮廓(或线条)将是您的桥梁。标记它们并从原始图像中删除这些像素。

IDEA:搜索问题方法:从字母表中取出2个字母(以及这个字体),用某种工具将它们水平连接,然后使用opencv的matchShapes方法(矩匹配)来查找该形状是否与您连接的组件匹配。或者尝试实现自相关

祝你好运。