用python编程将图像傅里叶变换后在频域上加上干扰,然后在傅里叶反变换并展示这三个图像
时间: 2023-06-11 09:07:41 浏览: 87
好的,这里提供一份简单的代码示例:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 读取图像
img = cv2.imread('image.jpg', 0)
# 进行傅里叶变换
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
# 在频域上添加干扰
rows, cols = img.shape
crow, ccol = int(rows/2), int(cols/2)
fshift[crow-30:crow+30, ccol-30:ccol+30] = 0
# 进行傅里叶反变换
ishift = np.fft.ifftshift(fshift)
iimg = np.fft.ifft2(ishift)
iimg = np.abs(iimg)
# 展示图像
plt.subplot(131), plt.imshow(img, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(132), plt.imshow(np.log(1+np.abs(fshift)), cmap='gray')
plt.title('Frequency Domain'), plt.xticks([]), plt.yticks([])
plt.subplot(133), plt.imshow(iimg, cmap='gray')
plt.title('Processed Image'), plt.xticks([]), plt.yticks([])
plt.show()
```
以上代码中,首先读取一张灰度图像。然后进行傅里叶变换,并将其进行中心化,即将频域中心移到图像中心。
接着,在频域上添加干扰,这里简单地选择了一个正方形区域进行清零操作。
最后进行傅里叶反变换,将处理后的频域图像重新转换到空域,并取其绝对值作为最终结果。最后,将原始图像、频域图像和处理后的图像在同一窗口中展示。
需要注意的是,这里使用了 matplotlib 库进行图像展示,因此需要提前安装。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)