1. 程式人生 > >如何理解 影象傅立葉變換的頻譜圖 如何理解 影象傅立葉變換的頻譜圖

如何理解 影象傅立葉變換的頻譜圖 如何理解 影象傅立葉變換的頻譜圖

如何理解 影象傅立葉變換的頻譜圖

2018年09月18日 16:43:00 閱讀數:965

很多人都不瞭解影象(二維)頻譜中的每一點究竟代表了什麼,有什麼意義?

一句話:二維頻譜中的每一個點都是一個與之一一對應的二維正弦/餘弦波。

常言道,百聞不如一見,人腦對於影象的理解能力是非常發達的。換句話說,一副影象(不論是灰度的影象還是彩色影象)所提供的資訊是顯而易見,清晰有力的。然而,一副影象的傅立葉頻譜圖,卻常常讓人難以理解,捉摸不透,也正因為如此,相對於一維頻譜的頻域處理方式而言,二維頻域的處理方式顯得非常有限,例如,二維卷積的頻域計算,傅立葉中心切片定理Fourier Slice Theorem(醫學領域)。

這裡寫圖片描述

我這裡再次選用了著名的Cameraman的影象,這幅照片向我們表達的資訊是顯而易見的,一位優秀的攝影師,黑色的風衣,瀟灑的髮型,很有質感的皮手套,灰色的褲子,一臺照相機,一個三腳架,草坪,藍天,背景是MIT。而他的頻譜圖則並沒有像一維的頻譜圖那樣,有助於我們理解影象自身以外的或者是隱藏在影象背後的資訊。比如說,中間的那條白線是什麼,如果你沒看我之前寫的那篇文章你可能都不知道它究竟代表了什麼。這也就是我為什麼說,影象的傅立葉變換有些多此一舉,反而把一個簡單的問題弄得很複雜,弄巧成拙了。

言歸正傳,說了這麼多,搞影象的哪有不和二維傅立葉變換打交道的呢。現在我就盡力說明一下影象二維傅立葉變換的一些屬性(這裡主講二維頻譜的特性,一維裡面的共有特性就不細講了)。

1、週期性

DFT的週期性:時時刻刻都要記住,對於DFT而言,他的空域和頻域始終都是沿著X和Y方向無限週期拓展的。 
這裡寫圖片描述

如果只取其中的一個週期,則我們會得到如下的結果(即,頻譜未中心化)。

這裡寫圖片描述

為了便於頻域的濾波和頻譜的分析,常常在變換之前進行頻譜的中心化。

頻譜的中心化

從數學上說是在變換之前用指數項乘以原始函式,又因為e^jπ = 1,所以往往我們在寫程式的時候實際上是把原始矩陣乘以(-1)^(x+y)達到頻譜居中的目的。如下圖所示:1<—–>3 對調,2<—–>4 對調,matlab中的fftshit命令就是這麼幹的。

這裡寫圖片描述

變換後對調頻譜的四個象限(swap quadrant)

這裡寫圖片描述

經過中心化後的頻譜

這裡寫圖片描述

截取了其中的一個週期,作為影象的頻譜

這裡寫圖片描述

2、高低頻率的分佈

除了週期性之外,還應該知道的就是哪裡是高頻哪裡是低頻。在經過頻譜居中後的頻譜中,中間最亮的點是最低頻率,屬於直流分量(DC分量)。越往邊外走,頻率越高。所以,頻譜圖中的四個角和X,Y軸的盡頭都是高頻。

這裡寫圖片描述

沒有經過頻譜居中處理的頻譜圖則正好相反,中間區域是高頻,而四個角則是DC低頻分量。

這裡寫圖片描述

這裡我再用一個正弦波的例子來展示頻譜圖的高低頻的分佈,見下圖。

這裡寫圖片描述

頻譜中心化以後,正弦波的頻點靠中心越近,頻率越低,離中心越遠,頻率越高。

3、頻譜圖的能量分佈

這裡我順便提一下頻譜中的能級分佈,則如下圖所示。明顯,DC分量所佔能量最大最多,不論是二維還是一維都應該是這樣。頻率越高的部分,能量越少。如下圖所示,圖示畫的不好,勉強能夠理解就好。中間最小的那個圓圈內包含了大約85%的能量,中間那個圈包含了大約93%的能量,而最外面那個圈則包含了幾乎99%的能量。

這裡寫圖片描述

4、縱橫“交錯”性

