作者:
saniao (saniao)
2014-12-19 16:09:35大家好
小弟剛入門影像處理fft這個領域
最近碰到一個問題想請教版上的高手
就是我有一張512x512影像(灰階) f(x,y)
我進行fft2運算後可以得到512x512個在頻率域中的複數值 F(u,v)
透過實部和虛部平方和開根號可以得到 大小函數值(magnitude) |F(u,v)|
透過tan^-1(虛部/實部) 可以得到相位角(phase angle) phi(u,v)
我想要測試如果用a影像的大小函數與b影像(按照上述也可以得到b影像的
大小函數值與相位角)的相位角組合 令其為F'(u,v)
F'(u,v)=|F(u,v)|*cos[pih(u,v)]+j*|F(u,v)|*sin[phi(u,v)]
影像a 影像b的 影像a 影像b的
的大小 相位 的大小 相位
利用ifft2將新組合逆轉換回影像空間
但是轉回來為何是非常不合理的黑白線條呢
程式碼如下
請板上程式神手指點迷津
ein = imread('einstein.jpg');
a = fft2(ein,512,512);
e_m = abs(a); %大小函數值
e_a = atan(imag(a)./real(a))*180/pi; %相位角(角度)
e_r=e_m*cos(m_a); %實部(相位角為另一張影像的相位角)
e_i=e_m*sin(m_a); %虛部(相位角為另一張影像的相位角)
c=e_r+e_i*j;
ein2=uint8(ifft2(c));
figure(1);
imshow(c);
謝謝