使用gabor特征提取python
时间: 2023-09-05 18:11:40 浏览: 149
在Python中使用Gabor特征提取,你可以使用OpenCV库来实现。下面是一个简单的示例代码:
```python
import cv2
import numpy as np
from scipy import ndimage
def gabor_filter(img, ksize, sigma, theta, Lambda, gamma, psi):
# 创建Gabor滤波器
gabor_kernel = cv2.getGaborKernel(ksize, sigma, theta, Lambda, gamma, psi, ktype=cv2.CV_32F)
# 进行滤波操作
filtered_img = cv2.filter2D(img, cv2.CV_8UC3, gabor_kernel)
return filtered_img
# 读取图像
img = cv2.imread('image.jpg', 0) # 灰度图像
# 设定Gabor滤波器参数
ksize = 31 # 滤波器尺寸
sigma = 5 # Gabor核的标准差
theta = np.pi / 4 # Gabor核的方向
Lambda = 10 # 波长
gamma = 0.5 # 横纵比
psi = 0 # 相位偏移
# 进行Gabor滤波
filtered_img = gabor_filter(img, ksize, sigma, theta, Lambda, gamma, psi)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Gabor Filtered Image', filtered_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先定义了一个`gabor_filter`函数,该函数接受输入图像、滤波器参数,并返回滤波后的图像。然后,我们读取了输入图像,并设定了Gabor滤波器的参数。最后,我们调用`gabor_filter`函数进行滤波,并显示结果图像。
请注意,这只是一个简单的示例代码,你可以根据自己的需求进行参数调整和功能扩展。同时,你需要确保安装了OpenCV和NumPy库。
阅读全文