簡單的求取下灰度圖像的幅度譜和相位譜並進行雙譜重構:
直接上代碼:
clear all Picture = imread('E:\others\Picture\Library.jpg'); Picture_Gray = rgb2gray(Picture);%灰度處理 Picture_FFT = fft2(Picture_Gray);%傅里葉變換 Picture_FFT_Shift = fftshift(Picture_FFT);%對頻譜進行移動,是0頻率點在中心 Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%獲得傅里葉變換的幅度譜 Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%獲得傅里葉變換的相位譜 Picture_Restructure = ifft2(abs(Picture_FFT).*exp(j*(angle(Picture_FFT))));%雙譜重構 figure(1) subplot(221) imshow(Picture_Gray) title('原圖像') subplot(222) imshow(Picture_AM_Spectrum,[])%顯示圖像的幅度譜,參數'[]'是為了將其值線性拉伸 title('圖像幅度譜') subplot(223) imshow(Picture_Phase_Specture,[]); title('圖像相位譜') subplot(224) imshow(Picture_Restructure,[]); title('雙譜重構圖')
圖像的幅度譜代表的是圖像各像素點的亮度信息,即該像素應該顯示什么顏色,但是做出來的幅度譜卻不知道每一點在原圖像中具體是哪一點,即幅度譜雖然存儲了各個像素點的幅值信息,但是原像素點的位置已經被打亂,所以僅憑幅度譜是沒有辦法重構原圖像的。幅度譜的中心是低頻部分,越亮的地方代表的幅度越大。幅度譜中“十”字形亮線表示原圖像中水平和垂直方向的分量較其他方向要多,因為在人們周圍的自然場景中水平和垂直的線條出現的可能性較大。
來看下僅有幅度譜重構出來的原圖像:
Picture_Restructure = ifft2(abs(Picture_FFT));%幅度譜重構
可以看到僅有幅度譜重構出來的圖像啥也不是,,,
而相位譜記錄的是所有點的相位信息,看起來相位譜是一團噪聲,這也說明相位信息是以一種更為隱蔽的方式出現在人們面前的,但它非常重要,因為相位信息中攜帶者圖像的位置信息,沒有它將無法從品頻譜還原出原圖像。
相位譜重構原圖像:
Picture_Restructure = ifft2(exp(j*(angle(Picture_FFT))));%相位譜重構
可以看到僅有相位譜重構出來的圖像還是可以看到一些輪廓信息的,利用相位譜記錄的位置信息和幅度譜記錄的亮度信息,就可以用雙譜重構的方法恢復出原圖像。
————————————————
版權聲明:本文為CSDN博主「逸凌123」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36554582/article/details/88701865