本节为opencv数字图像处理(4):频率域滤波的第一小节,频率域滤波的基础概念,主要包括:复数定义的回顾、傅里叶级数的形式、冲激及其取样特性以及连续函数的傅里叶变换。

1. 基本概念

1.1 复数

  复数C的定义如下:C=R+jIC=R+jIC=R+jI,其共轭表示为C∗=R−jIC^*=R-jIC∗=R−jI。其中R和III是实数,j=−1j=\sqrt{-1}j=−1​。
  复数从几何的角度可以被看做复平面上一个点,横坐标是实轴(R的值),纵坐标是虚轴(III的值),也就是说复数R+jIR+jIR+jI是复平面直角坐标系统中的点(R,I)(R,I)(R,I)。
  极坐标下表示复数:C=∣C∣(cos⁡θ+jsin⁡θ)C=|C|(\cos\theta+j\sin\theta)C=∣C∣(cosθ+jsinθ),其中∣C∣=R2+I2|C|=\sqrt{R^2+I^2}∣C∣=R2+I2​是复平面的原点到点(R,I)(R,I)(R,I)的向量的长度,θ\thetaθ是该向量与实轴的夹角。
  使用欧拉公式:ejθ=cos⁡θ+jsin⁡θe^{j\theta}=\cos\theta+j\sin\thetaejθ=cosθ+jsinθ,则可以给出极坐标下的复数表示:C=∣C∣ejθC=|C|e^{j\theta}C=∣C∣ejθ。

1.2 傅里叶级数

  具有周期T的连续变量t的周期函数f(t)可以被描述为乘以适当系数的正弦和余弦和,这个和就是傅里叶级数:
f(t)=Σn=−∞∞cnej2πnTtf(t)=\Sigma^{\infty}_{n=-\infty}c_ne^{j\frac{2\pi n}{T}t} f(t)=Σn=−∞∞​cn​ejT2πn​t

  这个式子能够展开为正弦和余弦之和的事实来自于欧拉公式,其中:
cn=1T∫−T/2T/2f(t)e−j2πnTtdt,n=0,±1,±2,...c_n=\frac1T\int_{-T/2}^{T/2}f(t)e^{-j\frac{2\pi n}{T}t}dt,n=0,\pm1,\pm2,... cn​=T1​∫−T/2T/2​f(t)e−jT2πn​tdt,n=0,±1,±2,...

1.3 冲激及其取样特性

  连续变量t在t=0处的单位冲激表示为δ(t)\delta(t)δ(t),定义为:
