Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的Gabor滤波器实现和频率响应是否正确?_Matlab_Image Processing - Fatal编程技术网

matlab中的Gabor滤波器实现和频率响应是否正确?

matlab中的Gabor滤波器实现和频率响应是否正确?,matlab,image-processing,Matlab,Image Processing,我试图在matlab中实现Gabor滤波器,就像在 这里也显示了,也绘制了频率响应。我有下面的代码。 此实现和生成的响应是否正确? 如果没有,我们将不胜感激。 是的,我觉得它们很好。这里有一个三维Gabor滤波器的例子:-这与你的绘图结果相比吗?@rayryeng感谢你的链接,尽管上面你会找到我的绘图结果。我只需要一只眼睛来确认/纠正这一点,或者知道我是否在正确的轨道上。考虑到不同的方向值,我对代码也很挑剔。你可以在matlab中运行代码,没有依赖关系。我觉得它很正确。是的,我觉得它们很好。这

我试图在matlab中实现Gabor滤波器,就像在 这里也显示了,也绘制了频率响应。我有下面的代码。 此实现和生成的响应是否正确? 如果没有,我们将不胜感激。


是的,我觉得它们很好。这里有一个三维Gabor滤波器的例子:-这与你的绘图结果相比吗?@rayryeng感谢你的链接,尽管上面你会找到我的绘图结果。我只需要一只眼睛来确认/纠正这一点,或者知道我是否在正确的轨道上。考虑到不同的方向值,我对代码也很挑剔。你可以在matlab中运行代码,没有依赖关系。我觉得它很正确。是的,我觉得它们很好。这里有一个三维Gabor滤波器的例子:-这与你的绘图结果相比吗?@rayryeng感谢你的链接,尽管上面你会找到我的绘图结果。我只需要一只眼睛来确认/纠正这一点,或者知道我是否在正确的轨道上。考虑到不同的方向值,我对代码也很挑剔。你可以在matlab中运行代码,没有依赖关系。我觉得它是正确的。
function gbImg = gaborFilter()
     a = 512; b = 512;
        delta = 7/3;
        yeta = 1;
        lambda = 7;
        theta.zero = 0;  theta.fortyfive = pi/4; theta.ninety = pi/2;
        theta.onethirtyfive = (3*pi)/4;
        xprime = @(x,y,tetat) ((x * cos(tetat)) + (y* sin(tetat)));
        yprime = @(x,y,tetat) (-(x * sin(tetat)) + (y* cos(tetat)));
        count = 1;
        for th = fieldnames(theta)'
        for i=1:19
            for j=1:19
                h_gb.(th{1})(i,j) = exp(-(xprime(i,j,theta.(th{1}))^2 + (yeta^2 * yprime(i,j,theta.(th{1}))^2))/(2*delta^2) ) * cos(((2*pi*xprime(i,j,theta.(th{1})))/lambda)+pi/2); % + theta.(th{1}));

            end
        end
        [gbImg.(th{1}),fx,fy] = freqz2(h_gb.(th{1}),a,b);
        [Fx,Fy] = meshgrid(fx,fy);
        figure(count);
        mesh(Fx,Fy,abs(gbImg.(th{1})));
        count = count +1;
        end
end