给出椒盐噪声常见的代码
时间: 2023-07-09 20:31:02 浏览: 46
以下是一段常见的Python代码,用于向图像中添加椒盐噪声:
```python
import numpy as np
import random
import cv2
def add_salt_pepper_noise(image, salt_ratio=0.5, pepper_ratio=0.5):
"""
添加椒盐噪声
:param image: 原始图像
:param salt_ratio: 盐噪声比例
:param pepper_ratio: 椒噪声比例
:return: 添加噪声后的图像
"""
h, w = image.shape[:2]
mask = np.zeros((h, w), np.uint8)
salt_num = int(h * w * salt_ratio)
pepper_num = int(h * w * pepper_ratio)
mask[:salt_num] = 255
mask[salt_num:salt_num+pepper_num] = 128
np.random.shuffle(mask)
noisy_image = np.copy(image)
noisy_image[mask == 255] = 255
noisy_image[mask == 128] = 0
return noisy_image
```
该函数将原始图像作为输入,并使用指定的盐和椒噪声比例向其添加椒盐噪声。它生成一个与原始图像大小相同的掩膜,其中包含随机分布的白色和灰色像素点。最后,函数将掩膜应用于原始图像,将白色像素点设置为255(表示盐噪声)和灰色像素点设置为0(表示椒噪声)。