转载自:【外文翻译】图像中的傅里叶变换

写在前面:这是我在外网看到的一篇较为易懂、详细的介绍了图像中的傅里叶变换的一篇文章,翻译过来给大家分享一下。适读人群为对机器视觉感兴趣的初学者。为了可读性,没有完全严格的逐字逐句翻译,也加入了自己的一些理解,如有纰漏望指正。

原文链接:https://plus.maths.org/content/fourier-transforms-images

原文:Fourier transforms of images

作者:Rachel Thomas

无论是音乐、演讲还是背景噪音,我们听到的一切的声音,都是由声源产生声波,通过空气传播,引发鼓膜振动的结果。为了直观地表达,我们一般会绘制声波图像,x轴为时间,y轴为振幅。

图1

上图中示波器上的声波图像是一个正弦图像,也就是数学中的sin(x)。不过实际中的声波图像肯定会更复杂。但是,任意声波(或者说任意函数)都可以被分解成不同频率、不同幅度的正弦函数,换句话说,将任意随着时间变化的声波信号(或函数)写成一系列频率不同的正余弦函数的和,这就是著名的傅里叶变换。这是以生活在18世纪法国大革命时期的著名法国数学家傅里叶命名的。

关于更多的数学解释,作者引用了另一篇blog,链接如下,有时间的话我可能也会进行翻译:

https://plus.maths.org/content/os/issue47/features/budd/maths

下面回到图像中来。大家可以想象一下,一张图像也可以看作一个变化的函数(或者说是波)。然而,他不是随着时间变化,而是在二维空间中变化。在一个单通道图像中,每个像素点都对应着一个灰度值,这个值的取值范围是0到255,0表示黑色,255表示白色,不同的颜色表示不同的灰度。在英文中,这个灰度值我们称作intensity。那么在这个图像中,灰度值就是图像上某点(x,y)的函数值。举个例子,比如给定一个1024*768的图像,在图上(300,300)这个点是黑色的,那么这个点的灰度值是0,我们可以写作f(300,300)=0,f就是图像坐标到灰度值区间的一个函数。如果我们有一张纯白色的图像,那么无论x,y取多少,f(x,y)=255恒成立。

图3.作者给的一个灰度值可视化的示例图。左边是图像本身,右边是将它的灰度值平铺在了xy坐标系中,就相当于绘制了一个f(x,y)的函数“图像波”。可以看到,越是白色的区域函数值越大,即右图中凸起越高,越是黑色的区域函数值越小,即越靠近xy平面。

我们上面说了,图像既然可以看作一个函数,那么它也可以做傅里叶变换,即写成一系列正弦函数的和。但是,跟上面举的声波例子不同,这次函数是在二维空间中变换的。如果说声波图像像一个甩动的细绳,那么“图像波”就像平面上激起的涟漪一样。

二维正弦函数公式如下:

x,y表示所求点在图像上的坐标(我们一般把图像左上角作为原点),z是函数值,也就是该点的灰度值,a代表波的幅度(或者说是最大高度),h和k分别代表频率。在图像中,频率大小的直观表现为该点灰度值变化的剧烈程度。

图4.从左到右分别表示sin(x),sin(2y),sin(x+y)

如上图所示,正弦波将会沿着(h,k)的方向震荡。例如,当k=0时,正弦波只沿着x轴震荡,如上图中的左图。当h=0时,正弦波只沿着y轴震荡,如上图中的中间图。将这些波叠加,其实也就是将这些波的值(函数值)叠加,也就是波的干涉效应。

图像的傅里叶变换就是将图像函数分解成不同频率的正余弦波的叠加。和声波例子一样,图像的傅里叶变换也是变换到频率域上。不同的是,图像的频率域是二维的,换句话说,两个频率h和k,分别对应图像波的x和y方向上变动的快慢。因此如果将图像的频率图画出来,将不再如图2最后展示的一样(坐标轴上一个个小竖线),而是也像一张图片一样(如图5右),在此例子中,我们让频率图与原图尺寸相同。如下图。

