Gabor滤波器(Gabor Filter)

文章目录

  • Gabor滤波器(Gabor Filter)
    • 简介
    • Gabor滤波器的不同参数
    • Gabor滤波器的简单应用(python)

简介

  • Gabor滤波器是一种线性滤波器,用于边缘检测、纹理分析、特征提取等。这些过滤器已被证明在空间域和频率域都具有最佳定位特性,因此非常适合纹理分割问题。
  • Gabor滤波器是带通滤波器的特殊类别,即它们允许特定的频率“带”而拒绝其他频率。
  • Gabor滤波器可以被视为特定频率和方向的正弦信号。
  • 在实践中,为了分析纹理或从图像中获得特征,需使用不同方向的Gabor滤波器。
  • 当输入图像与所有Gabor滤波器卷积时,模式很容易突出显示。当Gabor滤波器应用于图像时,它在边缘和纹理变化点给出最高的响应。当我们说滤波器响应特定特征时,指的是滤波器在该特征的空间位置具有显著值。

Gabor滤波器的不同参数

滤波器有一个表示正交方向的实数和虚数分量。这两个组件可以形成一个复数或单独使用。方程如图所示:

在上述方程中,

  • λ\lambdaλ :正弦分量的波长。波长控制着Gabor函数条带的宽度。增加波长会产生较厚的条纹,减少波长会产生更薄的条纹。
  • θ\thetaθ:控制Gabor函数的方向。零度对应于Gabor函数的垂直位置。
  • γ\gammaγ:控制长宽比或Gabor函数的高度。对于非常大的长宽比,高度变得非常小;对于非常小的长宽比,高度变得非常大,就像圆形与椭圆各自的长宽比。
  • σ\sigmaσ:控制带宽或Gabor包络的整体大小。对于较大的带宽,条纹数量增加。

Gabor滤波器的简单应用(python)

import numpy as np
import cv2
import matplotlib.pyplot as pltksize = 5
sigma = 3
theta = 1*np.pi/1
lamda = 1*np.pi/4
gamma = 0.5
phi = 0# ktype: what type of kernel values
# Once the kernel is generated, how do we want to store the numbers
# So 32F indicates the type and range of the values (float 32)
# sigma: bandwidth
# theta: orientation
# lamda: wavelength
# gamma: aspect ratio
# phi: phase offset
kernel = cv2.getGaborKernel((ksize, ksize), sigma, theta, lamda, gamma, phi, ktype=cv2.CV_32F)img = cv2.imread('synthetic.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)fimg = cv2.filter2D(img, cv2.CV_8UC3, kernel)kernel_resized = cv2.resize(kernel, (400,400))cv2.imshow('Original Image', img)
cv2.imshow('Filtered Image', fimg)
cv2.imshow('Kernel', kernel_resized)
cv2.waitKey()
cv2.destroyAllWindows


2021-08-07 Gabor滤波器简介以及简单应用相关推荐

  1. gabor滤波器简介

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

  2. 图像处理:Gabor滤波器简介以及python实现

    在图像处理中,以Dennis Gabor命名的Gabor滤波器是一种用于纹理分析的线性滤波器,本质上是指在分析点或分析区域周围的局部区域内,分析图像中是否存在特定方向的特定频率内容.Gabor滤波器的 ...

  3. gabor滤波器 opencv 实现

    转载请注明:http://www.cppblog.com/polly-yang/ 一.房屋检测小结 一开始,直接用LSD(Line Segment Detector)检测VHR(Very High R ...

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

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

  5. Doris Weekly FAQ】2021.07.19~2021.08.01

    观众朋友们: 晚上好! 欢迎收看[ Doris 近日要闻]~本次为您带来的是 2021年07月19日 - 2021年08月01日 的双周总结. Doris 社区周报每期会包含 FAQ 环节.我们会在社 ...

  6. Gabor滤波简介与Opencv中的实现及参数变化实验

    声明:本篇文章为转载,目的是便于以后查找学习 Gabor滤波是一种非常常见的特征提取算法,在人脸识别等领域有着很广泛的应用,在这里我主要介绍一下Gabor滤波器的公式及Opencv下的代码实现,以及我 ...

  7. 数字IC经典电路(4)——经典滤波器的实现(滤波器简介及Verilog实现)

    数字IC经典电路(4)-经典数字滤波器(滤波器简介及verilog实现) 写在前面的话 数字滤波器分类 经典数字滤波器 FIR滤波器 FFT-FIR滤波器 并行FIR滤波器 串行FIR滤波器 CIC滤 ...

  8. 生物特征识别中的Gabor滤波器

    Daugman(1980)提出的2D Gabor滤波器(以下简称Gabor滤波器),在纹理分类.纹理分割.生物特征识别中取得了广泛的应用.本文首先简要介绍Gabor滤波器,然后列举它在生物特征识别方面 ...

  9. 本博客导读(2021/08/09更新)

    文章目录 1. 简介 1.1 博客精神 1.2 写作目的 1.3 技术方向 1.4 博主 1.5 版权说明 2 推荐内容 2.1 主要代表作 2.2 其他推荐内容 3. 程序类 3.1 C#程序设计 ...

最新文章

  1. 单点登录实现(spring session+redis完成session共享)
  2. VueI18n的应用
  3. 部署php项目到linux
  4. form表单用js提前执行函数若不成功则不提交_面试必会的重复提交 8 种解决方案!...
  5. vue res返回html,vue 组件内获取actions的response方式
  6. 计算机专业中最受热议的4个专业,2018考研后身价倍增的4个专业盘点
  7. Hibernate 对c3p0配置不支持导致的错误
  8. idea 添加 golang 项目的 gopath
  9. 32 位和 64 位版本的 Office 2010 之间的兼容性
  10. LCD/OLED显示产品从新品导入量产的线体认证策划
  11. 基于Arduino的智能环境监测与反馈系统
  12. 通达信 移动平均算法_通达信公式教程,建议收藏,关注「所有文章只发表一次」...
  13. p6spy mysql8_P6Spy监控SQL语句及性能测试
  14. 家有千金之冰糖绿豆汤
  15. The Flee Plan of Groundhog(DFS)
  16. 天津SEO优化:seo优化后期网站关键词排名下降原因
  17. php做到聊天发图片,网页聊天框发送表情图片实现方法
  18. android webview 播放视频总结,Android WebView 播放视频总结~
  19. 你还在纠结器件丝印放错的烦恼么?
  20. 研二非科班研究生如何备战秋招

热门文章

  1. 年后准备跳槽一定要注意这几点。谨防踩坑
  2. Python制作简易记事本
  3. php 新闻分页,php jquery 实现新闻标签分类与无刷新分页
  4. android4 触摸屏驱动,android中如何设计触摸屏驱动touch screen driver
  5. 我的第一个C#程序-智能拼图游戏
  6. 西数USB硬盘 WD10JMVW-11AJGS 4数据恢复步骤
  7. 《HFSS电磁仿真设计从入门到精通》一2.2 T形波导内场分析
  8. 拖延,懒惰和没有条理是大多数人不能相对成功的关键因素
  9. Web实现:背景颜色渐变色
  10. 2021_GDUT_新生专题训练_数论