【发布时间】:2021-06-01 14:34:04
【问题描述】:
所以我有一堆直线形成各种形状的图像。然而,这些直线往往不是很直,因为底层源通常在像素之间有这些线。在这种情况下,底层源会产生靠近一条线的像素。在这种情况下,我希望移除这些额外的像素。
这里有一张源图片:
这里我们对相同的图像进行了去噪:
我正在使用 houghline 变换或去噪算法,但这些算法都不能很好地工作,感觉应该有一个很好的方法来解决这个问题,使用这些是线条而不是普通辣椒的具体事实和盐噪声。
我现在正在使用 python,但其他语言的答案是可以接受的。
【问题讨论】:
-
欢迎任何建议甚至不完整的答案,如果您有任何问题,请发表评论,以便我回答/添加信息。
-
理想情况下,您应该在阈值处理之前对图像进行降噪。但是鉴于您在此处拥有的图像,使用水平和垂直线结构元素应用闭合应该可以解决问题(或将两个结果放在一起)。
-
@CrisLuengo 是的,在阈值之前去噪是理想的,但是底层源实际上是一个仅近似阈值算法的神经网络(它实际上是一个相当复杂的系统,它根据周围的环境标记单个像素。)
-
yoz 可以提取每个轮廓并尝试独立平滑两个方向:沿轮廓和垂直于轮廓。
标签: python opencv image-processing computer-vision