代码编织梦想

图像处理中的二维傅里叶变换

问题来源是对彩色图像进行压缩时得出的傅里叶系数的图像如何解释,导入图片,转化为灰度图片:
#彩色图片一般是由RGB组成,其实就是3个二维数组叠加而成,当R=G=B时,彩色图片就会变成一种灰度颜色,所以灰度颜色的图片其实就是一个二维数组 #灰度化处理总共有三种方法:最大值法、平均值法、加权平均法 A = imread(os.path.join('..','DATA','jelly.jpg')) Abw = np.mean(A, -1); # 转化为灰度图像也可以通过cv2库或者plt, #0:压缩行,对各列求均值,返回 1* n 矩阵,axis =1 :压缩列,对各行求均值,返回 m *1 矩阵
接下来利用快速傅里叶变换,求解二维矩阵(每个变量是灰度值)的傅里叶系数,将所得的绘制在对数坐标系中:At = np.fft.fft2(Abw)#计算二维的傅里叶变换 F = np.log(np.abs(np.fft.fftshift(At))+1) # 将图像中的低频部分移动到图像的中心;将 FFT 置于对数刻度上。得到的图像如下:
灰度图像与傅里叶系数下面介绍一下二维傅里叶变换:连续的傅里叶变换为: F ( u , v ) = ∫ − ∞ ∞ ∫ − ∞ ∞ f ( x , y ) e − 2 π i ( u x + v y ) , d x , d y F(u,v) = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(x,y) e^{-2\pi i(ux+vy)} , dx , dy F(u,v)=f(x,y)e2πi(ux+vy),dx,dy离散的傅里叶变换为: F ( u , v ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − i 2 π ( u x / M + v y / N ) F(u,v)=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\mathrm{e}^{-i2\pi(ux/M+vy/N)} F(u,v)=MN 1x=0M1y=0N1f(x,y)ei2π(ux/M+vy/N)各变量的具体意义如下:
f ( x , y ) f(x,y) f(x,y):输入图像的灰度矩阵,即空间域中的图像,也就是灰度值。
F ( u , v ) F(u,v) F(u,v):变换后的复矩阵,表示频率域中的图像。其实部和虚部分别代表频率分量的幅度和相位。
x , y x,y x,y:空间域中的坐标,代表图像中的像素位置,取值范围都是从 0 ∼ M − 1 0 \sim M-1 0M1 0 ∼ N − 1 0\sim N-1 0N1
u , v u,v u,v:频率域中的坐标,代表图像中的频率分量。
M , N M,N M,N:图像的尺寸,即灰度矩阵的宽度和高度。
i i i:虚数单位。
u u u v v v是频率域中的坐标变量,它们分别代表了图像在水平方向和垂直方向上的频率分量。这些频率分量是图像中不同空间频率的正弦波和余弦波的叠加结果, u u u v v v的取值范围和 x , y x,y x,y相同。
下面说一下具体意义:傅里叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数。图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。
图像的频谱是图像灰度变化强度的指标,是灰度在平面空间中的梯度。 二维傅里叶变换算法的运行速度很慢的,算法的时间复杂度为O(n^ 4)。在实际应用中,由于直接计算二维离散傅里叶变换的计算量较大,通常会采用快速傅里叶变换(Fast Fourier Transform, FFT)算法来提高计算效率。FFT算法通过减少不必要的计算来加速DFT的计算过程,是图像处理中常用的傅里叶变换实现方法。此外,在图像处理中,还经常对DFT的结果进行中心化处理(即将频率域的原点移动到矩阵的中心),以便于观察和分析频谱的对称性。中心化后的频谱图通常能够更直观地展示图像的频率分布特征。
如上图右所示,利用快速傅里叶变换并且将低频部分移动到中心。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_54729407/article/details/140217228

用matlab对图像进行二维傅里叶变换_localhost1212的博客-爱代码爱编程_matlab对图像进行二维傅里叶变换

I=imread('1.jpg');           %读取图像 I=rgb2gray(I);                %将图像转换成灰度图,图像的数值范围为[0,255] I=im2double(I);             %将图像的数据格式转换为double型的,此时图像的数值范围由原来的[0,255],变成了[0,1] F=fft2(I

matlab二维傅里叶变换ffshift,形象理解二维傅里叶变换-爱代码爱编程

点击上方“机器学习与生成对抗网络”,关注"星标" 获取有趣、好玩的前沿干货! 来自 | 知乎  阿姆斯特朗 链接 | https://zhuanlan.zhihu.com/p/110026009 文仅交流,侵删 1.回顾一下一维FT 公式: 通俗来讲,一维傅里叶变换是将一个一维的信号分解成若干个复指数波  。而由于   ,所以可

图像的二维快速傅里叶变换-爱代码爱编程

1.理想低通滤波器(ILPF) 其中,D0表示通带的半径。D(u,v)的计算方式也就是两点间的距离。给定一个频率阈值,将高于该阈值的所有部分设置为0,而低于该频率的部分保持不变。 2.频率域滤波步骤总结为如下: (1)给定一幅大小为M×N的输入图像f(x,y),从式子得到填充参数为 P=2M 和 Q=2M。 (2)对f(x,y)添加

【深度好文】二维图像傅里叶变换 YYDS-爱代码爱编程

1. 傅里叶变换原理 在数学中进行傅里叶变换为连续模拟信号,通常来说: 二维连续函数f(x,y)的傅里叶正变换为: 相应的傅里叶逆变换公式为: 但是在计算机领域,计算机一般处理的是数字信号,只能进行有限次计算,因此将这种受限下的傅里叶变换成为离散傅里叶变换(Discrete Fourier Transform,DFT)。 二维离散函数f(x,y)

图像处理与分析(二)傅里叶变换-爱代码爱编程

文章目录 傅里叶变换时域与频域为什么做傅里叶变换傅里叶变换的作用信号分解.去噪 二维傅里叶变换二维与一维傅里叶变换的关系二维傅里叶变换应用 傅里叶变换 从数学上讲,傅里叶变换将任意的周期函数分

傅里叶变换和其图像处理中的应用-爱代码爱编程

以下部分文字资料整合于网络,本文仅供自己学习用! 一、为什么要在频域进行图像处理? 一些在空间域表述困难的增强任务,在频率域中变得非常普通 滤波在频率域更为直观,你想想嘛,所谓滤波,就是把二维图像信号种某个频率信号给去

python实现图像的二维傅里叶变换——冈萨雷斯数字图像处理-爱代码爱编程

原理 二维傅里叶变换是一种在图像处理中常用的数学工具,它将图像从空间域(我们通常看到的像素排列)转换到频率域。这种变换揭示了图像的频率成分,有助于进行各种图像分析和处理,如滤波、图像增强、边缘检测等。 在数学上,二维傅里叶

实验四 图像增强—灰度变换之直方图变换-爱代码爱编程

一.实验目的 1.掌握灰度直方图的概念及其计算方法; 2.熟练掌握直方图均衡化计算过程;了解直方图规定化的计算过程; 3.了解色彩直方图的概念和计算方法 二.实验内容: 1 读取数字图像,显示直方图(例如使用imhist,有余力可尝试bar,stem等函数),并进行直方图均衡化处理; 2 显示经过均衡化处理过的图像直方图。 3 有余力可探索更

第三届图像处理、目标检测与跟踪国际学术会议(ipodt 2024,8月9-爱代码爱编程

第三届图像处理、目标检测与跟踪国际学术会议(IPODT 2024)将于2024年8月9-11日在中国南京召开。 本次会议旨在为全球的研究人员、工程师、学者和业界专家提供一个展示和讨论图像处理、目标检测与跟踪最新进展的

基于图像处理的滑块验证码匹配技术-爱代码爱编程

滑块验证码是一种常见的验证码形式,通过拖动滑块与背景图像中的缺口进行匹配,验证用户是否为真人。本文将详细介绍基于图像处理的滑块验证码匹配技术,并提供优化代码以提高滑块位置偏移量的准确度,尤其是在背景图滑块阴影较浅的情况下。 一、背景知识 1.1 图像处理概述 图像处理是指对图像进行分析和操作,以达到增强图像、提取特征、识别模式等目的。常

图像处理|关于二维傅里叶变换的学习笔记(实用版)_对图像旋转某个角度,其二维离散傅里叶变换谱有什么变化?-爱代码爱编程

因为图像至少是2D的,所以在数字图像处理中使用的都是2D-傅里叶变换。 1.什么是傅里叶变换(DFT)?傅里叶变换是将图像从空间域转换到频域,其逆变换是将图像从频域转到空间域。 物理意义是: 2.频谱图怎么看?傅里叶频谱图实际上就是图像的梯度分布图。频谱图上看到的明暗不一的亮点,实际上是图像上某一点与邻域点的差异的强弱,即梯度的大小,即该点的频域