δ(t)={∞,t=00,t≠0\delta(t)=\begin{cases}\infty,t=0\\0,\ \ t\neq0\end{cases} δ(t)={∞,t=00,  t​=0​

  它还被限制满足等式∫−∞∞δ(t)dt=1\int_{-\infty}^{\infty}\delta(t)dt=1∫−∞∞​δ(t)dt=1,物理上,如果把t解释为时间,那么一个 冲激可以看成是幅度无限,持续时间为0,具有单位面积的尖峰信号,一个冲激具有关于如下积分的所有取样特性:
∫−∞∞f(t)δ(t)dt=f(0)\int_{-\infty}^{\infty}f(t)\delta(t)dt=f(0) ∫−∞∞​f(t)δ(t)dt=f(0)

  更一般地,取样特性涉及位于任意点t0t_0t0​的冲激,表示为δ(t−t0)\delta(t-t_0)δ(t−t0​),这样取样特性变为:
∫−∞∞f(t)δ(t−t0)dt=f(t0)\int_{-\infty}^{\infty}f(t)\delta(t-t_0)dt=f(t_0) ∫−∞∞​f(t)δ(t−t0​)dt=f(t0​)

  它在冲激位置t0t_0t0​处得到一个函数值,例如如果f(t)=cos⁡(t)f(t)=\cos(t)f(t)=cos(t),使用冲激δ(t−π)\delta(t-\pi)δ(t−π)得到结果f(π)=cos(π)=−1f(\pi)=cos(\pi)=-1f(π)=cos(π)=−1。

  对于离散变量,也有类似的定义,只不过积分号变为累加号而已。
  接着,我们定义冲激串sΔT(t)s_{\Delta T}(t)sΔT​(t),定义为无限多个分离的周期冲激单元ΔT\Delta TΔT之和:

  如下图所示的一个冲激串的例子:

1.4 连续变量函数的傅立叶变换

  由ζ{f(t)}\zeta\{f(t)\}ζ{f(t)}表示连续变量t的连续函数f(t)的傅立叶变换如下:
ζ{f(t)}=∫−∞∞f(t)e−j2πμtdt\zeta\{f(t)\}=\int_{-\infty}^{\infty}f(t)e^{-j2\pi\mu t}dt ζ{f(t)}=∫−∞∞​f(t)e−j2πμtdt

  因为t被积分过了,所以ζ{f(t)}\zeta\{f(t)\}ζ{f(t)}仅是μ\muμ的函数,这样f(t)的傅立叶变换可写为:
F(μ)=∫−∞∞f(t)e−j2πμtdtF(\mu)=\int_{-\infty}^{\infty}f(t)e^{-j2\pi\mu t}dt F(μ)=∫−∞∞​f(t)e−j2πμtdt

  给定F(u),通过傅里叶反变换可以获得f(t),即f(t)=ζ−1{F(μ)}f(t)=\zeta^{-1}\{F(\mu)\}f(t)=ζ−1{F(μ)},写为:
f(t)=∫−∞∞F(μ)ej2πμtdμf(t)=\int_{-\infty}^{\infty}F(\mu)e^{j2\pi\mu t}d\mu f(t)=∫−∞∞​F(μ)ej2πμtdμ

  利用欧拉公式,我们可以将傅里叶变换表示为:
F(μ)=∫∞−∞f(t)[cos⁡(2πμt)−jsin⁡(2πμt)]dtF(\mu)=\int_{\infty}^{-\infty}f(t)[\cos(2\pi\mu t)-j\sin(2\pi\mu t)]dt F(μ)=∫∞−∞​f(t)[cos(2πμt)−jsin(2πμt)]dt

  可以看到,如果f(t)是实数,那么变换通常为复数。举个例子,下图所示的简单函数的傅立叶变换:

  变换如下:

  其中最后一部运算利用了sin⁡θ=(ejθ−e−jθ)/2j\sin\theta=(e^{j\theta}-e^{}-j\theta)/2jsinθ=(ejθ−e−jθ)/2j,这样傅立叶变换的复数项精细地合并为一个实正弦函数,最后一步正是sinc函数sinc(m)=sin⁡(πm)πmsinc(m)=\frac{\sin(\pi m)}{\pi m}sinc(m)=πmsin(πm)​,下面给出上述傅立叶变换后F(μ)F(\mu)F(μ)的曲线:

  取F(μ)F(\mu)F(μ)的绝对值称为幅值,该幅值也称为傅里叶谱或频谱,曲线如下所示:

  位于原点的单位冲激的傅立叶变换:

  类似地在t=t0t=t_0t=t0​的一个冲激的傅立叶变换是:

  冲激串sΔT(t)s_{\Delta T}(t)sΔT​(t)是一个周期为ΔT\Delta TΔT的周期函数,可以表示为一个傅里叶级数:

  其中:

  因为积分区间上的积分仅包含位于原点的冲激sΔT(t)s_{\Delta T}(t)sΔT​(t),上面的公式可以表示为:

  傅里叶级数可展开为:

  因为求和是线性过程所以和的傅立叶变换和分量傅立叶变换之和相等,这些分量是指数形式,而且之前我们得到:

  因此周期冲激串sΔT(t)s_{\Delta T}(t)sΔT​(t)的傅立叶变换表示为:

  可知,冲激串的傅立叶变换仍是冲激串,只不过周期变为原来的倒数。

1.5 卷积

  两个函数的卷积涉及一个函数旋转180°并滑过另一个函数,滑动过程中每一个位移处执行计算,下面考虑连续变量t的两个连续函数f(t)和h(t)的卷积,因此用积分代替求和,卷积定义如下:

  其中,符号是翻转,t是一个函数滑过另一个函数的唯一,τ\tauτ是积分假变量。
  上式的傅立叶变换可以写为:

  因为:
  其中H(u)是h(t)的傅立叶变换,则有:

  将t所在的域称为空间域,u所在的域称为频率域。上式说明,空间域中两个函数的卷积的傅立叶变换等于两个函数的傅立叶变换在频率域的乘积,也就是说,如果有两个变换的乘积,那么可以通过傅里叶反变换得到空间域的卷积,也就是说f(t)★h(t)和H(u)F(u)是傅立叶变换对,这一结果就是卷积定理的一半:记为f(t)★h(t)⇔H(μ)F(μ)f(t)★h(t)\Leftrightarrow H(\mu)F(\mu)f(t)★h(t)⇔H(μ)F(μ),卷积定理的另一半自然是:f(t)h(t)⇔H(μ)★F(μ)f(t)h(t)\Leftrightarrow H(\mu)★F(\mu)f(t)h(t)⇔H(μ)★F(μ)
  卷积定理是频率与滤波的基础。


欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

opencv图像分析与处理(4)- 频率域滤波的基础概念相关推荐

  1. OpenCV —— 频率域滤波(傅里叶变换,低通和高通滤波,带通和带阻滤波,同态滤波)

    频率域滤波 基本概念 傅里叶变换 二维离散的傅里叶变换 快速傅里叶变换 傅里叶幅度谱与相位谱 谱残差显著性检测 卷积与傅里叶变换的 频率域滤波 低通滤波和高通滤波 带通和带阻滤波 同态滤波 基本概念 ...

  2. 【OpenCV 例程200篇】86. 频率域滤波应用:指纹图像处理

    [OpenCV 例程200篇]86. 频率域滤波应用:指纹图像处理 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 4 ...

  3. (十一)OpenCV实现图像频率域滤波

    1.基础 见<数字图像处理第四版>P137-P209 1.1傅里叶变换Fourier Transform Fourier Transform由法国的一位数学家和物理学家Jean-Bapti ...

  4. OpenCV实现频率域滤波——以高斯低通滤波去噪为例

    最近由于作业原因,试着用OpenCV实现频率域滤波,但是OpenCV中并没有像MATLAB中fftshift这样的中心化操作,所以我写了一个频率域滤波的函数,以后用频率域滤波的时候在主函数中调用即可. ...

  5. 数字图像处理第四章频率域滤波(低通滤波器、高通滤波器、拉普拉斯滤波、同态滤波器)

    本章节的主要内容具体包括:傅里叶变换的概念及处理的相关知识.频率域卷积概念.三种低通滤波器的原理及代码实现.三种高通滤波器的原理及代码实现.频率域拉普拉斯算法原理及实现.同态滤波器原理及代码实现. 4 ...

  6. 空间滤波 频率域滤波

    图像滤波包括:空间阈滤波 和 频率域滤波 . 空间域滤波 空间滤波和空间滤波器的定义 使用空间模板进行的图像处理,被称为空间滤波.模板本身被称为空间滤波器. 执行空间滤波时的相关和卷积概念 一维滤波器 ...

  7. 数字图像处理——第四章 频率域滤波

    数字图像处理--第4章 频率域滤波 文章目录 数字图像处理--第4章 频率域滤波 频率域 1.傅里叶级数原理 1.1.一维傅里叶变换 1.2.二维傅里叶变换 2.python×傅里叶级数 2.1.傅里 ...

  8. 频率域滤波matlab函数,频率域滤波(2) - osc_t0xmr011的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.频率域滤波的基本步骤: 1)使用函数tofloat把输入图像转换为浮点图像(im2double函数也可以) [f,revertclass] = tofloat(f) 2)使用函数paddedsiz ...

  9. 图像处理中的傅里叶变换和频率域滤波概念

    写在前面的话 作者是一名在读的硕士研究僧,方向是机器视觉.由于视觉是一门相对复杂的学科,作者在课堂上学到的东西只是非常浅显的内容,我们老师说是,领我们进了个门.现在打算利用图书馆和网络上的资源进行自学 ...

  10. 第4章 Python 数字图像处理(DIP) - 频率域滤波11 - 使用高通滤波器锐化图像

    目录 使用高通滤波器锐化图像 由低通滤波器得到理想.高斯和巴特沃斯高通滤波器 指纹增强 频域中的拉普拉斯 钝化掩蔽.高提升滤波和高频强调滤波 同态滤波 使用高通滤波器锐化图像 由低通滤波器得到理想.高 ...

