有啥方法可以检测一行文本上的划痕吗?

Posted

技术标签:

【中文标题】有啥方法可以检测一行文本上的划痕吗?【英文标题】:Is there any method to detect a scratch on a line of text?有什么方法可以检测一行文本上的划痕吗? 【发布时间】:2022-01-24 05:17:48 【问题描述】:

现在我有一个包含多行文本的标签,如下所示。我想找到一种方法来检测一行(第一行和最后一行)是否有划痕。任何建议,谢谢。

【问题讨论】:

欢迎来到 Stack Overflow。请阅读How to Ask。如果您已经有一些读取文本的设置,您应该显示一些代码。如果您正在寻找可以为您处理此问题的工具,那么这不是主题 - 我们在这里不做这样的建议。 首先你需要在标签上建立一个坐标系,所以它是直立的。 然后您只需扫描像素行并查看是否有任何墨水。如果不是,那台打印机的像素坏了。 ——如何去整顿图片才是更大的问题。您可以从将字形关联到文本行中找到一条水平线。或者您可以尝试检测条形码并从中工作。 -- 你的照片不仅仅是透视图。它还变形了。祝你好运。 不是微不足道的。 如果您查看标签的 OCR,则应改为训练 OCR 以容忍这些缺陷。 【参考方案1】:

假设文本行水平对齐。

对黑色文本设置阈值以获得蒙版。 计算图像每行中的黑色像素。这会为您提供一个包含行数的向量。 在此向量中,您应该看到一个由小值和高值组成的模式 表示空线和实线。 划痕是两个高值之间的小值。

另一种方法是使用霍夫变换拟合一条线: https://learnopencv.com/hough-transform-with-opencv-c-python/

【讨论】:

以上是关于有啥方法可以检测一行文本上的划痕吗?的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以检测驱动器是不是为 SSD?

根据内容检测文本方向

图像中的文本定位有啥好的算法吗?

IOBluetooth 和 IOBluetoothUI 库检测不同的外设,它们之间有啥区别吗?

有啥方法可以让 PHP 检测到损坏的图像?

有啥方法可以检测到 Ctrl + S?