python 借助opencv实现Gabor滤波特征提取
首先说一下环境,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滤波特征提取相关推荐
- 小白学python(opencv边缘保留滤波EPF)
边缘保留滤波 高斯模糊只考虑了权重,只考虑了像素空间的分布, 没有考虑像素值和另一个像素值之间差异的问题,如果像素间差异较大 的情况下(比如图像的边缘),高斯模糊会进行处理,但是我们不需要 处理边缘, ...
- Gabor滤波简介与Opencv中的实现及参数变化实验
声明:本篇文章为转载,目的是便于以后查找学习 Gabor滤波是一种非常常见的特征提取算法,在人脸识别等领域有着很广泛的应用,在这里我主要介绍一下Gabor滤波器的公式及Opencv下的代码实现,以及我 ...
- Python 图像处理 | 图像平滑之均值滤波、方框滤波、高斯滤波及中值滤波
作者 | 杨秀璋,责编 | 夕颜 题图 | 视觉中国 出品 | CSDN博客 本篇文章主要讲解Python调用OpenCV实现图像平滑,包括四个算法:均值滤波.方框滤波.高斯滤波和中值滤波.全文均是 ...
- Python调用OpenCV实现图像平滑处理
1 前言 上一节,我们介绍了C++调用OpenCV接口,如何实现对图像的平滑处理,本节我们介绍一下在Python环境下调用OPenCV接口,如何对图像进行平滑模糊处理.接下来我们依次介绍均值滤波器.中 ...
- OpenCV—python Gabor滤波(提取图像纹理)
文章目录 一.Gabor滤波简介 二.代码演示 Gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,因此十分适合 ...
- 用Python实现OpenCV特征提取与图像检索 | Demo
参加「CTA 核心技术及应用峰会」,请扫码报名 ↑↑↑ 作者|Andrey Nikishaev 翻译 | 张蔚敏 审校 | reason_W 来源 | Python大本营(id:pythonnews ...
- 树莓派Ubuntu mate中借助OpenCV实现摄像头定时拍照并保存python语言
刚刚入门的小白,第一次写博客,有不妥的地方还望各路大佬多多指教~ 本帖主要是介绍利用python语言如何在树莓派Ubuntu mate中借助OpenCV实现摄像头给定间隔时间连续拍照,并以拍照时间命名 ...
- Python对图像进行二维Gabor滤波加速
1️⃣作业需求 选取5个尺度,36个方向共180个二维模板对一幅图像(任取,可用作业(1)的图像)分别做二维卷积,得到180幅滤波结果图像,以此作为基准Gabor滤波结果.由于这个基准算法处理速度很慢 ...
- Python使用Opencv图像处理方法完成手势识别(一)
Opencv完成手势识别 HSV的提取 特征提取 轮廓绘制 完整代码 由于是使用Opencv完成手势识别,所以首先利用颜色特征是对手的颜色进行提取,获得HSV的最小值与最大值. HSV的提取 HSV颜 ...
最新文章
- ​忆阻器会成为“存储墙”的破局者么
- 关于php插件pdo_mysql的安装
- mysql集群安装配置
- drools 规则流_约束流–没有Drools规则语言的现代Java约束
- matlab写函数进行坐标正反算,基于matlab的坐标正反算
- linux HA工作模型详解
- 关于vue2.0+hbuilder打包移动端app之后空白页面的解决方案
- Linux readelf命令
- 2020我国夏季洪涝主要受灾区卫星影像记录
- 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
- 前端调用微信扫一扫不触发事件,没有任何反应
- uniAPP 自定义页面导航烂 - 搜索 APP有效
- 数据库横向扩展和纵向扩展
- python实现自动答题详解含代码
- LC振荡电路 频域计算
- 呕心整理Java中的12种常用设计模式以及应用场景
- 计算机网路课后作业(2)——物理层
- RocketMQ原理及解析
- Metasploitable渗透测试实战:ms10-046
- JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
热门文章
- SpringCloud及SpringCloudAlibaba微服务组件
- cad一键卸载工具叫什么_「CAD」一键卸载AutoCAD工具、拿走不谢
- BugKu CTF(杂项篇MISC)—想要种子吗
- error:尝试引用已删除的函数或已显式删除函数
- ear的英语怎么念_ears用英语怎么读?
- 有道云笔记 markdown html,你不可不知的有道云笔记Markdown指南【进阶版】
- App Extension
- MDK AC6开启FPU移植DSP库时报错Error: L6242E: Cannot link object arm_cos_f32.o as its attributes are incompat
- 同城服务小程序开发的好处和功能方案介绍
- 命主属性是水什么意思_八字五行属性查询表,有没有五行属性含水的且