Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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 如何使用傅里叶变换确定图像的方向?_Matlab_Image Processing - Fatal编程技术网

Matlab 如何使用傅里叶变换确定图像的方向?

Matlab 如何使用傅里叶变换确定图像的方向?,matlab,image-processing,Matlab,Image Processing,如何使用fft找到方向?以下是想法() 我的问题是如何实现最后一步?下面是我尝试过但无法理解最后一步的代码。Matlab代码: t=imread('untitled5.png'); fontSize=12 [m,n]=size(t); img=fftshift(t(:,:,2)); g=fft2(img); c = g .* conj(g) ; d=fft2(c); 现在您必须创建遮罩。这里是一个如何使用面具的参考。阅读 这是一个开始

如何使用fft找到方向?以下是想法()

我的问题是如何实现最后一步?下面是我尝试过但无法理解最后一步的代码。Matlab代码:

    t=imread('untitled5.png');
    fontSize=12
    [m,n]=size(t);
    img=fftshift(t(:,:,2));
    g=fft2(img);
    c = g .* conj(g) ;
    d=fft2(c);

现在您必须创建遮罩。这里是一个如何使用面具的参考。阅读

这是一个开始

创建一个与图像尺寸相同的遮罩,并将其与
p
相乘,然后对矩阵求和。您将得到该方向的
A(θ)
。如果第一个掩码位于
掩码(:,:,1)
,并且如果您有4个掩码(
掩码(:,:,1),掩码(:,:,2),掩码(:,:,3),掩码(:,:,4)
)。然后剩下的代码将被删除

for indexTheta=1:4
    A(indexTheta)=sum(sum(P.*mask(:,:,indexTheta)));
end
现在,您将拥有四个方向的
A
。现在你完成了

现在您必须创建遮罩。这里是一个如何使用面具的参考。阅读

这是一个开始

创建一个与图像尺寸相同的遮罩,并将其与
p
相乘,然后对矩阵求和。您将得到该方向的
A(θ)
。如果第一个掩码位于
掩码(:,:,1)
,并且如果您有4个掩码(
掩码(:,:,1),掩码(:,:,2),掩码(:,:,3),掩码(:,:,4)
)。然后剩下的代码将被删除

for indexTheta=1:4
    A(indexTheta)=sum(sum(P.*mask(:,:,indexTheta)));
end

现在,您将拥有四个方向的
A
。现在你完成了。

我想找到方向。我的意思是我知道这些线的方向是90度。我想从傅里叶功率谱中找到那个值。你想要的是一个方向的单一值。你能更详细地更新你在这个问题上的想法吗。如果您对最后一步有任何参考。也包括这一点。我在我的q中添加了参考文件。如果你能指导我实现这个想法,我将不胜感激。谢谢。我正试图遵循你的想法。我想找到方向。我的意思是我知道这些线的方向是90度。我想从傅里叶功率谱中找到那个值。你想要的是一个单一的值你能不能更详细地更新一下你对这个问题的看法。如果您对最后一步有任何参考。也包括这一点。我在我的问题中添加了参考文件。如果你能指导我实现这个想法,我将不胜感激。谢谢你。我正在努力遵循你的想法。
for indexTheta=1:4
    A(indexTheta)=sum(sum(P.*mask(:,:,indexTheta)));
end