python对图像astronaut.tif原图像加入高斯噪声,用滤波处理图像(图像四周边界不处理,下同),同屏显示原图像、加噪图像和处理后的图像。
时间: 2024-05-04 15:17:28 浏览: 67
大型多视角高斯模型LGM:5秒产出高质量3D物体论文
好的,我可以帮你解决这个问题。首先,我们需要导入一些必要的库:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy import ndimage
from skimage import io
```
接着,我们需要加载astronaut.tif图像并显示:
```python
image = io.imread('astronaut.tif')
plt.imshow(image, cmap='gray')
plt.title('Original Image')
plt.show()
```
然后,我们可以添加高斯噪声到图像中:
```python
noisy_image = ndimage.gaussian_filter(image, sigma=5)
plt.imshow(noisy_image, cmap='gray')
plt.title('Noisy Image')
plt.show()
```
接下来,我们使用一个滤波器来处理噪声图像。在这个例子中,我们将使用一个高斯滤波器:
```python
filtered_image = ndimage.gaussian_filter(noisy_image, sigma=3)
plt.imshow(filtered_image, cmap='gray')
plt.title('Processed Image')
plt.show()
```
最后,我们将原始图像、加噪图像和处理后的图像在同一个窗口中显示:
```python
fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(10, 8))
ax[0].imshow(image, cmap='gray')
ax[0].set_title('Original Image')
ax[1].imshow(noisy_image, cmap='gray')
ax[1].set_title('Noisy Image')
ax[2].imshow(filtered_image, cmap='gray')
ax[2].set_title('Processed Image')
plt.show()
```
这样就完成了图像处理过程,你可以尝试运行这段代码并查看结果。
阅读全文