将图像的低频增强,高频去噪,代码
时间: 2024-05-07 10:15:26 浏览: 64
图像去噪代码
以下是一种Python代码实现,使用OpenCV库和傅里叶变换:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg', 0)
# 傅里叶变换
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
# 生成高通滤波器
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)
# 低频增强
alpha = 1.5
img_back = cv2.convertScaleAbs(img_back, alpha=alpha, beta=0)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', img_back)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
代码的流程如下:
1. 读取图像。
2. 进行傅里叶变换,并将低频分量移到图像中心。
3. 生成高通滤波器,去除高频噪声。
4. 进行傅里叶逆变换,恢复图像。
5. 对恢复的图像进行低频增强。
6. 显示原始图像和增强后的图像。
可以根据需要调整高通滤波器的大小和低频增强的系数来达到不同的效果。
阅读全文