作业-计算机视觉2

一、作业题目

对三幅不同的图片进行傅里叶变换,并对变换结果进行分析

二、图片一

对如下图片进行傅里叶变换

lena

变换结果如下(代码见附录):

1569154455509

分析:

从图中看出,图的中心比较亮,代表低频分量比较足,对应于时域图中缓慢变化的区域比较多。

三、图片二

对如下图片进行傅里叶变换

image

变换结果如下:

1569153432517

对原图内的白框进行旋转,如下:

image3

再次做dft变换,得到图片如下:

1569153562351

分析:

由上面两幅图的傅里叶变换可知,频域描述的是图片在各个方向上的色彩变化率。时域图旋转的角度,频谱图会跟着旋转同样的角度

四、图片三

对如下图片进行傅里叶变换

1569154275351

变换结果如下:

1569154262941

分析:

结合对图片二分析的结果,可以猜测,监控视频中周期干扰频率应该对应着傅里叶变换中竖状条纹,可以选择滤除这些竖状条纹来改善图片显示效果。

五、总结

傅里叶变换表示的是图像的变化,根据上面三个图可以得到以下两个性质:

  • 方向性:图像横向的变化对应频谱图中Y方向,反之对应于X方向,越靠近频谱图边缘表示变化的速率越快。
  • 旋转:时域图旋转的角度,频谱图会跟着旋转同样的角度

由于傅里叶特有的性质,周期性噪声在频谱图中特别明显,可以方便的找到并且选用特定的滤波器滤除噪声,改善图片质量

附录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import cv2
import matplotlib.pyplot as plt
import numpy as np

image = cv2.imread("image/image.jpg", 0)

cv2.imshow("image", image)

image_dft = np.fft.fft2(image)
image_dft = np.fft.fftshift(image_dft)
dft_shift = np.abs(image_dft)

magnitude_spectrum = np.log(dft_shift)

plt.imshow(np.uint8(magnitude_spectrum),cmap="gray")
plt.show()
-------------本文结束感谢您的阅读-------------
0%