#!/usr/bin/python
# -*- coding: UTF-8 -*-
import cv2
import numpy as np
import pylab as pl
from skimage import data
img = data.camera()
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)
# accum = cv2.filter2D(img, cv2.CV_8UC3, filters)
for kern in filters:
fimg = cv2.filter2D(img, cv2.CV_8UC3, kern) #cv2.filter2D()允许用户使用自定义过滤器卷积图像
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角度排列
print getGabor(img, build_filters())
python.zip_python gabor_python gabor特征_vaporu6x_特征提取_特征提取 python
版权申诉
43 浏览量
2022-07-15
05:43:09
上传
评论
收藏 1KB ZIP 举报
御道御小黑
- 粉丝: 56
- 资源: 1万+
最新资源
- Semantic Color Palette 语义调色板Unity游戏开发插件资源unitypackage
- Low Poly Nature:Lush and Diverse Environments低聚自然郁郁Unity低多边形模型资源
- voc数据集是什么-我们如何使用voc数据集
- Edgar Pro-Procedural Level Generator程序关卡生成器Unity开发插件unitypackage
- 宝藏软件m3u8下载器\m3u8DL-CLI
- 三次样条插值的介绍-什么是三次样条插值原理
- http的一些相关介绍-对于我们来说什么是http
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