文章目录

  • Gabor滤波器
    • 复正弦载波
    • 高斯滤波
  • 参数解释
  • gabor滤波核实现
  • 效果:

Gabor滤波器

1946年,Dennis Gabor于在“Theory of communication”一文中提出了著名的“窗口”傅里叶变换(也叫短时Fourier变换,STFT),即Gabor变换。
在图像处理邻域,Gabor小波是一种非常有效的纹理表示方法。
在空域,一个2维的Gabor滤波器是一个正弦平面波和高斯核函数的乘积:

其中s(x, y)是一个复正弦信号,称为载波,Wr(x, y)是一个二维信号高斯型函数,称为包络线。

复正弦载波

复正弦函数的定义如下:

式中(u0, v0), P分别定义正弦信号的空间频率和相位。可以把这个正弦函数想象成两个独立的实函数,分别表示为复函数的实部和虚部:

可以直观的分别表示为:

参数u0和v0定义了直角坐标系中正弦信号的空间频率。这个空间频率也可以用极坐标表示为幅度F0和方向ω0:

则:

用这种表示法,复正弦函数是:



一般地,复正弦函数表示为:`

高斯滤波

二维高斯函数可以表示为:

那么将复正弦函和高斯滤波相乘,gabor滤波器复数形式可表示为:

下面更加直观地看一下这两者相乘的效果:

(a) 2D正弦面,(b)高斯核,©相应的Gabor滤波器。

参数解释

以上公式中各个参数说明:

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

方向(θ):并行条纹的方向,它的取值为0到360度

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

长宽比(γ):纵横比,决定了Gabor函数形状。当γ= 1时,形状是圆的。当γ< 1时,形状随着平行条纹方向而拉长。

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

下面给出不同参数下,gabor核函数的对比图:大小512*512

波长λ分辨分别为:8,16,32
方向(θ)分别为:0,45,90度

相位偏移(φ)分别为0,90,180度

长宽比(γ)分别为:0.5,1,2

带宽(b)分别为0.5,1,2

gabor滤波核实现

cv::Mat getGaborKernel(int ks, double sig, double th, double lm, double ps)
{int hks = (ks-1)/2;double theta = th*CV_PI/180;double psi = ps*CV_PI/180;double del = 2.0/(ks-1);double lmbd = lm;double sigma = sig/ks;double x_theta;double y_theta;cv::Mat kernel(ks,ks, CV_32F);for (int y=-hks; y<=hks; y++){for (int x=-hks; x<=hks; x++){x_theta = x*del*cos(theta)+y*del*sin(theta);y_theta = -x*del*sin(theta)+y*del*cos(theta);kernel.at<float>(hks+y,hks+x) = (float)exp(-0.5*(pow(x_theta,2)+pow(y_theta,2))/pow(sigma,2))* cos(2*CV_PI*x_theta/lmbd + psi);}}return kernel;
}

效果:

参考文献:
1、Gabor filter visualization
2、1-Petkov_Gabor_functions2011-Lecture notes
3、Texture features for browsing and retrieval of image data

Gabor滤波器特征提取原理讲解及c++实现相关推荐

  1. opencv-python 用Gabor滤波器实现指静脉血管区域二值化纹理特征提取

    之前写的都是有关于ROI的区域提取,但是对于提取到的区域我们需要提取它的特征,才可以在后期的特征匹配中排上用场. 这篇文章主要记录我是如何对指静脉图片做二值纹理特征提取的 原理: 一种比较特征提取简单 ...

  2. Gabor滤波器的特征提取C++实现

    自己项目中用到了Gabor滤波器,于是自己借助Opencv图像库,实现了Gabor滤波器的特征提取,用类的形式将其封装,希望对大家有用>0<. Gabor参数主要是5个尺度,8个方向,共4 ...

  3. 【youcans 的 OpenCV 例程200篇】193.基于Gabor 滤波器的特征提取

    OpenCV 例程200篇 总目录-202205更新 [youcans 的 OpenCV 例程200篇]193.基于Gabor 滤波器的特征提取 6.5 Gabor 滤波器 Gabor 变换是一种加窗 ...

  4. 基于Gabor滤波器的人脸特征提取

    Gabor小波变换的核函数,其最大的特点是其与人脑的皮层神经细胞的二维反射区具有相似的特征.基于Gabor小波变换的特征信息能够有效提取各种细节结构信息,因此Gabor小波变换在图像识别领域有着较为广 ...

  5. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波

    matlab设计: 与单纯运用某种自适应算法相比,基于小波分解的自适应滤波算法在收敛速度和稳定性上都有了很大的提高 小波变换: 示意:尺度越大,采用越大的时间窗,尺度越小,采用越短的时间窗,即尺度与频 ...

  6. gabor特征 gabor滤波器

    gabor特征 Gabor 特征是一种可以用来描述图像纹理信息的特征,Gabor 滤波器的频率和方向与人类的视觉系统类似,特别适合于纹理表示与判别.Gabor 特征主要依靠 Gabor 核在频率域上对 ...

  7. python实现Gabor滤波器-skimage(一)

    什么是Gabor滤波器? Gabor滤波器是一种由正弦波调制的高斯核线性滤波器.Gabor滤波器的频率和方向表示与人类视觉系统相似.Gabor滤波器组通常用于计算机视觉和图像处理.特别适用于边缘检测和 ...

  8. gabor滤波器简介

    在经过一天的浏览csdn,博客园后,总算是对gabor滤波器有了一个大概的了解,所以趁还热着,赶紧记录一下. 写的话,先给自己梳理下要写什么吧: 1. 什么是gabor滤波器,公式定义 2. gabo ...

  9. Gabor Filtering of Complex Hue/Saturation Images for Color Texture Classification Gabor滤波器:复杂色调/饱和度图

    课程PPT讲课记录--课程论文阅读--原论文/论文研读Ppt后续见资源. 目录 摘要 介绍 基础概念 2 Grayscale Gabor Filters -灰度Gabor过滤器 2.1 2D–Gabo ...

最新文章

  1. Provision Discovery流程分析
  2. 【BASIS系列】SAP Basis系统管理中重置用户缓冲哪些需要注意
  3. 系统架构设计的工程与艺术(0)
  4. 计算两个日期相差的小时差
  5. visio生成数据表图
  6. 佰腾科技:专利大数据的云上裂变之路
  7. 他在阿里的逆袭,只因为想做个“锤子”
  8. windows7 删除hiberfil.sys文件的方法
  9. Linux(四):虚拟机Ubuntu 卸载
  10. linux fb设备驱动,Linux FB 驱动讲解
  11. 数据结构严蔚敏 栈基本操作 C语言实现
  12. 如何访问仅限IPv6的网站
  13. Premiere Pro之经典类转场
  14. 方舟生存进化服务器信息错误,方舟生存进化网络错误信息怎么办
  15. vbnet 直线 弧形在autoCad中的画法
  16. html项目的致谢词,风格迥异的论文致谢词
  17. iOS app测试版发布方案TestFlight
  18. php js实现流程图,详解js中构造流程图的核心技术JsPlumb(2)_javascript技巧
  19. Curl转python在线工具
  20. c语言用字符输出李字,二级C语言历年真题汇总__第10篇对文件的输入输出-李赛红.doc...

热门文章

  1. 传统大华海康宇视安防摄像头RTSP流如何转webrtc直播低延时无插件浏览器视频播放
  2. 虚拟机、云主机、VPS 三者之间的区别
  3. 仿【咪咕动漫】列表下拉刷新上拉加载
  4. 读遍装修书,我们帮你选出了最有用的10本
  5. 5.12 按照多个条件进行组合排序 [原创Excel教程]
  6. 【转】阿里巴巴社招内推
  7. 我的世界服务器ess配置文件,《我的世界》ess指令大全及用法详解
  8. Gcd HYSBZ - 2818
  9. New Year Snowmen(贪心)
  10. 好书推荐之《麦田里的守望者》 隐私策略(Privacy policy)