在这里要注意一下,首先,频率图不一定与原图有相同的尺寸。因为频率域在理论上来说是无穷的,但为了可视化,我们一般让他与原图尺寸相同,也就是说其实我们只是截取了相对低频的信息。另外,在频域图上的每个点(h,k)灰度值的意义,并不是原图中该坐标位置点(h,k)的频率大小,而是傅里叶变换后频率为(h,k)的正余弦波的幅度大小。不要因为频率图与原图尺寸相同就在这个地方有所混淆。

图5.左图为图像信号,右图为该图像的频域图像

傅里叶变换后,每个像素点都会得到一个相应的坐标(h,k),来表示x方向上的频率h以及y方向上的频率k。以图5为例,在图像的频域图上(如上图右),中心点(0,0)表示h=0,k=0,右图中该点(即中点)的函数值(可以看作是就是这个点的亮度值)为左图所有像素值的平均值。中点左右两边的点,表示沿着x轴变化的波(即k=0),上下两边的点表示沿着y轴变化的波(即h=0)。在频域图中,(h,k)这个点的亮度值,就是频率为(h,k)的三角函数的振幅a的平方(参考上面给出的二维正弦函数表达式)。

图6.左图为sin(x)波生成的灰度图,右图为它对应的频域图像

以上图为例,左图为二维的正弦波灰度图像,右图为傅里叶变换后生成的频域灰度图。可以看到,右图几乎全是黑的,只有中心一小部分不是黑色。如果我们放大中心位置,可以看到只有3个像素不是黑的。首先一个是(0,0)点,前面说过,这个点的亮度是整张图片像素值的平均值。另外两个点是(1,0)和他的中心对称点(-1,0),其他点全为黑色。这是由于我们原图像仅含有正弦波sin(x)。(h=1,k=0)

图7.左上角图像为sin(10x)+sin(20y),右上角为其傅里叶变换图像。可以看到,除了原点之外,只有(10,0)和(0,20)及他们的对称点不是黑色。左下角图像为sin(100x+50y),右下角图像为其频域图,可以看到只有原点,(100,50)及其对称点不是黑色。

上面的例子,都是比较简单的正弦图像的灰度图。然而一般我们看到的照片,都是非常复杂的。是非常多的不同频率的正弦/余弦函数叠加构成的。这样的话频谱图像就不会像上面几个例子一样简单。如图5。

另外,一般来说,我们在进行图像傅里叶变换的时候,会发现频谱图上h轴和k轴格外亮眼,这说明沿着x和y方向变化的波占比较大。这种现象的主要原因是在我们的生活中,水平、垂直、对称的图案是比较常见的,比如图5中的砖缝、衣服花纹等等。另外,如图8所示,可以看到如果图像旋转45度,他的频谱图中灰度值最强的两条线也会旋转45度角。

图8.旋转45度后的图像与其频谱图

总结:傅里叶变换在声音、图像的分析与处理中极为有用。在图像处理中,它是图像压缩、图像滤波以及图像降噪等处理技术背后的数学理论基础。

一些可能的问题及个人见解:

为什么要理解图像的傅里叶域(频域),对理解卷积神经网络有什么帮助?

空间域的卷积即频域的乘积。因此我们在做空间卷积时(即二维卷积),其实是在做频域上的滤波。通过过滤出特定频率的特征,来实现特征提取。举个例子,为什么高斯核卷积是很好的模糊处理方法?因为我们用高斯核做空间域卷积,相当于在做图像与高斯核在频域上的乘积,而高斯函数的傅里叶变换依然是高斯函数,高斯函数越远离时0值越小,因此图像中的高频信号就会被过滤掉。而图像的高频信号就是边界、噪点,因此高斯卷积实现了模糊效果。

为什么频域图中心值等于所有像素的均值?

