网站建设 规范,wordpress批量信息导入工具,工信部网站 备案,江苏公司网站建设原理
二维傅里叶变换是一种在图像处理中常用的数学工具#xff0c;它将图像从空间域#xff08;我们通常看到的像素排列#xff09;转换到频率域。这种变换揭示了图像的频率成分#xff0c;有助于进行各种图像分析和处理#xff0c;如滤波、图像增强、边缘检测等。 在数学…原理
二维傅里叶变换是一种在图像处理中常用的数学工具它将图像从空间域我们通常看到的像素排列转换到频率域。这种变换揭示了图像的频率成分有助于进行各种图像分析和处理如滤波、图像增强、边缘检测等。 在数学上二维傅里叶变换的原理可以描述如下 基本概念 空间域图像以像素的形式展示每个像素表示特定位置的亮度或颜色值。 频率域图像表示为不同频率的波形组合。在这个域中图像的每个点表示一个特定频率的振幅和相位。 变换过程
二维傅里叶变换通过将图像从空间域转换到频率域揭示了图像中的频率信息。 变换公式涉及复数运算考虑图像中每个点对所有频率成分的贡献。 数学表达式 对于一个二维图像 f(x,y)其傅里叶变换 F(u,v) 定义为 应用 在频率域图像的不同特性如边缘、纹理会表现为不同的频率成分。 对频率域的操作如滤波后可以通过逆傅里叶变换将图像恢复到空间域。 直观理解 低频成分通常对应于图像中的大面积均匀区域。 高频成分对应于图像中的细节如边缘和纹理。 二维傅里叶变换在图像处理中的应用广泛是一种强大的工具能够帮助理解和处理图像信息。
python代码实现 提示
函数np.fft.fft2可以得到其傅里叶变换系数用np.abs计算复数幅度谱后显示如右上图 所示。经对数变换后显示如左下图。最后经np.fft.fftshift函数将频谱图中心化。生成更多图像比如单频率正弦波图像观察它们的频谱成分。
代码
import cv2
import numpy as np
from matplotlib import pyplot as pltimg cv2.imread(cameraman.tif, 0)#img cv2.imread(Fig0421.tif, 0)
dft np.abs(np.fft.fft2(img))
log_dft np.log(1dft)
center_dft np.fft.fftshift(log_dft)img_list [img, dft, log_dft, center_dft]
img_name_list [original, DFT, log transformed DFT, centralized DFT]_, axs plt.subplots(2, 2)for i in range(2):for j in range(2):axs[i, j].imshow(img_list[i*2j], cmapgray)axs[i, j].set_title(img_name_list[i*2j])axs[i, j].axis(off)plt.savefig(2D_FFT.jpg)
plt.show()
结果展示 结果分析
傅里叶谱图上的每一个像素点都代表一个频率值幅值由像素点亮度变码而得。最中心的亮点是指直流分量傅里叶谱图中越亮的点对应于灰度图中对比越强烈对比度越大的点。 实际上对图像进行二维傅立叶变换得到频谱图就是图像梯度的分布图当然频谱图上的各点与图像上各点并不存在一一对应的关系即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点实际上图像上某一点与邻域点差异的强弱即梯度的大小也即该点的频率的大小可以这么理解图像中的低频部分指低梯度的点高频部分相反。一般来讲梯度大则该点的亮度强否则该点亮度弱。这样通过观察傅立叶变换后的频谱图也叫功率图我们首先就可以看出图像的能量分布如果频谱图中暗的点数更多那么实际图像是比较柔和的因为各点与邻域差异都不大梯度相对较小反之如果频谱图中亮的点数多那么实际图像一定是尖锐的边界分明且边界两边像素差异较大的。 对频谱移频到原点以后可以看出图像的频率分布是以原点为圆心对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外还有一个好处它可以分离出有周期性规律的干扰信号比如正弦干扰一副带有正弦干扰移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心对称分布的亮点集合这个集合就是干扰噪音产生的这时可以很直观的通过在该位置放置带阻滤波器消除干扰. 图像信号能量将集中在系数矩阵的四个角上。经过变换之后的图像在原点平移之前四角是低频最亮平移之后中间部分是低频最亮亮度大说明低频的能量大。