使用python读出一幅灰度图像("lena_ill.png"),仅对幅度部分进行傅里叶逆变换后查看结果图像,将图像的傅里叶变换置为其共轭后进行逆变换,显示新生成图像与原始图像
时间: 2023-06-04 22:07:45 浏览: 154
您好!我可以帮您解答这个问题。
首先,可以使用Python的OpenCV库读取灰度图像,并对其进行傅里叶变换和逆变换。下面是示例代码:
```python
import cv2
import numpy as np
# 读取灰度图像
img = cv2.imread('lena_ill.png', cv2.IMREAD_GRAYSCALE)
# 进行傅里叶变换
f = np.fft.fft2(img)
# 将零频率移到中心
fshift = np.fft.fftshift(f)
# 取幅度谱并进行对数变换
magnitude_spectrum = np.log(np.abs(fshift))
# 进行傅里叶逆变换
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)
# 将傅里叶变换置为其共轭
f_conjugate = np.conjugate(f)
f_conjugate_shift = np.fft.fftshift(f_conjugate)
# 进行傅里叶逆变换
f_ishift_conjugate = np.fft.ifftshift(f_conjugate_shift)
img_back_conjugate = np.fft.ifft2(f_ishift_conjugate)
img_back_conjugate = np.abs(img_back_conjugate)
# 显示原始图像、傅里叶逆变换和共轭的图像
cv2.imshow('Original Image', img)
cv2.imshow('Inverse Transform', img_back)
cv2.imshow('Conjugate Inverse Transform', img_back_conjugate)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行代码后,会出现三个窗口显示原始图像、傅里叶逆变换和共轭的图像。可以观察三个窗口的图像并比较它们的不同之处。
希望这个回答能够帮到您!
阅读全文