opencv笔记5:频域和空域的一点理解

时间:2022-08-30 22:10:34

time:2015年10月06日 星期二 12时14分51秒

# opencv笔记5:频域和空域的一点理解

空间域和频率域

傅立叶变换是f(t)乘以正弦项的展开,正弦项的频率由u(其实是miu)的值决定。因为积分后左边剩下的为一变量是频率,所以我们说傅立叶变换域是频率域。
(《数字图像处理》冈萨雷斯,中文第三版P128)

当变量t用于说明图像时,我们一般将变量t的域称为空间域。

按《图像处理》(章毓晋)的理解,首先是认同模板操作的,然后借助卷积定理,将模板操作转化为傅立叶的乘积,也就是图像的傅立叶结果F(u,v)与转移函数H(u,v)相乘。

这个方向上看是OK的,无论是推导证明,还是物理意义。但是反过来呢?图像的傅立叶F与转移函数H相乘,这本身有什么意义吗?

===
并不需要考虑频率域中傅立叶F和转移函数H相乘的含义。我们就从模板操作考虑就好了。模板操作,就是说用模板框定的范围内的像素点,来更新当前点的灰度值。
更性的时候,有个问题:为什么(空间域的)高斯滤波又叫高斯模糊?所谓模糊不就是平滑的意思吗?平滑和锐化是相对的,平滑可以理解为“去除高频分量”,这不就是在说低通滤波吗?也就是(模糊<=>平滑<=>去除高频分量<=>低通滤波),这几个概念是等价的。那么,高斯滤波为什么算是低通滤波呢?

再观察几个其他的空间域滤波模板,比如平均模糊,就又一个更大的疑问:模板矩阵中元素都为正数,这是低通滤波(平滑、模糊操作)的特性吗?

是的。But why?这可以从频率域相关公式推导出来:频率域的高斯低通滤波器H(u),用反傅立叶变换得到的空间域相应的低通滤波器h(x),发现它们的取值都是正的。因此,使用一个全部带正系数的模板就可以在空间域中实现低通滤波
同时还有另一个结论:空间域模板尺寸越大,模糊的就越厉害。
(具体细节,参考冈萨雷斯《数字图像处理》第三版中文翻译本,P167~168)

类似地,用两个高斯函数做差,其结果是一个高斯高通滤波器H(u),用反傅立叶变换得到的空间域相应的低通滤波器h(x),观察h(x)图像发现中间为正,两边是负的。这说明:频域空间高通滤波器对应的空间域高通滤波器的模板,其系数是:锚点(也就是中心点)是正的,其他点是负的或者是0(4邻域和8邻域还是有点不同的)

我认为看频域滤波的目的,就是了解以上两条结论。

当然,上述两条结论的推导中,还有点小疑问。为什么高斯函数它就是低通滤波器?
因为是H(u)和F(u)相乘,所以观察H(u)的图像就好了。发现低通滤波的H(u)图像,都是中间有隆起,两边衰减。那么相乘的效果就是,中心附近的F(u)会被放大(其实不会放大,因为H(u)中心取值都是1,其他地方都小于1)、保留,就算是衰减,也是从中心往四周衰减的。也就是说,距离H(u)的中心越远,衰减越厉害。那么这个距离,和频率是什么关系?

前面看到,u表示频率。这里其实图像是二维的,准确讲应该是使用H(u,v)和F(u,v),即u,v都是频率。那么(u,v)元组之间的大小关系,就使用距离来衡量了,也就是“点到点之间的距离”,那么所谓“低频”就是指“那些到中心点(u0,v0)的距离小的点(u,v)”,这些(u,v)点对应的傅立叶函数值F(u,v),是需要保留的低频分量

ref:《数字图像处理》冈萨雷斯,中文第三版

opencv笔记5:频域和空域的一点理解的更多相关文章

  1. opencv笔记4:模板运算和常见滤波操作

    time:2015年10月04日 星期日 00时00分27秒 # opencv笔记4:模板运算和常见滤波操作 这一篇主要是学习模板运算,了解各种模板运算的运算过程和分类,理论方面主要参考<图像工 ...

  2. opencv笔记6:角点检测

    time:2015年10月09日 星期五 23时11分58秒 # opencv笔记6:角点检测 update:从角点检测,学习图像的特征,这是后续图像跟踪.图像匹配的基础. 角点检测是什么鬼?前面一篇 ...

  3. OpenCV笔记大集锦(转载)

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  4. opencv笔记3:trackbar简单使用

    time:2015年 10月 03日 星期六 13:54:17 CST # opencv笔记3:trackbar简单使用 当需要测试某变量的一系列取值取值会产生什么结果时,适合用trackbar.看起 ...

  5. opencv笔记2:图像ROI

    time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...

  6. opencv笔记1:opencv的基本模块,以及环境搭建

    opencv笔记1:opencv的基本模块,以及环境搭建 安装系统 使用fedora22-workstation-x86_64 安装opencv sudo dnf install opencv-dev ...

  7. 对socket的一点理解笔记

    需要学web service,但是在视频中讲解到了socket套接字编程.以前貌似课上老师有提过,只是没用到也感觉乏味.现在遇到,自己看了些博客和资料.记录一点理解,不知正确与否. 首先说这个名字,叫 ...

  8. iOS 的一点理解(一) 代理delegate

    做了一年的iOS,想记录自己对知识点的一点理解. 第一篇,想记录一下iOS中delegate(委托,也有人称作代理)的理解吧. 故名思议,delegate就是代理的含义, 一件事情自己不方便做,然后交 ...

  9. 关于web开发的一点理解

    对于web开发上的一点理解 1 宏观上的一点理解 网页从请求第地址 到获得页面的过程:从客户端(浏览器)通过地址 从soket把请求报文封装发往服务端   服务端通过解析报文并处理报文最后把处理的结果 ...

随机推荐

  1. git常见命令

    总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...

  2. 一、OWIN初探

    前言 OWIN在.NET Web Servers与Web Application之间定义了一套标准接口,OWIN的目标是用于解耦Web Server和Web Application.基于此标准,鼓励开 ...

  3. HDU5812 Distance(枚举 &plus; 分解因子)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5812 Description In number theory, a prime is a ...

  4. C&num;代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法

    你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法: 要么重写需要弹出的窗体的事件: protected override CreateParams ...

  5. PBS

    赞同,已经试验成功.后来查手册: $man qdel-p 的功能是强制净化队列.这个 "p" 可能是  "purge" 的缩略形式 qsub,qdel,qmgr ...

  6. Iframe知识点

    var oIframe=document.getElementById('iframe1'); 获取iframe对象:   oIframe.contentWindow.//  iframe 里的win ...

  7. ide编码害死人

    1.从网上复制代码的时候不要直接复制代码到ide中(MyEclipse,Eclipse)中这样在一般的情况下就没问题,但是在有编码规则的时候需要特别的小心,建议先复制到本地的txt文件中,然后在复制到 ...

  8. loading加载动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. python基础部分----文件、copy、内存指针

    0.来源:https://www.cnblogs.com/jin-xin/articles/9439483.html 1.is VS id() VS == 2.小数据池.代码块缓存机制 3.赋值符号= ...

  10. 上海高校程序设计联赛 D-CSL的字符串 栈模拟

    题目链接:https://ac.nowcoder.com/acm/contest/551/D ASCII码表示的字符转换成整数实测不超过200(具体多少懒得查了) 分析:要求总的字典序最小,那就让最小 ...