给灰度图像2人为地加上高斯噪声得到带噪声的图像3的Python代码
时间: 2024-10-10 17:12:50 浏览: 35
对灰度图像添加高斯噪声和椒盐噪声_使用字典学习和深层字典学习进行图像去噪_python
5星 · 资源好评率100%
在Python中,给灰度图像添加高斯噪声通常会用到`numpy`库,结合`gaussian_filter`函数来自`scipy.ndimage`模块。以下是一个简单的例子:
```python
import numpy as np
from scipy.ndimage import gaussian_filter
# 假设你已经有了一个灰度图像,这里用数组表示,名为gray_img
gray_img = ... # 一个灰度图像的二维numpy数组
# 定义噪声标准差(sigma),可以根据需要调整这个值
noise_sigma = 5 # 高斯噪声的强度
# 将灰度图像转换为浮点型以便于添加噪声
noisy_img = gray_img.astype(np.float64)
# 添加高斯噪声
noisy_img += np.random.normal(loc=0, scale=noise_sigma, size=gray_img.shape)
# 由于`gaussian_filter`是对信号进行平滑处理,而不是直接添加噪声,我们也可以选择先平滑再添加噪声,例如:
# noisy_img = gaussian_filter(gray_img, noise_sigma) + np.random.normal(loc=0, scale=noise_sigma, size=gray_img.shape)
# 如果你想保持像素值在0-255范围内,需要对结果进行clip操作
noisy_img = np.clip(noisy_img, a_min=0, a_max=255)
# 这里生成的`noisy_img`就是带噪声的图像
```
请注意,这里的代码假设`gray_img`已经是一个灰度图像的数组,并且你可以根据实际需求修改`noise_sigma`的值。此外,如果`gray_img`不是整数类型的,`astype(np.float64)`是为了能够进行数值计算。
阅读全文