python 借助opencv实现Gabor滤波特征提取
来源:互联网 发布:60智能网络电视机价格 编辑:程序博客网 时间:2024/05/17 02:00
首先说一下环境,windows 8.0 64位系统,OpenCV版本为2.4.7, python 版本为2.7.6,IDE为 64位 Anaconda
目的是实现图像的Gabor特征提取,分三个小程序完成
包含头文件:
import cv2import numpy as npimport 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个滤波结果
转自这里
阅读全文
0 0
- python 借助opencv实现Gabor滤波特征提取
- python 借助opencv实现Gabor滤波特征提取
- OpenCV实现Gabor滤波
- Gabor实现图像特征提取
- OpenCV实现Gabor滤波(2)
- 基于opencv的Gabor特征提取
- 基于opencv的Gabor特征提取
- Gabor滤波进行目标图像纹理特征的提取
- 图像处理之Gabor滤波提取纹理特征
- Gabor滤波器的特征提取C++实现
- Gabor滤波简介和实现(Matlab,OpenCV)
- Gabor滤波简介和实现(Matlab,OpenCV)
- Gabor滤波小结的OpenCV实现
- Gabor特征提取
- opencv Gabor滤波函数
- 基于OpenCV的Gabor变换及特征提取
- 基于OpenCV的Gabor变换及特征提取
- Gabor特征提取 保留版
- redis未授权访问致远程植入挖矿脚本
- ROS 中bag 包
- 文件操作
- 网络协议分析(IPv6/ICMPv6协议工作机制分析 )
- 软键盘短暂变黑记录
- python 借助opencv实现Gabor滤波特征提取
- 【JavaScript学习】Cookie & Web Storage
- 在项目中经常会遇到中文传参数,在后台接收到乱码问题。那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解。 一:get请求
- Microsoft Visual Source Safe 2005(VSS)安装使用图文教程
- 最新版Spark2.2读取多种文件格式数据
- 数据库学习---6
- 关于STL中deque容器的一些总结
- Python之路【第十二篇】前端之js&dome&jQuery
- http code 含义