4、对给定的添加了椒盐噪声和高斯噪声的图像综合使用频域增强方法去除图像噪声,并在保留图像部分低频信号的基础上强化图像的轮廓和细节,显示频域处理后的图像。python代码
时间: 2024-05-01 22:20:14 浏览: 47
以下是使用频域增强方法去除图像噪声的Python代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('noisy_image.jpg', 0)
# 频域变换
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
# 构建振幅谱
magnitude_spectrum = 20 * np.log(np.abs(fshift))
# 高斯滤波器
rows, cols = img.shape
crow, ccol = rows // 2, cols // 2
mask = np.zeros((rows, cols), np.uint8)
mask[crow - 30:crow + 30, ccol - 30:ccol + 30] = 1
fshift = fshift * mask
# 逆变换
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Frequency Domain Image', magnitude_spectrum)
cv2.imshow('Filtered Image', img_back)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`noisy_image.jpg`是添加了椒盐噪声和高斯噪声的图像。运行代码后,会显示原始图像、频域图像和处理后的图像。可以调整高斯滤波器的参数以达到更好的去噪效果。
阅读全文