长方形图像(可自行填充灰度或颜色)的二维离散傅里叶变换;
时间: 2023-11-29 08:06:49 浏览: 71
这里给出Python实现的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义长方形图形的灰度或颜色填充矩阵
img = np.array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 64, 64, 64, 64, 64, 64, 0],
[0, 64, 128, 128, 128, 128, 64, 0],
[0, 64, 128, 192, 192, 128, 64, 0],
[0, 64, 128, 192, 192, 128, 64, 0],
[0, 64, 128, 128, 128, 128, 64, 0],
[0, 64, 64, 64, 64, 64, 64, 0],
[0, 0, 0, 0, 0, 0, 0, 0]])
# 进行二维离散傅里叶变换
img_fft = np.fft.fft2(img)
# 取复数的实部作为频域图像的值
img_fft = np.abs(img_fft)
# 对频域图像进行中心化处理
img_fft = np.fft.fftshift(img_fft)
# 绘制频域图像
plt.imshow(img_fft, cmap='gray')
plt.title('2D Discrete Fourier Transform')
plt.show()
```
这段代码中,我们首先使用`np.array()`函数定义了一个灰度或颜色填充的矩阵。然后,我们使用`np.fft.fft2()`函数进行二维离散傅里叶变换。接着,我们取复数的实部作为频域图像的值,并用`np.fft.fftshift()`函数对频域图像进行中心化处理。最后,我们使用`plt.imshow()`函数绘制频域图像。这个频域图像显示了长方形图像在频域中的分布情况。
阅读全文