Matlab 如何使用傅里叶变换确定图像的方向?
如何使用fft找到方向?以下是想法() 我的问题是如何实现最后一步?下面是我尝试过但无法理解最后一步的代码。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); 现在您必须创建遮罩。这里是一个如何使用面具的参考。阅读 这是一个开始
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