Gabor函数与人眼的生物作用相仿,尤其对于图片的方向和尺度特征可以很好的捕捉。所以,经常用于纹理、物体识别。对于Gabor的原理、公式不再赘述。
下面对Gabor滤波器用pytorch实现,并进行可视化:

import math
import torch
import numpy as np
from matplotlib import pyplot as pltdef getGaborFilterBank(nScale, M, h, w):#nscale表示波长,M表示方向,h表示图片的长,w表示图片的宽Kmax = math.pi / 2f = math.sqrt(2)sigma = math.pisqsigma = sigma ** 2postmean = math.exp(-sqsigma / 2)if h != 1:gfilter_real = torch.zeros(M, h, w)for i in range(M):theta = i / M * math.pik = Kmax / f ** (nScale - 1)xymax = -1e309xymin = 1e309for y in range(h):for x in range(w):y1 = y + 1 - ((h + 1) / 2)x1 = x + 1 - ((w + 1) / 2)tmp1 = math.exp(-(k * k * (x1 * x1 + y1 * y1) / (2 * sqsigma)))#tmp2 = math.cos(k * math.cos(theta) * x1 + k * math.sin(theta) * y1) - postmean # For real parttmp2 = math.sin(k * math.cos(theta) * x1 + k * math.sin(theta) * y1) # For imaginary partgfilter_real[i][y][x] = k * k * tmp1 * tmp2 / sqsigma          xymax = max(xymax, gfilter_real[i][y][x])xymin = min(xymin, gfilter_real[i][y][x])gfilter_real[i] = (gfilter_real[i] - xymin) / (xymax - xymin)else:gfilter_real = torch.ones(M, h, w)return gfilter_real#可视化
def plots(ims, interp=False, titles=None):ims=np.array(ims)mn,mx=ims.min(),ims.max()f = plt.figure(figsize=(12,24))for i in range(len(ims)):sp=f.add_subplot(1, len(ims), i+1)if not titles is None: sp.set_title(titles[i], fontsize=18)plt.imshow(ims[i], interpolation=None if interp else 'none', vmin=mn,vmax=mx)G=getGaborFilterBank(4,4,32,32)
plots(G)

结果如图所示:

Gabor滤波器 pytorch实现相关推荐

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

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

  2. gabor 幅值域 matlab,组合局部多通道Gabor滤波器和ICA的人脸描述与识别

    0引言人脸识别是当前人工智能和模式识别的研究热点,广泛应用于身份识别.护照识别.信用卡识别.摄像监视系统等领域.美国"911"事件后,人脸识别技术已经成为反恐的一种重要技术手段.在 ...

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

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

  4. 2017.06.27—今日总结,指纹识别图像增强提取频率、mask、gabor滤波器

    1.提取频率过程反复看了好几遍,大致过程能看懂,个别地方看不太懂:有些方面仍然需要仔细琢磨: 2. FingerprintGetMask:这个函数的作用是提取出图像中像素点周围相差异常的点,比如:如果 ...

  5. Gabor滤波器特征提取原理讲解及c++实现

    文章目录 Gabor滤波器 复正弦载波 高斯滤波 参数解释 gabor滤波核实现 效果: Gabor滤波器 1946年,Dennis Gabor于在"Theory of communicat ...

  6. Gabor滤波器学习

    本文的目的是用C实现生成Gabor模版,并对图像卷积.并简单提一下,Gabor滤波器在纹理特征提取上的应用. 一.什么是Gabor函数(以下内容含部分翻译自维基百科) 在图像处理中,Gabor函数是一 ...

  7. gabor特征 gabor滤波器

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

  8. gabor滤波 matlab,图像处理 – 使用matlab应用Gabor方程创建Gabor滤波器

    我试图创建一个Gabor过滤器.我们都知道这种滤波器比任何其他滤波器更复杂,因为它具有更复杂的特征,例如具有不同的尺度和方向. Gabor滤波器的等式是: 为了创建具有特定比例和方向的Gabor滤波器 ...

  9. Gabor滤波器进行纹理分割

    Texture-Segmentation-using-Gabor-FiltersGabor 推荐一个对Gabor特征总结很全面的文章:http://mengqi92.github.io/2015/10 ...

最新文章

  1. NOI2011 道路修建
  2. Silverlight实用窍门系列:52.Silverlight中的MVVM框架极速入门(以MVVM Light Toolkit为例)...
  3. 看django视频笔记
  4. php实际开发过程,4.工作实际开发应用
  5. 两个有序链表序列的合并
  6. selenium定位不到元素的原因。
  7. 2023考研王道计算机408数据结构+操作系统+计算机组成原理+计算机网络
  8. 《追风筝的人》的寓意读后感3200字:
  9. arptables实现ARP报文IPMAC绑定
  10. 电子科大杨宁TCPIP协议原理(总结)
  11. 学计算机白头,关于「一夜白头」的科学解释!90%的人不知道!
  12. 使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)
  13. Promise对象的基础入门学习
  14. <<视觉问答>>2021:Check It Again: Progressive Visual Question Answering via Visual Entailment
  15. 被人民日报点名的马保国,一年能挣多少钱?
  16. Java数据结构之基于ArrayList编写大众麻将和扑克牌洗牌小练习
  17. 1222 可以攻击国王的皇后
  18. 无人值守地磅防作弊就是在地磅周围加个摄像头吗?
  19. Spark Packages寻宝(一):简单易用的数据准备工具Optimus
  20. WPF ItemTemplate 绑定自身

热门文章

  1. 笔者在国庆期间发文的感概:思绪万千
  2. Kotlin读写Excel文件
  3. python正态分布函数_数学之美_正态分布(Python代码)
  4. 你需要理解一下“偏相关系数”及R语言实现
  5. Java 方法参数传递
  6. 你是如何转行的?转行容易吗? 1
  7. iOS8:TouchID
  8. API获取微信小程序二维码
  9. 我本可以忍受黑暗,如果我不曾见过太阳。
  10. Service(服务)之 Local Service(本地服务)