老实说,我从来没有真正理解过FFT,但是我看到它被用于例如JPEG。我要说的是,假装我可以获取一些FFT库,下一步该怎么做?
此外,我还读到存在这种Gibbs现象,它会导致振铃失真。这里也是一个问题吗?
#1 楼
傅立叶变换不会帮您旋转。您只需要旋转傅立叶系数矩阵,而不是旋转原始图像即可。例如,考虑一个由完美正弦波沿着x轴的波矢组成的图像$(k,0)$。 (波矢是沿着$ x $和$ y $轴的空间频率)。傅立叶变换将全部为黑色,在位置$(k,0)$处有一个白色像素。
将图像旋转角度$ \ theta $时,您将获得沿着倾斜轴的完美正弦波。如果绘制图表并进行一些三角测量,可以看到新的波矢将为$(k \ cos \ theta,k \ sin \ theta)$。 (这有助于该部分知道频率$ k $在该周期内为1。)
因此,旋转结果的傅立叶变换将全为黑色,位置处只有一个白色像素$(k \ cos \ theta,k \ sin \ theta)$。但这就是将原始波的傅立叶变换旋转$ \ theta $所得到的。
至于吉布斯现象,在对图像进行下采样或压缩时会出现问题。频率量化(如JPEG)。但是,仅对图像进行傅立叶变换不会引入任何吉布斯振铃。如果正确完成,则傅立叶变换是无损且可逆的:它代表原始图像中的所有信息。
评论
“我从未真正理解过FFT,但我看到它已用于JPEG”。我不确定这是什么意思,但是FWIW,JPEG不使用FFT。相反,它使用不同的变换,即离散余弦变换(DCT)。 DCT相对于FFT具有一些优势,尽管它们都无限重复,但DCT在每次重复时都会反射,因此暗示了更好的连续性。@SimonF您看,我什至以为DCT是FFT的特例。感谢您的澄清!