添加椒盐噪声的python代码
时间: 2024-10-21 19:11:43 浏览: 24
在Python中,添加椒盐噪声通常涉及到随机选择一些像素并设置它们的值为最大(白色)或最小(黑色)。以下是一个简单的椒盐噪声生成函数的例子:
```python
def add_salt_and_pepper(image, salt_percent=0.05):
height, width = image.shape
num_salt = int(height * width * salt_percent)
num_pepper = int(height * width * (1 - salt_percent))
# 创建椒盐噪声
mask = np.zeros_like(image, dtype=bool)
coords = [
np.random.randint(0, height, size=(num_salt)),
np.random.randint(0, width, size=(num_salt)),
]
mask[tuple(coords.T)] = True
image[mask] = 255
mask = np.invert(mask)
coords = [
np.random.randint(0, height, size=(num_pepper)),
np.random.randint(0, width, size=(num_pepper)),
]
mask[tuple(coords.T)] = True
image[mask] = 0
return image
# 使用此函数添加噪声到灰度图像
gray_image = ... # 你的灰度图像数据
noisy_image = add_salt_and_pepper(gray_image, 0.05) # 调整噪声比例
```
在这个例子中,`salt_percent`参数控制了噪声的多少,范围通常是0到1之间的小数,其中1表示所有像素都有可能出现噪声。函数会随机选择像素并将它们变为白色(255)或黑色(0),模拟椒盐噪声的效果。
注意,这个函数假设输入的是一个二维数组,例如OpenCV中的灰度图像。如果你需要添加噪声到彩色图像上,可以先将其转换为灰度图像再进行处理。
阅读全文