數字圖像處理之傅里葉變換


數字圖像處理之傅里葉變換

                                                        by方陽

版權聲明:本文為博主原創文章,轉載請指明轉載地址

http://www.cnblogs.com/fydeblog/p/7068986.html 

1. 前言

 

今天將之前學的數字圖像處理的東西放到博客園里,所以下面會有連續幾篇的博客都是關於數字圖像處理的!

 

這篇博客將介紹圖像的快速傅里葉變換逆變換以及圖像的平移變換的實現,理論的知識還請看書和百度,這里不再復述

 

2. 原理說明

 

(1) 圖像的二維FFT變換可以觀察圖像的頻譜,再進行逆變換即可復原圖像;

 

(2) 圖像的平移性:圖像在空間域乘以-1^(x+y),再進行傅里葉變換,即可看出圖像的頻譜圖在x和y周平移了半個周期,原因是-1^(x+y)傅里葉變換表現復指數函數,相當於頻譜的平移;

 

3. 實現內容

 

(1) 選擇一幅圖像,顯示傅里葉變換頻譜。再對得到傅里葉圖像做傅里葉逆變換,顯示圖像,觀察是否與原圖像相同。

 

(2) 圖像做傅里葉變換的平移性證明,將頻譜中心移至中央。

 

4. 程序實現及實驗結果

 

(1) 圖像的傅里葉變換與反變換

 

參考代碼:

I=imread('lena.bmp');
I_2D=D3_To_D2(I);
I1=fft2(I_2D);
I2=uint8(real(ifft2(I1)));
I1=log(1+abs(fftshift(I1)));
figure;
subplot(1,3,1);
imshow(I);
title('原圖');
subplot(1,3,2);
imshow(I1,[]);
title('fft2后的頻譜');
subplot(1,3,3);
imshow(I2,[]);
title('ifft2后的復原圖像');

 

D3_To_D2函數(將三維降二維)參考代碼:

 

function image_out=D3_To_D2(image_in)
[m,n]=size(image_in);
 n=n/3;%由於我的灰度圖像是185x194x3的,所以除了3,你們如果是PxQ的,就不要加了
 A=zeros(m,n);%構造矩陣
 for i=1:m
     for j=1:n
        A(i,j)= image_in(i,j);%填充圖像到A
     end
 end
image_out=uint8(A);

 

運行結果:

(2)平移驗證

 

參考代碼:

f(1000,1000)=0;
f=mat2gray(f);
[Y,X]=meshgrid(1:1000,1:1000);
f(350:649,475:524)=1;
f2=f.*(-1).^(X+Y);
f1=fft2(f);
f1_1=abs(f1);
f2=fft2(f2);
f3=log(1+abs(f2));
figure;
subplot(2,2,1);
imshow(f);
title('原圖');
subplot(2,2,2);
imshow(f1_1,[]);
title('fft2后的頻譜');
subplot(2,2,3);
imshow(abs(f2),[]);
title('中心化');
subplot(2,2,4);
imshow(f3,[]);
title('對數化');

 運行結果:

(3)相角復原(新添的)

 

參考代碼:

I=imread('boy.jpg');
I=D3_To_D2(I);
I=fft2(I);
I_angle=angle(I);
I4=exp(1i*I_angle);
I4=uint8(ifft2(I4)*256);
I5=ifft2(I);
figure;
subplot(2,2,1);
imshow(I_angle);
title('相角');
subplot(2,2,2);
imshow(I4,[]);
title('相角復原后的圖像');
subplot(2,2,3);
imshow(I5,[]);
title('譜復原后的圖像');

 運行結果:

五. 結果分析

 

1.由第一個圖可以看出,圖像經過傅里葉變換再經過傅里葉反變換是可以還原出原圖像的。

 

2.由第二個圖可以看出,圖像的平移性對觀察圖像的傅里葉頻譜很有幫助,圖像的頻譜經過平移,低頻聚集在中心,易於觀察,對頻譜進行對數化可以更加直觀看圖像的頻譜分布。

 

3.由第三個圖可以看出,相角決定圖像的細節。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM