图像处理——图像的傅里叶变换

首先给大家推荐傅里叶变换的资料(转自微信):

http://mp.weixin.qq.com/s?__biz=MjM5MTIwMjY1Mg==&mid=206922366&idx=5&sn=9d1a1f32fdfd46c64a5f9276f7366e9d&scene=2#rd

http://mp.weixin.qq.com/s?__biz=MjM5MTIwMjY1Mg==&mid=207362239&idx=1&sn=0a74b905aac6fb61c9ddd3573b2977d6&scene=2#rd

傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。这里主要从多篇文章中总结一下傅里叶变换和在图像中的应用。

一维的傅里叶变换简单的说就是将时域信号变换为多个正余弦函数的叠加,信号分解如下图所示。

时域信号表示为多个正余弦信号的叠加,上图从时间方向看,可得到下图。

其中,横坐标代表频率w,纵坐标代表幅值A,即Asin(wt+θ),θ通过复数的实部和虚部计算得到。一个频率点就代表了信号的一个分量。

图像可以看作是二维的信号,一个二维傅里叶变换是一维傅里叶变换在每一个行扫描线和列扫描线上的傅里叶变换的叠加。傅里叶变换以前,图像是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由z=f(x,y)来表示。从物理效果看,傅里叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。即将图像的灰度分布函数变换为图像的频率分布函数,傅里叶逆变换是将图像的频率分布函数变换为灰度分布函数。

傅里叶中由三个分量编码:频率、幅值、相位描述正弦图像中的所有信息。在频域中,图像的幅值表示了图像中最明和最暗的峰值之间的差,相位表示了相对于原始波形,这个波形的偏移量。频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频率越大说明原始信号变化速度越快,频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的大小反应了信号的变化快慢。高频分量解释信号的突变部分,而低频分量决定信号的整体形象。在图像处理中,频域反应了图像在空域灰度变化剧烈程度,也就是图像灰度的变化速度,或图像的梯度大小。对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。也就是说,傅立叶变换提供一条从空域到频率自由转换的途径来观察图像,可以将图像从灰度分布转化到频率分布上来观察图像的特征。

傅里叶频谱图上我们看到的明暗不一的亮点,图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅里叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。对于周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰。

关于图像的频率谱坐标移动可以参考冈萨雷斯数字图像处理(MATLAB版)第四章的4.1和4.2节。

以下的图都是剧中的频率谱图。

图像与频率直接的关系,低频代表图像轮廓,高频代表了图像噪声,中频代表图像边缘、纹理等细节。

傅里叶谱图中心亮度程度表明了图像的灰度均值,中心亮度大,表明灰度均值高,直观上表现出图像比较明亮,反之,图像较暗。

傅里叶谱图的频率成分越多,表明图像变化的程度需要更多的频率来表征,图像也就变化越剧烈。

频率谱上不同点和图像灰度变化的关系。

参考文献:

http://blog.csdn.net/abcjennifer/article/details/7622228

时间: 2024-10-26 14:33:46

图像处理——图像的傅里叶变换的相关文章

Atitit 图像处理—图像形态学(膨胀与腐蚀)

Atitit 图像处理-图像形态学(膨胀与腐蚀) 1.1. 膨胀与腐蚀1 1.2. 图像处理之二值膨胀及应用2 1.3. 测试原理,可以给一个5*5pic,测试膨胀算法5 1.4. Photoshop里面的处理5 1.5. 类库的处理,好像没找到jhlabs,6 1.6. Attilax 源码6 1.1. 膨胀与腐蚀 说概念可能很难解释,我们来看图,首先是原图: 膨胀以后会变成这样: 腐蚀以后则会变成这样: 看起来可能有些莫名其妙,明明是膨胀,为什么字反而变细了,而明明是腐蚀,为什么字反而变粗了

图像的傅里叶变换

图像的傅里叶变换 备份自:http://blog.rainy.im/2015/11/03/fourier-transform-in-image-processing/ Fourier 傅里叶变换(Fourier Transform)是非常重要的数学分析工具,同时也是一种非常重要的信号处理方法.我记得本科课程电路原理中有提到过,但由于计算过于复杂,好像是超出考试范围了,所以并没有深入学习.最近实验中需要对图像进行滤波处理,文献中提到的方法通常是经过傅里叶变换之后对频域进行过滤,将图像中的低频信息与

C++图像处理 -- 图像色阶调整

阅读提示:     <C++图像处理>系列以代码清晰,可读性为主,全部使用C++代码.     <Delphi图像处理>系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM.     尽可能保持二者内容一致,可相互对照. 本文代码必须包括<C++图像处理 -- 数据类型及公用函数>文章中的BmpData.h头文件. 在Photoshop中,图像色阶调整应用很广泛,本文介绍的图像色阶调整过程与Photoshop处理效果基本一致. Photoshop的色阶调整分

Atitti 图像处理 图像混合 图像叠加&#160;blend 原理与实现

Atitti 图像处理 图像混合 图像叠加 blend 原理与实现 混合模式 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 混合模式是图像处理技术中的一个技术名词,不仅用于广泛使用的Photoshop中,也应用于AfterEffect.llustrator . Dreamweaver. Fireworks等软件.主要功效是可以用不同的方法将对象颜色与底层对象的颜色混合.当您将一种混合模式应用于某一对象时,在此对象的图层或组下方的任何对象上都可看到混合模式的效果.

数字图像处理——图像的几何变换

数字图像处理--图像的几何变换 几何变换不改变像素值,而是改变像素所在的位置. 它包括两个独立的算法: 空间变换算法 插值算法 分类 从图像类型上 二维图像 三维图像 从三维到二维平面投影变换 从变换的性质 基本变换:平移,比例缩放,旋转,镜像,错切 复合变换 图像的平移 在同一坐标系下,设\(P_0(x_0,y_0)\) ,经过水平偏移量\(\triangle x\) ,垂直偏移量\(\triangle y\),得到平移之后的坐标: \[ \begin{cases} x = x_0 + \tr

深入学习图像处理——图像相似度算法

最近一段时间学习并做的都是对图像进行处理,其实自己也是新手,各种尝试,所以我这个门外汉想总结一下自己学习的东西,图像处理的流程.但是动起笔来想总结,一下却不知道自己要写什么,那就把自己做过的相似图片搜索的流程整理一下,想到什么说什么吧. 首先在进行图片灰度化处理之前,我觉得有必要了解一下为什么要进行灰度化处理. 图像灰度化的目的是什么? 将彩色图像转化为灰度图像的过程是图像的灰度化处理.彩色图像中的每个像素的颜色由R,G,B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多

使用matlab对图像进行傅里叶变换

原图: (0) 代码: I=imread('1.jpg'); I=rgb2gray(I); I=im2double(I); F=fft2(I); F=fftshift(F); F=abs(F); T=log(F+1); figure; imshow(T,[]); 傅里叶变换: (1) 分析代码: 1. I=imread('1.jpg'); 读取图像,不多说了 2. I=rgb2gray(I); 将图像转换为灰度图,如果没有这一步的话,最终得到的傅里叶变换是这个样子的 (2) 3. I=im2do

C#图像处理---图像灰度化不完全(灰度化失败)的问题

//此原因是因为在保存副本时候图像深度改变: Bitmap curBmpfile;//当前图片 Bitmap iniBmpfile;//图片副本 string curFilename://源图片路径,为24位深度 -------------------------------------- curBitmap = (Bitmap)Image.FromFile(curFilename);//打开并保存 iniBitmap = (Bitmap)curBitmap.Clone(); //用克隆方法可以

图像处理-图像的旋转及变换

对于倾斜的图像,可以通过矩阵转换将其进行矫正. 先计算出图像倾斜矩形的长宽,而后将矫正后的形状的矩形坐标确定,通过getPerspectiveTransform获取矫正前与矫正后坐标的变换矩阵,而后利用warpPerspective将图像进行变换 1 float dstSize1 = dist(Final_poly[i][0], Final_poly[i][1]); 2 float dstSize2 = dist(Final_poly[i][1], Final_poly[i][2]); 3 fl