如何使用相位谱-MATLAB找到图像中存在的频率位置?

时间:2015-05-30 10:17:15

标签: image matlab image-processing fft phase

我是图像处理的初学者。我想使用MATLAB绘制相位谱,任何图像都说Lena或摄影师。

我正在添加我尝试的代码,但我对该情节一无所知。

如何查找位置 使用相位在图像中存在的频率 频谱?

image=imread('E:\cameraman.jpg');
figure,imshow(image);
image=rgb2gray(image);
fourier_transform=fftn(image);

phase_spectrum=angle(fourier_transform);
figure,imshow(phase_spectrum)

1 个答案:

答案 0 :(得分:0)

要获得相位谱,您只需计算FFT并获得结果数组的角度(就像您所做的那样)。通常在fft之后执行fftshift操作,以便将图的原点移动到图的中心,即

lenaImage = imread('LenaG', 'bmp')
imshow(angle(fftshift(fft2(lenaImage))))

Lena图像和由此产生的相位图可以在下面看到。

enter image description here enter image description here