用python代码对“lajiao”图像采用傅里叶变换,将其分解为幅值谱、相位谱,利用幅值谱、相位谱重构图像后保存。
时间: 2024-11-27 09:12:06 浏览: 14
首先,你需要有一个名为"lajiao"的图像文件,这里假设你已经有一个灰度图像,我们可以使用`PIL`库读取图像,然后使用`numpy`和`scipy`库来进行傅里叶变换和图像重构。以下是一段基本的Python代码:
```python
from PIL import Image
import numpy as np
from scipy.fftpack import fft2, ifft2, fftshift
# 读取图像并转换为灰度图像
img = Image.open("lajiao.png").convert("L")
img_array = np.array(img)
# 对图像进行傅里叶变换
fft_img = fft2(img_array)
magnitude_spectrum = np.abs(fft_img) # 幅值谱
phase_spectrum = np.angle(fft_img) # 相位谱
# 中心化相位谱
phase_spectrum_cen = fftshift(phase_spectrum)
# 重构图像
reconstructed_img = abs(ifft2(magnitude_spectrum * np.exp(1j * phase_spectrum_cen)))
# 将重构后的图像转换回像素格式
reconstructed_img = np.round(reconstructed_img).astype(np.uint8)
# 保存重构图像
Image.fromarray(reconstructed_img).save("reconstructed_lajiao.png")
print(f"原始图像和重构后的图像已保存为'lajiao.png'和'reconstructed_lajiao.png'.")
阅读全文