在二維傅立葉變換中,空間域中橫向的週期變化會反應在頻譜圖中的Y軸上,而空間域中縱向的週期變化會反應在頻譜圖中的X軸上。空間域中東南方向的週期變化會反應在頻譜圖中的東北方向,反之亦然。說明見下圖。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

最後再附加一個例子。

這裡寫圖片描述

5、方向性(direction)

在二維頻譜圖中的任意“一對亮點”(注意:頻譜的對稱性),都在相應的空間域有一個與之相對應的二維正弦波。亮點在二維頻譜中的位置決定了與之對應的正弦波的頻率和方向。

在空域圖中的任意一條正弦線上,作該正弦線的法線。同時,把頻譜圖中的一對白色頻點和座標原點(DC中點)用一條直線連線起來。則,空域圖中的法線正好和頻譜圖中的連線是完全平行的,一致的。

這裡寫圖片描述

上圖是一個45度傾斜的正弦波影象。

注意空間域中的任意一條法線和頻譜圖中頻點和頻譜圖原點(DC)連線都是平行的,同時,空間域中的任意一條正弦線和頻譜圖中的連線是剛好正交的/垂直的。

這裡寫圖片描述

上圖為相同方向,較低頻率正弦圖的頻譜。注意圖中我用白色箭頭所畫的空間域(左圖)的法線和頻譜圖中(右圖)一對頻點和DC的連線延長線,是平行的。

這裡寫圖片描述

上圖為相同方向,較高頻率正弦圖的頻譜。注意圖中我用白色箭頭所畫的空間域(左圖)的法線和頻譜圖中(右圖)一對頻點和DC的連線延長線,是平行的。

下面我們來驗證一下其他角度的情況,這一法則是否適用。

這裡寫圖片描述

這裡寫圖片描述

上面所有的例子中的頻譜圖都是頻譜中心化的,那麼針對沒有經過頻譜中心化的圖呢?

這裡寫圖片描述

這些實驗還說明了一個非常重要的問題,那就是:頻譜圖中的任意一對對稱的兩點,或者說是頻點,經過傅立葉反變換之後,就是空間域中的一個與之對應的正弦波(即,相應的頻率和方向)。如下圖所示。

這裡寫圖片描述

6、平移和旋轉

影象的平移並不會影響影象的頻譜,同時,影象的相位會隨著影象的旋轉而旋轉。

這裡寫圖片描述

Part I 平移和旋轉對頻譜的影響 
下面我用矩形的頻譜圖來說明影象中矩形的平移並不會對頻譜有絲毫的影響。 
這裡寫圖片描述

再比如

這裡寫圖片描述

再來看看頻譜隨著矩形的旋轉而旋轉相同的角度。

這裡寫圖片描述

Part II 平移和旋轉對相位的影響 
先用一個簡單的例子來說明影象相位的作用(所用影象為cameraman),在影象的頻域分析和濾波中,相位是常常被忽略的。雖然相位分量的貢獻很不直觀,但是它恰恰很重要。相位是頻譜中各正弦分量關於原點的位移的度量。

上面的小實驗充分說明了,看似無用的,且常常被忽略的相位,在DFT的頻域中起到了多麼重要的作用(注意區分實部和虛部(直角座標系)VS 頻譜和相位(極座標系)!)。

接下來我們再來看看影象在空間域中的移位和旋轉對相位有什麼影響。下圖中,左邊一列是影象,中間一列是頻譜,右邊一列是相點陣圖。你必須意識到,通過肉眼,你很難從相點陣圖中得到什麼有用的資訊。

這裡寫圖片描述

這裡寫圖片描述

				<script>
					(function(){
						function setArticleH(btnReadmore,posi){
							var winH = $(window).height();
							var articleBox = $("div.article_content");
							var artH = articleBox.height();
							if(artH > winH*posi){
								articleBox.css({
									'height':winH*posi+'px',
									'overflow':'hidden'
								})
								btnReadmore.click(function(){
									articleBox.removeAttr("style");
									$(this).parent().remove();
								})
							}else{
								btnReadmore.parent().remove();
							}
						}
						var btnReadmore = $("#btn-readmore");
						if(btnReadmore.length>0){
							if(currentUserName){
								setArticleH(btnReadmore,3);
							}else{
								setArticleH(btnReadmore,1.2);
							}
						}
					})()
				</script>
				</article>

本文轉載於松下J27,原文分為三章講解,在此合併轉載 
文一:https://blog.csdn.net/daduzimama/article/details/80109139 
文二:https://blog.csdn.net/daduzimama/article/details/80394570 
文三:https://blog.csdn.net/daduzimama/article/details/80394596