用python实现图像功率谱图可视化
时间: 2023-11-14 19:13:28 浏览: 145
用Python实现数据可视化
以下是使用Python实现图像功率谱图可视化的示例代码:
```python
import cv2
import numpy as np
import matplotlib.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.imshow(magnitude_spectrum, cmap='gray')
plt.title('Power Spectrum')
plt.show()
```
在这个示例中,我们首先使用OpenCV读取了一张灰度图像`lena.jpg`。然后,我们使用`np.fft.fft2()`函数对图像进行二维傅里叶变换,并使用`np.fft.fftshift()`函数将低频分量移动到中心位置。接下来,我们计算出傅里叶变换的幅值谱,使用`20 * np.log()`函数进行缩放和对数变换。最后,我们使用`matplotlib.pyplot.imshow()`函数将功率谱图可视化,并使用`plt.title()`函数为图像添加标题。最后,我们使用`plt.show()`函数显示图像。
阅读全文