最新文章

  1. nginx特定的 404页面利于seo
  2. 计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次?
  3. 前端学PHP之PHP操作memcache
  4. 病例对照研究和队列研究详解
  5. Obtaining the String
  6. UiPath: Selectors repair 选择器的修复,即被选择的按钮发生改变如何选择第二按钮...
  7. JBoss4.2.3GA 配置 Quartz
  8. centos7 运行 jar_centos7两行命令就部署了服务器测试环境?(java)
  9. 不要让SOA控制我们的思想
  10. pointnet源码阅读:model
  11. 统一资源定位符URL和统一资源标识符URI
  12. 深度详解新iPad八核GPU
  13. 增量迭代模型,瀑布模型,螺旋模型,快速原型模型
  14. 顶刊TIP 2022!阿里提出:从分布视角出发理解和提升对抗样本的迁移性
  15. Excel信息批量替换Word模板生成新文件
  16. 【Uipath杂谈】字符串处理汇总
  17. 数学运算符和运算符的优先级
  18. 三星手机的计算机功能在哪里,三星手机隐藏特殊功能 三星手机使用技巧大全...
  19. python 不安全的包或方法_Python中的10个常见安全漏洞及修复方法
  20. 我的Linux(ubuntu)自学笔记分享

热门文章

  1. Es6语法实现的转盘抽奖效果——可配置转盘的抽奖概率
  2. Hbase的安装与测试
  3. 中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
  4. Android---------------ContentProvider的学习
  5. 通过Visual Studio 2012 比较SQL Server 数据库的架构变更
  6. Python中文转拼音代码(支持全拼和首字母缩写)
  7. centos 6 安装 php 5.5 fpm支持
  8. 广播的接收与U盘广播
  9. css3的clip-path方法剪裁实现(三角形,多边形,圆,椭圆)
  10. 教你如何理解Vue中的nextTick