首先说一下环境,windows 8.0 64位系统,OpenCV版本为2.4.7, python 版本为2.7.6,IDE为 64位 Anaconda
目的是实现图像的Gabor特征提取,分三个小程序完成
包含头文件:

import cv2
import numpy as np
import pylab as pl

程序一,gaborl滤波器的构建,使用6个尺度分四个方向

**###   构建Gabor滤波器
def build_filters():filters = []ksize = [7,9,11,13,15,17] # gabor尺度,6个lamda = np.pi/2.0 #波长for theta in np.arange(0, np.pi, np.pi / 4): #gabor方向,0°,45°,90°,135°,共四个for K in xrange(6): kern = cv2.getGaborKernel((ksize[K], ksize[K]), 1.0, theta, lamda, 0.5, 0, ktype=cv2.CV_32F)kern /= 1.5*kern.sum()filters.append(kern)return filters

程序二,滤波过程

###    Gabor滤波过程
def process(img, filters):accum = np.zeros_like(img)for kern in filters:fimg = cv2.filter2D(img, cv2.CV_8UC3, kern)np.maximum(accum, fimg, accum)return accum

程序三,特征图生成并显示

###    Gabor特征提取
def getGabor(img,filters):res = [] #滤波结果for i in xrange(len(filters)):        res1 = process(img, filters[i])res.append(np.asarray(res1))pl.figure(2)for temp in xrange(len(res)):pl.subplot(4,6,temp+1)pl.imshow(res[temp], cmap='gray' )pl.show()return res  #返回滤波结果,结果为24幅图,按照gabor角度排列

结果展示如下:
24个滤波器核

24个滤波结果

转自这里

python 借助opencv实现Gabor滤波特征提取相关推荐

  1. 小白学python(opencv边缘保留滤波EPF)

    边缘保留滤波 高斯模糊只考虑了权重,只考虑了像素空间的分布, 没有考虑像素值和另一个像素值之间差异的问题,如果像素间差异较大 的情况下(比如图像的边缘),高斯模糊会进行处理,但是我们不需要 处理边缘, ...

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

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

  3. Python 图像处理 | 图像平滑之均值滤波、方框滤波、高斯滤波及中值滤波

    作者 | 杨秀璋,责编 | 夕颜 题图  | 视觉中国 出品 | CSDN博客 本篇文章主要讲解Python调用OpenCV实现图像平滑,包括四个算法:均值滤波.方框滤波.高斯滤波和中值滤波.全文均是 ...

  4. Python调用OpenCV实现图像平滑处理

    1 前言 上一节,我们介绍了C++调用OpenCV接口,如何实现对图像的平滑处理,本节我们介绍一下在Python环境下调用OPenCV接口,如何对图像进行平滑模糊处理.接下来我们依次介绍均值滤波器.中 ...

  5. OpenCV—python Gabor滤波(提取图像纹理)

    文章目录 一.Gabor滤波简介 二.代码演示 Gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,因此十分适合 ...

  6. 用Python实现OpenCV特征提取与图像检索 | Demo

    参加「CTA 核心技术及应用峰会」,请扫码报名  ↑↑↑ 作者|Andrey Nikishaev 翻译 | 张蔚敏 审校 | reason_W 来源 | Python大本营(id:pythonnews ...

  7. 树莓派Ubuntu mate中借助OpenCV实现摄像头定时拍照并保存python语言

    刚刚入门的小白,第一次写博客,有不妥的地方还望各路大佬多多指教~ 本帖主要是介绍利用python语言如何在树莓派Ubuntu mate中借助OpenCV实现摄像头给定间隔时间连续拍照,并以拍照时间命名 ...

  8. Python对图像进行二维Gabor滤波加速

    1️⃣作业需求 选取5个尺度,36个方向共180个二维模板对一幅图像(任取,可用作业(1)的图像)分别做二维卷积,得到180幅滤波结果图像,以此作为基准Gabor滤波结果.由于这个基准算法处理速度很慢 ...

  9. Python使用Opencv图像处理方法完成手势识别(一)

    Opencv完成手势识别 HSV的提取 特征提取 轮廓绘制 完整代码 由于是使用Opencv完成手势识别,所以首先利用颜色特征是对手的颜色进行提取,获得HSV的最小值与最大值. HSV的提取 HSV颜 ...

最新文章

  1. ​忆阻器会成为“存储墙”的破局者么
  2. 关于php插件pdo_mysql的安装
  3. mysql集群安装配置
  4. drools 规则流_约束流–没有Drools规则语言的现代Java约束
  5. matlab写函数进行坐标正反算,基于matlab的坐标正反算
  6. linux HA工作模型详解
  7. 关于vue2.0+hbuilder打包移动端app之后空白页面的解决方案
  8. Linux readelf命令
  9. 2020我国夏季洪涝主要受灾区卫星影像记录
  10. 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
  11. 前端调用微信扫一扫不触发事件,没有任何反应
  12. uniAPP 自定义页面导航烂 - 搜索 APP有效
  13. 数据库横向扩展和纵向扩展
  14. python实现自动答题详解含代码
  15. LC振荡电路 频域计算
  16. 呕心整理Java中的12种常用设计模式以及应用场景
  17. 计算机网路课后作业(2)——物理层
  18. RocketMQ原理及解析
  19. Metasploitable渗透测试实战:ms10-046
  20. JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)

热门文章

  1. SpringCloud及SpringCloudAlibaba微服务组件
  2. cad一键卸载工具叫什么_「CAD」一键卸载AutoCAD工具、拿走不谢
  3. BugKu CTF(杂项篇MISC)—想要种子吗
  4. error:尝试引用已删除的函数或已显式删除函数
  5. ear的英语怎么念_ears用英语怎么读?
  6. 有道云笔记 markdown html,你不可不知的有道云笔记Markdown指南【进阶版】
  7. App Extension
  8. MDK AC6开启FPU移植DSP库时报错Error: L6242E: Cannot link object arm_cos_f32.o as its attributes are incompat
  9. 同城服务小程序开发的好处和功能方案介绍
  10. 命主属性是水什么意思_八字五行属性查询表,有没有五行属性含水的且