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. Task02——零基础入门NLP - 新闻文本分类之数据读取与分析
  2. JavaScript初学者编程题(14)
  3. for循环:用turtle画一颗五角星
  4. python 开发板 播放音乐_MicroPython开发板:TPYBoard v102 播放音乐实例
  5. 32位CPU的机器只能支持4GB的内存吗?
  6. ITextSharp生成PDF
  7. 使用Google OAuth 2.0存取Google API (Google Client ID)
  8. java post 403_求助啊。。。。。。给服务器POST JSON报403
  9. gis导出栅格数据为什么不能tif_GIS基础操作教程(3)--点数据操作【附带练习数据】...
  10. 基于链表的学生成绩最高分计算问题计算用c语言编写课程设计,C语言程序设计课程设计-基于链表的学生成绩管理系统.doc...
  11. 《嵌入式Linux基础教程》补充阅读建议电子数目下载
  12. (二十一)美萍酒店管理系统:系统维护_系统设置_房间类型_房间费打折
  13. 有屋(东莞)搬家啦~ Sketchup草图大师设计拆单 有屋拆单 全屋定制拆单 衣柜橱柜拆单
  14. SCRUM敏捷开发教程
  15. https://github.com/qiangqiang666/demo
  16. 【czy系列赛】czy的后宫4 bzoj1925 [Sdoi2010]地精部落
  17. 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩:纹理映射技术(一)
  18. 计算机考证培训班价格
  19. 他把菜品变成远销省外的零食,经过口口相传,月卖70万
  20. 360开机小助手的广告怎么关

热门文章

  1. 蚂蚁金服与阿里云“双剑合璧”,加速释放金融科技时代新红利
  2. 体检明明不查乙肝,但是体检报告就是不合格,公司不让入职
  3. 《图解TCP/IP》——第一章 网络通讯基础
  4. android 清除通知栏,android startForeground去除通知栏
  5. autojs通知栏_监听通知栏失败,请教大佬!
  6. T1005: 地球人口承载力估计(信息学一本通C++)
  7. 基于WADE框架开发流程
  8. 备战腾讯面试经历分享,小伙终获Android岗Offer
  9. 【047】Testyourvocab-五分钟测试你的英语词汇量
  10. php global 要点