这是由于中心点的频率为h=0,k=0,因此这是一个直流分量。在信号系统中,我们一般将傅里叶变换中的直流分量理解成信号的时间均值。因此同样的在图像中,直流分量也就表示空间信号(各点灰度值)的平均值。(具体可以参考傅里叶变换公式)

为什么频域图是中心对称的?

利用欧拉公式可以进行简单的推导。

【外文翻译】图像中的傅里叶变换相关推荐

  1. 计算机科学与技术中英翻译,[精品]计算机科学与技术外文翻译、中英对照、英汉互译.doc...

    [精品]计算机科学与技术外文翻译.中英对照.英汉互译 毕业设计(论文)外文资料翻译 学院(系): 计算机科学与技术学院 专 业: 计算机科学与技术 姓 名: 学 号: (用外文写)外文出处: (用外文 ...

  2. 计算机科学与技术英译,计算机科学与技术外文翻译、中英对照、英汉互译.doc...

    文档介绍: 毕业设计(论文)外文资料翻译学院(系):计算机科学与技术学院专业:计算机科学与技术姓名:学号:(用外文写)外文出处:ADevelopmentFrameApplicationBasedont ...

  3. Vb+access抽奖系统(系统+论文+开题报告+外文翻译+封面+中英摘要+任务书+中期检查表)

    1 绪论 随着人类社会步入21世纪,信息技术的飞速发展和社会信息化的不断提高,特别是进入网络信息时代,我们的工作越来越离不开计算机,这个时候就需要更好的运用现代化技术为各联系点服务,不断提高工作效率. ...

  4. matlab中的routte,matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述...

    <matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述>由会员分享,可在线阅读,更多相关<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算 ...

  5. 大学计算机专业全英文论文,5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文.doc...

    5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文 外文JSP application frameworks brian wright.michael freedman ...

  6. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(四)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(四) 目录 Step 3: Tune gamma步骤3:伽马微 ...

  7. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(三)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(三) 目录 3. 参数微调案例/Parameter Tunin ...

  8. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(二)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(二) 目录 2. xgboost参数/XGBoost Para ...

  9. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(一)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(一) 目录 概述/Overview 介绍/Introducti ...

最新文章

  1. 关于 tsm 磁带槽位
  2. 音视频技术开发周刊 | 208
  3. 使用JUnit规则测试预期的异常
  4. Tomcat 学习笔记(0)
  5. linux开启ping服务,Linux 云服务器禁止和开启Ping
  6. vb子程序未定义怎么改怎么办_煤粉输送不畅、秤不稳怎么办?多家企业这样改!...
  7. Spring Boot 事务支持
  8. Docker 清理命令 删除所有的镜像和容器
  9. oracle内存最多用到2g,在Oracle数据库中如何使用超过2G内存
  10. 感觉养老金越涨差距越大,有人提议高于5000的不再上涨,合理吗?
  11. 【Android开发】高级组件-选项卡
  12. RestTemplate 发送文件
  13. H265 SAO 技术
  14. wap页面在微信内置浏览器浏览遇到的问题
  15. uniapp访问服务器缓存文件,uni-app浏览历史记录功能实现
  16. audio接线图解_图文:主板跳线(排线)连接技巧HD AUDIO连线接法
  17. echarts 饼状图渐变色
  18. 2021新跨域问题:insecure private network requests
  19. 2021年江苏镇江公务员考试报考指南
  20. Linux tail命令的使用方法详解

热门文章

  1. MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?
  2. “多巴胺思维”—通往AI秘密的钥匙「AI核心算法」
  3. Python 电脑上自动阅读东方头条
  4. 绝对女神 - Introduction
  5. 无人机基于目标检测的路径规划任务
  6. 树莓派(十一):流量传感器的使用
  7. Xmind基础教程-保存到印象笔记
  8. 侍魂无限跳服务器,经典游戏《真侍魂》橘右京的无限残像,对手就这么活活的被挡死了...
  9. php study 6 string
  10. Linux中国对话龙蜥社区4位理事:龙蜥操作系统捐赠的背后,是谁在推动?