网站建设公司渠道,广州安全教育平台,怎么免费永久创建网站无广告,珠海手机网站建设公司OpenCV 例程200篇 总目录-202205更新 【youcans 的 OpenCV 例程200篇】192.Gabor 滤波器组的形状 6.5 Gabor 滤波器
Gabor 变换是一种加窗短时傅里叶变换#xff0c;以高斯函数作为短时傅里叶变换的窗函数#xff0c;因此可以在频域不同尺度、不同方向上提取特征。
Gabor 函…OpenCV 例程200篇 总目录-202205更新 【youcans 的 OpenCV 例程200篇】192.Gabor 滤波器组的形状 6.5 Gabor 滤波器
Gabor 变换是一种加窗短时傅里叶变换以高斯函数作为短时傅里叶变换的窗函数因此可以在频域不同尺度、不同方向上提取特征。
Gabor 函数对频率和方向表达与人类视觉响应非常类似且对图像的亮度变化、对比度变化、姿态变化都具有较强鲁棒性。Gabor 滤波器常用于边缘提取对纹理识别和分离的效果很好可以用于表达图像局部特征 在视觉领域中经常被用来作图像的预处理 。
在空间域将正弦函数与高斯函数进行卷积就得到 Gabor 滤波器其数学表达形式为
g(x,y)exp[−x′2γy′22σ2]⋅exp[i(2πx′λψ)]g(x,y) exp[- \frac{x^2\gamma y^2}{2 \sigma ^2}] \cdot exp[i(2 \pi \frac{x}{\lambda}\psi)] g(x,y)exp[−2σ2x′2γy′2]⋅exp[i(2πλx′ψ)]
实数部分 g(x,y)exp[−x′2γy′22σ2]⋅cos[(2πx′λψ)]g(x,y) exp[- \frac{x^2\gamma y^2}{2 \sigma ^2}] \cdot cos[(2 \pi \frac{x}{\lambda}\psi)] g(x,y)exp[−2σ2x′2γy′2]⋅cos[(2πλx′ψ)]
虚数部分 g(x,y)exp[−x′2γy′22σ2]⋅sin[(2πx′λψ)]g(x,y) exp[- \frac{x^2\gamma y^2}{2 \sigma ^2}] \cdot sin[(2 \pi \frac{x}{\lambda}\psi)] g(x,y)exp[−2σ2x′2γy′2]⋅sin[(2πλx′ψ)]
式中各参数的含义为 x′xcosθysinθy′−xsinθycosθx x cos \theta y sin \theta\\y - x sin \theta y cos \theta\\ x′xcosθysinθy′−xsinθycosθ
λ\lambdaλ滤波器核函数中正弦函数的波长像素数大于2小于图像尺寸的 1/5。 ψ\psiψ滤波器核函数中正弦函数的相位偏移角度-180180度。0度时白条为中心180度时黑条为中心。 θ\thetaθ滤波器核函数中平行条带的倾斜角度0360度。 γ\gammaγ空间纵横比核函数形状的椭圆率γ1\gamma1γ1 时为圆形γ1\gamma1γ1 时在条纹的平行方向伸长通常取 0.5。 σ\sigmaσ滤波器核函数中高斯函数的标准差。 bbb滤波器的半响应空间频率带宽通常取 1.0此时 σ/λ0.56\sigma / \lambda 0.56σ/λ0.56。带宽越小标准差越大平行条纹数量越多。
Gabor 滤波器的冲激响应是高斯函数与复指数函的乘积达到时频测不准关系的下界因此是兼顾信号在时频域的最优分辨率。
Gabor 滤波的基本思想是不同纹理具有不同的中心频率及带宽Gabor 滤波器是带通滤波器只允许特定频率的纹理通过因而可以分析和提取纹理特征。
Gabor 滤波器可以提取不同方向和不同尺度的特征通常选择若干尺度和方向进行组建立 Gabor 滤波器组。
OpenCV 中提供的 cv.getGaborKernel() 函数可以生成 Gabor 滤波器核。
函数说明
cv.getGaborKernel(ksize, sigma, theta, lambd, gamma[, psiCV_PI*0.5, ktypeCV_64F]) → retval参数说明
ksize滤波器核的尺寸sigma高斯包络的标准差theta平行条带的倾斜角度弧度制 [0,2π][0, 2\pi][0,2π]lambd正弦函数的波长gamma空间纵横比椭圆率psi相位偏移-180~180ktype数据类型可选 CV_64F、CV_32F 1.94 Gabor 滤波器组的形状 # 1.94 Gabor 滤波器组的形状GaborKernel []size [7, 9, 11, 13, 15, 17] # Gabor 滤波器尺寸lamda np.pi / 2.0 # 正弦函数波长plt.figure(figsize(10, 6))for i in range(4):theta i * np.pi/4 # 平行条带倾斜角度0°,45°,90°,135°for k in range(6):ksize (size[k], size[k]) # Gabor 滤波器尺寸kernel cv2.getGaborKernel(ksize, 1.0, theta, lamda, 0.5, 0, ktypecv2.CV_32F)kernel / kernel.sum()plt.subplot(4, 6, i*6k1), plt.axis(off)plt.imshow(kernel)GaborKernel.append(kernel)plt.tight_layout()plt.show()本节完 版权声明
OpenCV 例程200篇 总目录-202205更新 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/124970746)
Copyright 2022 youcans, XUPT Crated2022-5-25 欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列持续更新中 【youcans 的 OpenCV 例程200篇】185.图像金字塔之高斯金字塔 【youcans 的 OpenCV 例程200篇】186.图像金字塔之拉普拉斯金字塔 【youcans 的 OpenCV 例程200篇】187.由拉普拉斯金字塔还原图像 【youcans 的 OpenCV 例程200篇】188.基于拉普拉斯金字塔的图像融合 【youcans 的 OpenCV 例程200篇】189.基于掩模的拉普拉斯金字塔图像融合 【youcans 的 OpenCV 例程200篇】190.基于图像分割的图像融合 【youcans 的 OpenCV 例程200篇】191.基于图像分割的金字塔图像融合 【youcans 的 OpenCV 例程200篇】192.Gabor 滤波器组的形状 【youcans 的 OpenCV 例程200篇】193.基于Gabor 滤波器的特征提取 更多内容请见 【OpenCV 例程200篇 总目录-202206更新】