Gabor滤波器原理

一、什么是Gabor函数(以下内容含部分翻译自维基百科)

       在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。

       还有,生物学实验发现,Gabor滤波器可以很好地近似单细胞的感受野函数(光强刺激下的传递函数),什么视皮层内的超柱,......总之是这方面仿生的数学模型。

       另外,网上有一种说法,gabor分为实部和虚部,用实部进行滤波后图像会平滑;虚部滤波后用来检测边缘。我查了文献,发现的确有人用Gabor的奇函数部分做边缘提取(《基于Gabor滤波器的边缘检测算法》 无线电工程 2000年第3卷第30期)。另外,从我的实验结果也有类似的发现。暂且认为这个对的吧。

       Gabor滤波器的脉冲响应,可以定义为一个正弦波(对于二维Gabor滤波器是正弦平面波)乘以高斯函数。由于乘法卷积性质,Gabor滤波器的脉冲响应的傅立叶变换是其调和函数的傅立叶变换和高斯函数傅立叶变换的卷积。该滤波器由实部和虚部组成,二者相互正交。一组不同频率不同方向的Gabor函数数组对于图像特征提取非常有用。

 

下面给出二维Gabor函数的数学表达:

复数表达:

实数部分:

虚数部分:

   

其中:

下面介绍公式中各个参数的含义,及参数如何配置问题【都从老外那翻译来的】:

波长(λ):它的值以像素为单位指定,通常大于等于2.但不能大于输入图像尺寸的五分之一。

方向(θ):这个参数指定了Gabor函数并行条纹的方向,它的取值为0到360度

相位偏移(φ):它的取值范围为-180度到180度。其中,0度和180度分别对应中心对称的center-on函数和center-off函数,而-90度和90度对应反对称函数。

长宽比(γ):空间纵横比,决定了Gabor函数形状(support,我翻译为形状)的椭圆率(ellipticity)。当γ= 1时,形状是圆的。当γ< 1时,形状随着平行条纹方向而拉长。通常该值为0.5

带宽(b):Gabor滤波器的半响应空间频率带宽b和σ/ λ的比率有关,其中σ  表示Gabor函数的高斯因子的标准差,如下:

σ的值不能直接设置,它仅随着带宽b变化。带宽值必须是正实数,通常为1,此时,标准差和波长的关系为:σ= 0.56 λ。带宽越小,标准差越大,Gabor形状越大,可见平行兴奋和抑制区条纹数量越多。

下面给出,不同参数配置下的Gabor核函数效果图,大小均100*100:

a.波长对比组【方向为:0,相位偏移量为:0,纵横比率为:0.5,带宽为:1,下图波长分别为5,10,15】

b.方向对比组【波长为:10,相位偏移量为:0,空间纵横比为:0.5,带宽为:1,方向分别为:0,45,90】

c.相位偏移量对比组【波长为:10,方向为:0,空间纵横比:0.5,带宽:1,相位偏移量分别为:0,180,-90,90】

d.空间纵横比对比组【波长:10,相位偏移量:0,方向:0,带宽:1,空间纵横比分别为:0.5,1】

e.带宽对比组【波长:10,方向:0,相位偏移量:0,空间纵横比:0.5,带宽分别为:0.5,1,2】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中的MAN命令

学习Linux的同学&#xff0c;都会使用man来查阅一些命令的帮助信息&#xff0c;常见的使用方法就是“man 命令名称”这样简单的格式。本文就对man命令简要介绍一下。 l man命令的章节 man就是manual的缩写&#xff0c;用来查看系统中自带的各种参考手册&#xff0c;但是手册页分…

全局曝光和卷帘曝光的区别

全局曝光和卷帘曝光是常见的相机曝光方式。一般来说&#xff0c;CCD相机是全局曝光&#xff0c;而CMOS相机则存在卷帘曝光。那么&#xff0c;这两种方式孰优孰劣呢&#xff1f;或者说&#xff0c;他们两者的差别在哪里呢&#xff1f;那么&#xff0c;先从两者的定义说起。 全局…

Titanium 列表显示TableView

效果&#xff1a; Titanium中列表显示需要创建TableView var tableView Ti.UI.createTableView({style: Ti.UI.iPhone.TableViewCellSelectionStyle.NONE //TableView样式}); TableView的每一个行叫做TableViewRow 设置TableViewRow的hasChild为true便可显示这样的效果&#x…

discuz x2.5插件开发傻瓜图文教程,用demo说话

2019独角兽企业重金招聘Python工程师标准>>> 刚刚接触DZ的插件开发&#xff0c;记个傻瓜图文教程&#xff0c;一是分享给初学者&#xff0c;二是方便自己以后回忆。 本篇文章适合人群&#xff1a;有一定的PHP开发经验&#xff0c;想通过一个简单明了的demo快速了解…

uva 11174(排列组合+搜索)

依然是liurujia计数练习题。依然是自己想没想出来&#xff0c;在MOD是素数的情况下除以x即为乘x的逆。这个真心以前没听过&#xff0c;用了这个方法后处理就变得十分巧妙。 整个程序步骤还是很清晰的&#xff0c;先上来算阶乘与逆&#xff08;求数的逆还是有点没理解透&#xf…

