本文主要参考D Ghiglia和M Pritt的《Two Dimensional Phase Unwrapping: Theory, Algorithms and Software》中对相位重要性的例子

 

傅里叶变换

相信很多人都看过知乎上的大神文章,傅里叶变换之掐死教程,傅里叶变换可以将信号从时域转到频域,如下图在时域中的一段声音信号,频域中可以用一个音符来表示。

图像相位深度学习 图像相位图意义_相位

 

而图像的傅里叶变换,也就是二维傅里叶变换,可以将图像从空间域转到频域中,从中我们可以分别求出幅度谱和相位谱。

那对于一张图片,到底是幅度谱重要,还是相位谱更重要呢?

 

相位的重要性

现在有两张图片,一张是爱因斯坦,另一张是蒙娜丽莎,对这两张图片分别做傅里叶变换得到各自的幅度谱和相位谱

图像相位深度学习 图像相位图意义_三维重建_02

 

当然,只看两张图片的幅度谱和相位谱是看不出来哪个更重要的,但现在我们把

1.爱因斯坦图像的幅度谱蒙娜丽莎图像的相位谱结合,并做逆傅里叶变换。

2.蒙娜丽莎图像的幅度谱爱因斯坦图像的相位谱结合,并做逆傅里叶变换。

图像相位深度学习 图像相位图意义_三维重建_03

这样结合,到底会得到爱因斯坦还是蒙娜丽莎呢?

感兴趣的话可以用matlab写几行代码来实现看看

 

 

- - - - - - - - - - - -- - - - - - - - -  - - -- - - - --- - - - - - - 安静当条分割线✂ - - - - -- - - - - - - - - -- - - - - - - - - -- - - - - - - - - - - -  - - - - - - 

 

答案揭晓:

1.爱因斯坦图像的幅度谱蒙娜丽莎图像的相位谱结合,并做逆傅里叶变换,看起来是蒙娜丽莎

2.蒙娜丽莎图像的幅度谱爱因斯坦图像的相位谱结合,并做逆傅里叶变换,看起来是爱因斯坦

图像相位深度学习 图像相位图意义_相位解包裹_04

 我想这个例子就很好证明了图像的相位的重要性了。

最后划个重点:

图像的相位谱中,保留了图像的边缘以及整体结构的信息,

而错误的幅度谱看起来则像是噪声覆盖在原图上,但对并没有影响图像的内容本身。

 

附两幅图像FFT得到幅度谱、相位谱,交换相位谱后做IFT的matlab代码:

%读入图像
X=imread('x.jpg');
Y=imread('y.jpg');
%转为灰度图
x = rgb2gray(X);
y = rgb2gray(Y);
% 傅里叶变换
xf=fft2(double(x));
yf=fft2(double(y));
%取幅度和相位
xf1=abs(xf);
xf2=angle(xf);

yf1=abs(yf);
yf2=angle(yf);
%交换相位
xfr=xf1.*cos(yf2)+xf1.*sin(yf2).*1i;
yfr=yf1.*cos(xf2)+yf1.*sin(xf2).*1i;
%傅里叶逆变换
xr=abs(ifft2(xfr));
yr=abs(ifft2(yfr));
%转换成uint8类型
xf1=uint8(xf1);
xf2=uint8(xf2);
yf1=uint8(yf1);
yf2=uint8(yf2);
xr=uint8(xr);
yr=uint8(yr);
%显示
figure(1)
subplot(2,2,1);imshow(x);title('x 灰度图');
subplot(2,2,2);imshow(y);title('y 灰度图');
subplot(2,2,3);imshow(xr,[]);title('x 幅度谱 与 y相位谱');
subplot(2,2,4);imshow(yr,[]);title('y 幅度谱 与 x相位谱');
figure(2)
subplot(2,2,1);imshow(xf1,[]);title('x 幅度谱 ');
subplot(2,2,2);imshow(yf1,[]);title('y 幅度谱');
subplot(2,2,3);imshow(xf2,[]);title('x 相位谱');
subplot(2,2,4);imshow(yf2,[]);title('y相位谱');

 

部分参考文献:

D Ghiglia, M Pritt.Two Dimensional Phase Unwrapping: Theory, Algorithms and Software[M].