【发布时间】:2019-04-17 01:22:24
【问题描述】:
我有这个示例裁剪图像:
我需要使黑色粗线(水平和垂直)消失或提取,同时保持所有其他信息不变。这些特定的线条是 4 或 5 像素厚。我试过了:
- 如果图像被读取为 NumPy 数组,则对具有更多零/一的行进行简单过滤,但过滤条件不会终止,直到单行剩下零或一。
- 使用简单内核 (3,3) 进行侵蚀,但会留下一些噪音,因为有些符号也是厚黑色
- 使用图像宽度宽度的线结构元素进行膨胀,但连接不同符号的线段大小存在压倒性差异,导致每个小线段的基本信息丢失。
有人可以就什么样的结构元素、应该考虑什么样的形态学操作或任何其他聪明的启发式方法提供见解或指导?如果 提取了粗黑线,输出将看起来像这个随机线段网格:
【问题讨论】:
-
你所说的“粗黑线”……它们的高度或宽度似乎比其他线高,是吗?
-
你应该研究一下霍夫变换——腐蚀后,可能检测到左边的直线
-
侵蚀,然后是lineSegmentDetector呢?希望噪音不会形成线段?
-
作为图片的理想解决方案会有所帮助,否则例如“粗横线”是模棱两可的。
-
我认为预期的输出是可取的......否则我们都会提出可能不是您想要的解决方案。请更新您的问题以提供预期的输出。
标签: matlab opencv image-processing image-morphology