python高斯噪声
时间: 2023-08-16 14:16:34 浏览: 102
在Python中,可以使用numpy和OpenCV库来生成高斯噪声。首先,你可以使用numpy库中的random.normal函数来生成一个呈高斯分布的噪声矩阵。然后,将这个噪声矩阵与原始图像进行相加,得到加噪后的图像。最后,使用OpenCV库中的imwrite函数将加噪后的图像保存为文件。
下面是一个示例代码,展示了如何在Python中生成高斯噪声:
```python
import numpy as np
import cv2
import random
def main(path):
img = cv2.imread(path)
gn_img = gauss_noise(img, 0, random.randint(15, 30))
cv2.imwrite('gauss_noise.png', gn_img)
def gauss_noise(img, mean=0, sigma=25):
image = np.array(img / 255, dtype=float)
noise = np.random.normal(mean, sigma/255.0, image.shape)
out = image + noise
res_img = np.clip(out, 0.0, 1.0)
res_img = np.uint8(res_img * 255.0)
return res_img
if __name__ == '__main__':
if len(sys.argv) == 2:
main(sys.argv\[1\])
```
在这个示例代码中,首先使用cv2.imread函数读取原始图像,然后调用gauss_noise函数生成高斯噪声图像。最后,使用cv2.imwrite函数将加噪后的图像保存为名为"gauss_noise.png"的文件。
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和调整。
#### 引用[.reference_title]
- *1* [用python给数据加上高斯噪声](https://blog.csdn.net/sinat_24259567/article/details/93889547)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)](https://blog.csdn.net/qq_45832961/article/details/122309422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [python3图像加高斯噪声](https://blog.csdn.net/zengNLP/article/details/128033497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文