窗函数在图像处理中的应用
窗函数在图像处理中的应用
1. 频谱混乱的三角函数图像
下图是一个45度倾斜的单一频率的余弦函数图像,请注意图中的边界都不是均匀过渡到外界的,全是不连续的跳变。
下面来看看这幅图的频谱会是什么样?
频谱混乱的原因有两个:
第一个重要的原因就是一个域(不论是时域还是频域)的不连续导致了另一个域的振荡,拖尾,泄漏。所以下图中的频谱就会看起来非常混乱。
第二个原因就是DFT的周期性。当使用MATLAB中的函数FFT或FFT2的时候,一定要意识到,所做的计算本质上离散傅里叶级数(为什么是级数而不是变换,我会再写一篇文章说明)Discrete Fourier transform(DFT)。要知道,DFT的计算隐含着默认的周期性,这一周期性不论是在时域还是在频域都是无穷的,都是无限循环的,从二维信号上讲,即沿着X方向循环复制,也在Y方向循环复制。下图中用红色方框框出的只是其中的一个周期。
请注意上图中左图中(空间域)余弦信号图和他相邻的图像在红色边缘处的各种不连续(discontinuity)。这种不连续直接导致了右图中(频率域)及其混乱,复杂的频谱。所以,在处理任何图像时,千万不要忽视了图像的边缘。比如说,FFT之前的0填充,这也是一种会经常用到的避免频谱泄漏的有效方式。
汉宁窗
现在对原始图像进行加窗,这里选择的是汉宁窗(hanning window)。下图为汉宁窗的时间域函数图像及其频谱特征。
总的来说,窗函数都比较光滑,就好像一个高斯滑动均值滤波器磨平了原始信号中边缘的不连续。
请注意上图中我用红框框出的几个重要参数,这是衡量窗函数的三个重要指标。
对图像加窗
加窗后的频谱图远比加窗前的更集中,更清晰。
2. 著名的Cameraman.tiff
刚才的那个例子中,空间域的不连续是非常明显,显而易见的(TIPS:一个域的不连续导致了另外一个域的频振荡和拖尾,不只是从空间域/时间域到频域是这样)。下面用图像处理中的经典图像来看另外一种情况。在这个例子中,边界上的跳变远没有上一个例子那么明显,但也会引起频谱的泄露,污染了(smear)真实的频谱信息,而这种情况最为常见,最容易被忽视。
下图为cameraman的原图和频谱图,注意频谱图中我用箭头标出的一条白色的中轴线,也是频谱的泄漏造成的。
产生这根白线的原因主要是,原始图像在DFT周期复制的时候,头顶的蓝天部分较亮,而脚下草坪部分较暗。由于图像横向边缘的灰度值突变(见下图),在频谱图中的Y方向产生了频谱的泄露。当然了,图像的纵向边缘也能看到一些灰度的不平滑过渡,势必也会引起图像频谱在X方向的改变,但在此例中并不明显。
下面看看加窗后的图像和加窗后频谱的改变。
频谱图中间的那条白线,没了!
3. 上三角矩阵和下三角矩阵
理论上讲上三角矩阵和下三角矩阵的频谱都应该只有一条斜线,不管是左斜还有右斜,但是往往大家看到的上/下三角矩阵的频谱图当中还有一个十字架。这都是因为没有加窗出现了DFT周期性的边界不连续。
注意图中的十字架,这是本不该出现在频谱图中的成分。
下图是加窗后的真实频谱,见下图。
总结,这篇文章用三个简单的例子,粗略的解释了窗函数在DIP中的应用。实际图像处理的工作中,但凡是用到了频谱操作,很多时候正确的使用窗函数往往是大有裨益的!
【转载】https://blog.csdn.net/daduzimama/article/details/80079215
窗函数在图像处理中的应用相关推荐
- 数字图像处理 --- 窗函数在图像处理中的应用
窗函数在图像处理中的应用 上次我初略的讲了一下什么是窗函数,以及窗函数在DSP应用中的例子.之所以要引用窗函数,主要是为了防止突然的截断导致的频谱泄露.频谱的泄露在DIP的频域中也是非常常见的,我这里 ...
- 傅里叶变换在图像处理中的应用初步学习
1 理解傅里叶变换在图像处理中的应用 一维傅里叶变换的作用对象是信号,信号是一维连续的:随着时间不断推移,信号强度的变换情况,可称为时域. 图像处理中的傅里叶变换的作用对象是二维矩阵.随着位置的不断改 ...
- 傅里叶变换在图像处理中的作用
傅立叶变换在图像处理中非常的有用.因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法, 比如离散余弦变换,gabor与小波在图像处理中也有重要的分量. 印象中,傅立叶变换在图像处理以下几个话题 ...
- 5、VTK在图像处理中的应用
5.VTK在图像处理中的应用 图像是VTK中一个非常重要的数据.数字图像广泛应用于工业生产.生物医学.媒体娱乐.地质.气象等重要领域,数字图像处理具有重要的应用价值.我们在掌握了VTK的基本知识后,这 ...
- 寻找下一款Prisma APP:深度学习在图像处理中的应用探讨
在9月23日到9月24日的MDCC 2016年中国移动者开发大会"人工智能与机器人"专场中,阿里云技术专家周昌进行了题为<寻找下一款Prisma APP:深度学习在图像处理中 ...
- 中blur函数_Comonad在图像处理中的应用
前几天我回答了一个关于comonad的问题Monad和Comonad到底是什么东西?.其中有讲到comonad的应用例子,但都还不够直观和实用.后来找到一个Comonad在图像处理中的应用的例子,觉得 ...
- matlab在图像处理中的应用论文,MATLAB在数字图像处理中的应用
摘要:数字图像处理是一门新兴技术,经过计算机硬件的快速发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,这就使得其处理速度越来越快,能更好的为人们服务.数字图像处理是一种通过计算 ...
- 模糊数学在计算机方面的应用,模糊数学理论在图像处理中的应用
摘要:用计算机来处理图片已成为计算机研究的一个重要方向,基于模糊数学的图像处理技术是计算机图像处理中的重要计算.图像本质上具有模糊性,因此模糊信息处理技术在图像处理中的使用有其必然性.提出一种基于模糊 ...
- 【图像识别】【读论文】模式识别方法概论模式识别及其在图像处理中的应用
<模式识别及其在图像处理中的应用> 1.模式识别基本框架 一般认为,模式识别是通过具体的事物进行观测所得到的具有时间.空间分布的信息,模式所属的类别或同一类中模式的总体成为模式类,其中个别 ...
最新文章
- 2018深度学习引用数最高的十大论文
- NHibernate应用二:第一个NHibernate程序
- 遥感计算机分类实验的难点,8-遥感实验.doc
- 参考文献中会议名称怎么缩写_期刊缩写查询总结
- c语言头文件和源文件_C语言头文件防卫式声明
- 非root用户sudo_ssh免密钥
- 正在中止线程 iis_Zephyr线程生命周期及状态
- 高级文件系统管理——Linux基本命令(15)
- Cadence学习笔记
- Java毕业设计-企业员工考勤打卡管理系统
- Java进阶之FileUpload完成上传
- PDF编辑器里的测量工具如何使用?
- Excel表格实现下拉复选框多选
- 2022变更调查 举证照片查看器
- 合天网络靶场-大规模网络环境仿真服务平台
- Endnote实用快捷键
- linux教程试卷_linux基础教程试卷及答案.doc
- viper4android历史版本,VIPER4Android最新版本
- 2022 极术通讯-从CPU、DSA到软硬件融合
- Machine learning strategies for systems with invariance properties( 具有不变性系统的机器学习策略 )2016年Julia Ling
热门文章
- C++11 显示类型转换
- oracle大数据量迁移,分批量导入样例(fetch...bulk collect)以及forall结合使用
- ubuntu如何删除刚添加的源?
- 携程Apollo(阿波罗)配置中心在Spring Boot项目快速集成
- 【转】 CSS3实现10种Loading效果
- 转换和删除重复命令tr
- 阶乘、斐波那契数列(java版)
- Linux之/etc/group文件
- Centos7 安装Oracle JDK1.8和OpenJDK 1.8
- mysql关键字test_MySQL关键字Distinct的详细介绍