我计算了8个Theta旋转m * PI / 8的Gabor滤波器。
Gabor内核的参数作为OpenCv cv2.getGaborKernel的输入给出:
ksize = 11,theta = m * PI / 8 lambd = 16/3 sigma =(5.09030 * 8.0)/(3.0 * PI) Gamma = 0.5890 psi = 0
kernel = cv2.getGaborKernel(ksize = (ksize,ksize), sigma = sigma,
theta = theta, lambd = lambd,
gamma = gamma, psi = psi)
根据“使用Gabor滤波器族的特征提取”,Zhen,Zhao,Wang设计参数。
所采用的公式是第三类Gabor滤波器之一。
获得的8个过滤器是:
原始图像是:
通过过滤图像获得的图像是:
它们使用cv2.filter2D计算
fimg = cv2.filter2D(img, cv2.CV_64F, kernel)
为什么theta = 0和theta = PI / 2.0的gabor滤波器与其他滤波器相比具有真正不同的连续分量?
这对我来说真的没有意义。
最佳答案
原因是我将PSI参数设置为0。该问题立即得到解决,因为psi保持在默认值PI / 2。
关于opencv - 旋转Gabor内核过滤后的图像差异很大,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25938649/