imFFT.imshow()
时间: 2023-06-22 16:41:39 浏览: 78
fft.rar_FFT 图像 MATLAB_FFT图像处理_fft_fft matlab_图像 FFT
`imFFT.imshow()` 是一个图像处理中常用的函数,用于显示图像的傅里叶变换结果。该函数可以接受一个二维数组作为输入,其中每个元素代表了相应的频率分量的大小。函数会将这个二维数组转换为图像显示出来,图像中每个像素的亮度表示对应频率分量的大小。
以下是一个示例代码,用于将一张图像的傅里叶变换结果显示出来:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 读入图像
img = cv2.imread('lena.jpg', 0)
# 进行傅里叶变换
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20 * np.log(np.abs(fshift))
# 显示变换结果
plt.subplot(121), plt.imshow(img, cmap='gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(magnitude_spectrum, cmap='gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.show()
```
其中,`cv2.imread()` 用于读入图像,`np.fft.fft2()` 用于进行傅里叶变换,`np.fft.fftshift()` 用于将结果进行中心化处理,`20 * np.log(np.abs(fshift))` 用于计算频率分量大小的对数值。最后,用 `plt.imshow()` 函数显示原始图像和傅里叶变换结果。
阅读全文