24-5 傅里叶图像分析
傅里叶分析在图像处理中的应用与一维信号的处理方法基本相同。然而,图像并没有在频域上的信息编码,这使得这些技术的用处要小得多。例如,当对音频信号进行傅里叶变换时,将混淆的时域波形转换为易于理解的频谱。
相比之下,采用图像的傅里叶变换将空域中的直接信息转换为频域上的杂乱形式。总之,不要指望傅立叶变换能帮助您理解图像中编码的信息。同样,也不要考虑频域中的滤波器设计。图像的基本特征是边缘,即将一个对象或区域与另一个对象或区域分开的线条。由于边缘由广泛的频率分量组成,试图通过操纵频谱来修改图像通常不会产生效果。图像滤波器通常是在空间域中设计的,其中的信息是以最简单的形式编码的。考虑平滑和边缘增强运算(空域),而不是高通和低通滤波器(频域)。
尽管如此,傅里叶图像分析确实有几个有用的性质。例如,空间域中的卷积对应于频域上的乘法。这一点很重要,因为乘法是一种比卷积更简单的数学运算。与一维信号一样,这种特性支持FFT卷积和各种反卷积技术.。频域的另一个有用的性质是傅里叶切片定理,即图像与投影(从侧面看图像)之间的关系。这是计算机断层成像技术的基础,它是一种广泛应用于医学和工业的x射线成像技术.
图像的频谱可以用多种方法计算,但本文提出的FFT方法是唯一实用的方法。原始图像必须由N行xN列组成,其中N是2的幂,如 256、512、1024等等。如果原始图像的大小不是2的幂,则添加零值的像素,使其具有正确的大小。我们将把保存图像的二维数组称为实数数组。此外,还需要另一个大小相同的数组,我们把它称之为虚数数组。
计算图像傅里叶变换的方法非常简单:取每一行的一维FFT,然后是每列的一维FFT。具体而言,从实数组第0行中的N个像素值的FFT开始。FFT输出的实数部分被放回实数组的第0行,而FFT输出的虚部被放置到虚数组的第0行。再对第1行直到N-1行重复此过程之后,实数组和虚数组都包含一个中间图像。然后,在中间数据按照每一列重复此过程。
从实数组的第0列取N个像素值,从虚数组的0列取N个像素值,计算FFT。FFT输出的实部被放回实数组的列0
傅里叶分析在图像处理中的应用与一维信号的处理方法基本相同。然而,图像并没有在频域上的信息编码,这使得这些技术的用处要小得多。例如,当对音频信号进行傅里叶变换时,将混淆的时域波形转换为易于理解的频谱。
相比之下,采用图像的傅里叶变换将空域中的直接信息转换为频域上的杂乱形式。总之,不要指望傅立叶变换能帮助您理解图像中编码的信息。同样,也不要考虑频域中的滤波器设计。图像的基本特征是边缘,即将一个对象或区域与另一个对象或区域分开的线条。由于边缘由广泛的频率分量组成,试图通过操纵频谱来修改图像通常不会产生效果。图像滤波器通常是在空间域中设计的,其中的信息是以最简单的形式编码的。考虑平滑和边缘增强运算(空域),而不是高通和低通滤波器(频域)。
尽管如此,傅里叶图像分析确实有几个有用的性质。例如,空间域中的卷积对应于频域上的乘法。这一点很重要,因为乘法是一种比卷积更简单的数学运算。与一维信号一样,这种特性支持FFT卷积和各种反卷积技术.。频域的另一个有用的性质是傅里叶切片定理,即图像与投影(从侧面看图像)之间的关系。这是计算机断层成像技术的基础,它是一种广泛应用于医学和工业的x射线成像技术.
图像的频谱可以用多种方法计算,但本文提出的FFT方法是唯一实用的方法。原始图像必须由N行xN列组成,其中N是2的幂,如 256、512、1024等等。如果原始图像的大小不是2的幂,则添加零值的像素,使其具有正确的大小。我们将把保存图像的二维数组称为实数数组。此外,还需要另一个大小相同的数组,我们把它称之为虚数数组。
计算图像傅里叶变换的方法非常简单:取每一行的一维FFT,然后是每列的一维FFT。具体而言,从实数组第0行中的N个像素值的FFT开始。FFT输出的实数部分被放回实数组的第0行,而FFT输出的虚部被放置到虚数组的第0行。再对第1行直到N-1行重复此过程之后,实数组和虚数组都包含一个中间图像。然后,在中间数据按照每一列重复此过程。
从实数组的第0列取N个像素值,从虚数组的0列取N个像素值,计算FFT。FFT输出的实部被放回实数组的列0
