2016-06-18 94 views
1

这里的形状的图像:如何从白色区域去除噪声,又不失白色区域

enter image description here

我想删除白色区域内的噪声不失白色的形状地区。我试过扩张,但影响白色区域的形状。我也尝试过扩张,然后进行侵蚀,这也是同样的问题 - 白色区域的形状受到影响。

+1

您可以尝试使用某种边缘检测算法来找到白色区域的轮廓,然后就往里面白色。看起来图像在边界附近有黑色的噪音,这会使噪音与背景在这些区域中的区分更加困难。 – BrenBarn

+0

有趣。我会给它一个!拉普拉斯可能会很好地检测到边缘。 – Metal

回答

-1

如果黑色区域确实如此干净,您可能需要尝试选择大的黑色区域,例如与洪水填充,并将其设置为白色。

0

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

无论如何:

你提到保留边界边缘。在保留边缘的同时去除图像中脉冲噪声的去往滤波器是中值滤波器。 下面是一些蟒蛇,这是否与你的形象

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是一个非常大的过滤器大小(需要一段时间来执行),我选择了它夸大你的图像效果。微小的斑点被删除,极端值(黑色或白色)被灰色所取代。锋利的边缘被保留。尽管如此,这次手术还是有很多非白色的东西。

image after a 20x20 median filter