图像噪声1)调入并显示原始图像;2)利用noise命令在图像上加入高斯(gaussian)噪声;3)调节高斯分布标准差(sigma)的大小来控制添加噪声程度;4)保存图像;4)显示图像。
时间: 2024-05-12 13:14:18 浏览: 15
以下是Python代码实现该任务:
``` python
import cv2
import numpy as np
# 读取原始图像
img = cv2.imread('lena.png')
# 添加高斯噪声
mean = 0
sigma = 50 # 可以根据需要调整噪声程度
noise = np.random.normal(mean, sigma, img.shape)
img_noise = img + noise
# 将图像像素值限制在0-255之间
img_noise = np.clip(img_noise, 0, 255)
# 保存图像
cv2.imwrite('lena_noise.png', img_noise)
# 显示原始图像和添加噪声后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Noisy Image', img_noise)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在以上代码中,我们首先读入了原始图像,然后利用 `numpy` 库的 `random.normal()` 函数生成了高斯噪声,接着将噪声加到原始图像上,并将像素值限制在0-255之间,最后将添加噪声后的图像保存,同时显示原始图像和添加噪声后的图像。可以通过调整 `sigma` 的值来控制添加噪声的程度。
相关问题
图像噪声 1.调入并显示原始图像; 2.利用noise命令在图像上加入高斯(gaussian)噪声; 3.调节高斯分布标准差(sigma)的大小来控制添加噪声程度; 4.保存图像; 5.显示图像。
以下是Python中使用OpenCV库实现上述操作的代码:
```python
import cv2
import numpy as np
# 1. 调入并显示原始图像
img = cv2.imread('path/to/image.jpg')
cv2.imshow('Original Image', img)
# 2. 利用noise命令在图像上加入高斯(gaussian)噪声
mean = 0
sigma = 50
noise = np.random.normal(mean, sigma, img.shape)
noisy_img = img + noise.astype(np.uint8)
# 3. 调节高斯分布标准差(sigma)的大小来控制添加噪声程度
# 可以通过修改sigma的值来控制噪声程度,值越大,噪声越多
# 4. 保存图像
cv2.imwrite('path/to/noisy_image.jpg', noisy_img)
# 5. 显示图像
cv2.imshow('Noisy Image', noisy_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先使用`cv2.imread()`函数读入原始图像,并使用`cv2.imshow()`函数显示原始图像。然后,我们使用`np.random.normal()`函数生成指定均值和标准差的高斯噪声,并将其添加到原始图像中,得到带噪声的图像。接着,我们使用`cv2.imwrite()`函数将带噪声的图像保存到本地文件中,并使用`cv2.imshow()`函数显示带噪声的图像。
通过调节`sigma`的值,我们可以控制添加噪声的程度。值越大,噪声越多。
1)调入并显示原始图像;2)利用blur命令对图像进行均值滤波;3)利用GaussianBlur命令对噪声程度图像进行高斯滤波;4)创建窗口;4)显示图像。
以下是Python代码实现:
```python
import cv2
# 调入并显示原始图像
img = cv2.imread('image.jpg')
cv2.imshow('Original Image', img)
# 利用blur命令对图像进行均值滤波
blur_img = cv2.blur(img, (5, 5))
cv2.imshow('Blurred Image', blur_img)
# 利用GaussianBlur命令对噪声程度图像进行高斯滤波
gaussian_img = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('Gaussian Blurred Image', gaussian_img)
# 创建窗口并显示图像
cv2.namedWindow('Image', cv2.WINDOW_NORMAL)
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread()`函数用于调入图像,`cv2.imshow()`函数用于显示图像,`cv2.blur()`函数用于进行均值滤波,`cv2.GaussianBlur()`函数用于进行高斯滤波,`cv2.namedWindow()`函数用于创建窗口。`cv2.waitKey(0)`函数用于等待用户按下任意键,`cv2.destroyAllWindows()`函数用于关闭所有窗口。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)