用python编写实现图像的二维傅里叶变换的代码
时间: 2023-06-01 16:07:22 浏览: 123
以下是用Python编写实现图像二维傅里叶变换的代码:
```
import numpy as np
import cv2
# Load the image
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# Compute the 2D Fourier transform of the image
f = np.fft.fft2(img)
# Shift the zero-frequency component to the center of the spectrum
fshift = np.fft.fftshift(f)
# Compute the magnitude spectrum of the Fourier transform
magnitude_spectrum = 20*np.log(np.abs(fshift))
# Display the original image and the magnitude spectrum
cv2.imshow('Image', img)
cv2.imshow('Magnitude Spectrum', magnitude_spectrum)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread`用于加载图像,`cv2.IMREAD_GRAYSCALE`指定图像读取为灰度图像;`np.fft.fft2`计算二维傅里叶变换,`np.fft.fftshift`将零频率分量移动到频谱的中心;`np.abs`计算复数的模,`20*np.log`将模数变换到对数域。最后,使用`cv2.imshow`显示原始图像和傅里叶变换后的幅度谱。
阅读全文