OpenCV图像频谱分析:快速傅里叶变换 (FFT) 实现
该算法流程如下:
- 导入必要的库,如 numpy、cv2 和 matplotlib。
- 使用 cv2.imread 函数读取图像,并将其转换为灰度图像。
- 使用 cv2.dft 函数将图像转换为频域。
- 使用 np.fft.fftshift 函数将频域移动到中心。
- 计算频谱的幅度,使用 cv2.magnitude 函数计算复数的幅度。
- 对幅度进行对数变换,使用 np.log 函数计算对数。
- 使用 matplotlib.pyplot.subplot 函数创建两个子图,第一个子图显示输入图像,第二个子图显示幅度谱。
- 使用 matplotlib.pyplot.imshow 函数显示图像,使用 cmap 参数设置为 'gray' 来显示灰度图像。
- 使用 matplotlib.pyplot.title 函数设置子图的标题。
- 使用 matplotlib.pyplot.xticks 和 matplotlib.pyplot.yticks 函数隐藏坐标轴刻度。
- 使用 matplotlib.pyplot.show 函数显示图像。
原文地址: https://www.cveoy.top/t/topic/pSAe 著作权归作者所有。请勿转载和采集!