【问题标题】:How to remove noise from a white region, without losing the shape of the white region如何在不丢失白色区域形状的情况下从白色区域中去除噪声
【发布时间】:2016-06-18 23:21:54
【问题描述】:

图片如下:

我想在不丢失白色区域形状的情况下去除白色区域内的噪点。我试过膨胀,但这会影响白色区域的形状。我也尝试过先膨胀再腐蚀,还是同样的问题 - 白色区域的形状受到影响。

【问题讨论】:

  • 您可以尝试使用某种边缘检测算法来找到白色区域的轮廓,然后将其填充为白色。看起来图像在边界附近有黑色噪点,这将使从这些区域的背景中区分噪点本质上变得更加困难。
  • 有趣。我会试一试!拉普拉斯算子可能会很好地检测边缘。

标签: python opencv numpy image-processing


【解决方案1】:

如果黑色区域真的像看起来那样干净,您可能想尝试选择大的黑色区域,例如使用洪水填充,并将反转设置为白色。

【讨论】:

    【解决方案2】:

    您的问题不清楚什么是“噪音”。在我看来,椭圆形内的黑色东西看起来不像纯粹的噪音。

    无论如何:

    您提到保留边界边缘。在保留边缘的同时从图像中去除脉冲噪声的首选滤波器是中值滤波器。 这是一些对您的图像执行此操作的python

    from matplotlib import pyplot as plt
    from skimage.io import imread
    from scipy.ndimage.filters import median_filter
    img = imread("your-image.jpg")
    filtered = median_filter(img, size=20)
    plt.figure()
    plt.imshow(img)
    plt.figure()
    plt.imshow(filtered)
    plt.show()
    

    20 是一个异常大的过滤器尺寸(执行需要一段时间),我选择它是为了夸大对图像的影响。去除微小的斑点,用灰色代替极值(黑色或白色)。锋利的边缘被保留。不过这次手术后还有很多非白色的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多