S5PV210的地址映射简介

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 S5PV210属于ARM Cortex-A8架构&#xff0c;是32位的CPU&#xff0c;有32根地址线和32根数据线。 这表明该CPU的寻址空间为4G&#xff0c;地址映射关系见下述。 S5PV210的地址映射 S5PV210的地址映射…

树莓派(Raspberry Pi):完美的家用服务器

出处&#xff1a;http://linux.cn/thread/11884/1/1/ 树莓派&#xff08;Raspberry Pi&#xff09;&#xff1a;完美的家用服务器 自从树莓派发布后&#xff0c;所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒&#xff0c;但…

[NOI2019]回家路线

LOJ3156 题面就不放了 , 放一下数据范围 . 看到 \(n<2000,m<4000\) 就想到直接 \(dfs\) 到底 , 居然就过了前 \(4\)个 样例 , 最后一个要 \(2s\) . 后来写了 \(AB0\) 的 \(5\) 分 , 我知道写的是错的 , 还是交了以下这份代码 . ( LOJ 数据应该是官方数据 ) 得分 \(70\) .…

重定位——重定位的简介与操作(涉及位置无关码)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a;位置无关码、位置有关码 - biaohc - 博客园 一、链接地址与运行地址 1、链接地址 链接地址&#xff0c;是指程序员通过Makefile中“ -Ttext xxx ”或者在链接脚本中指定的地址…

OpenCV学习(27) 直方图(4)

我们可以利用OpenCV的直方图&#xff0c;backproject直方图和meanshift算法来跟踪物体。下面通过简单的例子来说明如何实现跟踪算法&#xff0c;我们有两幅狒狒的图片&#xff0c;如下图所示&#xff1a;我们首先在左图中框选狒狒的脸&#xff0c;计算出框选区域的色度(HSV空间…

MySQL源码编译与初始化

MySQL源码编译与初始化 链接&#xff1a;https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ 提取码&#xff1a;ekpy 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 1.MySQL简介 1.1数据库有很多种类&#xff1a; 关系型数据库--->MySQL Oracle非关系型数据库…

uboot中的虚拟地址映射

1、DRAM有效范围 &#xff08;1&#xff09;DMC0上允许的地址范围是20000000-3FFFFFFF&#xff08;一共是512MB&#xff09;&#xff0c;而X210开发板实际只接了256MB物理内存&#xff0c;SoC允许我们给这256MB挑选地址范围。在裸机中DMC0的地址范围是0x20000000-0x2FFFFFFF&am…

.net remoting 技术

Remoting编辑目 录 1简介 2主要元素 3两种通道 4激活方式 5对象定义 6服务器 7客户 8基础补充 9小结 1简介 什么是Remoting&#xff0c;简而言之&#xff0c;我们可以将其看作是一种分布式处理方式 。从微软的产品角度来看&#xff0c;可以说Remoting就是DCOM的一种升级&#x…

浪客剑心:位图法Bitmap算法分析

看了博客园里一篇文章《一道腾讯前端试题&#xff0c;谁来试试身手》&#xff0c;正好以前了解过位图法&#xff0c;确实不错。位图法适用于大规模数据&#xff0c;但数据状态又不是很多的情况。通常是用来判断某个数据存不存在&#xff0c;如可标记1为存在&#xff0c;0为不存…

GoogLeNet结构

Inception V1 GoogLeNet结构&#xff08;Inception V1&#xff09; 输入为224x224的RGB图像&#xff0c;‘#3x3 reduce’和‘#5x5 reduce’表示3x3和5x5卷积之前1x1的卷积核的个数。 转载于:https://www.cnblogs.com/Peyton-Li/p/11201038.html

uboot的移植——移植三星官方的uboot到x210开发板

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、移植总结 二、移植过程 1、获取三星官方版本的uboot &#xff08;1&#xff09;由于X210开发板使用S5PV210这款CPU&#xff0c;因此我们应该寻找一块使用相同CPU的开发板&#xff0c;然后以这块…

Hadoop 文件命令

为什么80%的码农都做不了架构师&#xff1f;>>> * 文件操作 * 查看目录文件 * $ hadoop dfs -ls /user/cl * * 创建文件目录 * $ hadoop dfs -mkdir /user/cl/temp * * 删除文件 * $ hadoop dfs -rm /user/cl/temp/a.txt * * 删除目录与目录下所有文件 …

Swans and ducks, Piešťany, Slovakia

What Makes This a Photo of the Day? I love the slightly off-kilter composition here, with the cluster of birds near the bottom of the frame. This gives a sense of movement and allows the eye to take in the peripheral elements—the ripples of the water and…

python day15

今日内容 昨日内容补充: 对于两个文件中的互相导入md模块问题分析: x 1from md import xprint(x)# md中的xfrom md import xx 1000print(x)# 当前文件中的x __all__ 列表写什么,执行导入语句那个文件就能拿到什么; __all__不写的情况,默认是将所在文件所有的名字都暴露给导入…