
我试图创建一个Gabor过滤器. 我们都知道,此滤镜比其他任何滤镜都要复杂,因为它具有更复杂的功能,例如不同的比例和方向.

Gabor滤波器的等式为:

为了创建具有特定比例和方向的Gabor滤波器,我们为我们提供了一个简单的matlab代码:

sigma_x = sigma; sigma_y = sigma/gamma; nstds = 3; xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta))); xmax = ceil(max(1,xmax)); ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta))); ymax = ceil(max(1,ymax)); xmin = -xmax; ymin = -ymax; [x,y] = meshgrid(xmin:xmax,ymin:ymax); x_theta=x*cos(theta)+y*sin(theta); y_theta=-x*sin(theta)+y*cos(theta); gb= exp(-.5*(x_theta.^2/sigma_x^2+y_theta.^2/sigma_y^2)).*cos(2*pi/lambda*x_theta+psi);

我想知道此代码是否正确. 我注意到上面的代码没有完全响应Gabor滤波器方程. 例如: 在代码中,我们有: sigma_x = sigma和sigma_y = sigma / gamma…我们有gb = exp(– .5 *(x_theta…..)). 我不明白方程式中的5是什么.
上面编写的matlab代码是否正确响应了Gabor滤波器方程?如果需要,我需要您的意见,如果不正确,请优化代码.
任何帮助将不胜感激.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-290307-1.html
好帅
苏死的梨涡