python图像傅里叶变换分离性质代码
时间: 2023-09-23 16:04:53 浏览: 238
以下是Python中进行傅里叶变换分离性质的代码:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('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
fshift[crow-30:crow+30, ccol-30:ccol+30] = 0
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)
# 显示图像
plt.subplot(221),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(magnitude_spectrum, cmap = 'gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.imshow(img_back, cmap = 'gray')
plt.title('Image after HPF'), plt.xticks([]), plt.yticks([])
plt.show()
```
其中,我们读取一张灰度图像并进行傅里叶变换。然后,我们获取频谱图像并进行高通滤波,将中心区域的像素值置为0,最后进行逆变换以得到分离后的图像。最后,我们将原始图像、频谱图像和分离后的图像展示出来。
阅读全文