冷 斌 涂小華
(江西旅游商貿職業(yè)學院,江西 南昌 330100)
?
基于MATLAB數字圖像處理的傅立葉變換設計
冷 斌 涂小華
(江西旅游商貿職業(yè)學院,江西 南昌 330100)
MATLAB由于計算功能強大,又能支持矩陣運算,還能實現(xiàn)二次開發(fā),因此使用MATLAB軟件在處理數字圖像變?yōu)楝F(xiàn)實。本文重點講述圖像變換技術部分的設計,并通過傅立葉變換進行分析,并提出了科學的算法,使初學者簡單易學。
MATLAB 數字圖像處理 傅立葉變換 設計
人類通過圖像信息來獲取外部資訊,如何獲取圖像信息顯得尤為重要,但實際中獲得圖像信息不僅僅是我們的目的,更為重要的是我們應該如何將圖像信息進行處理,從現(xiàn)實中的大量復雜的圖像中來獲取到我們需要的信息。所以,在某種意義中來講,對圖像信息進行處理比獲得圖像更為重要。特別是在當今科技迅速發(fā)展的時代,對圖像處理提出了更高的要求。MATLAB軟件自從上世紀80年代推出以來,正逐步發(fā)展和不斷完善,已成為國際公認的、最優(yōu)秀的的科學計算與數學應用軟件之一,它具有矩陣運算、數值分析、信號處理及圖形顯示為一體,構成了一個方便、友好的用戶環(huán)境。能使初學者通過較短時間,做到比較系統(tǒng)的、感性的理解和學習圖像處理技術知識。
由Math works公司開發(fā)的MATLAB軟件,它是一款可視化軟件,并具有高性能的數值計算能力,它集數值分析、矩陣運算、圖形信號顯示和處理于一體,使之成為一個比較方便的、界面友好的用戶環(huán)境,在不同領域的應用中推出了神經網絡、圖像處理、信號處理、控制系統(tǒng)等30多個具有專門功能的工具箱,在MATLAB軟件中,往往數值圖像是以矩陣形式表示,而MATLAB軟件因其有強大的矩陣運算能力,使得對圖像處理非常有利,MATLAB主要優(yōu)點體現(xiàn)在:①功能強大,可擴展性強;②界面友好,編程效率高;③易學易用;④高效性。當然MATLAB也存在自身的缺點,這要有待于今后技術人員研究改善。
模擬圖像處理和數字圖像處理作為圖像處理技術的兩大方向,其中數字圖像處理就是指將圖像信號變成數字信號,然后進行計算機進行處理,數字圖像處理技術主要包括幾何處理、圖像增強、圖像復原、圖像重建、算術處理、圖像編碼、圖像識別等。數字圖像處理技術的特點主要集中為再現(xiàn)性好,處理精度高,適用面廣,靈活性高,信息壓縮的潛力大,對數字圖像處理辦法可從幾何處理、圖像重建、算數處理、圖像變換、圖像分割、圖像增強、圖像復原、圖像編碼等方面進行。數字圖像處理技術的發(fā)展涉及信息科學、計算機科學、數學、物理學及生物學等學科。
通過MATLAB編程語言來設計本系統(tǒng)的程序,把圖形用戶界面來作為程序運行的界面。使得整個系統(tǒng)的組成分成了若干運行界面以及相應的M函數文件,在界面中,每個菜單項和控件所對應的程序,都會找到一個相應的M函數。在軟件中,通常圖像的數學表示形式為二元函數f(x,y)。不同的顏色或者灰度分別在函數的不同特定點中表示。通常把圖像轉換為另一種表示方式的操作方式簡稱為圖像變換。通過圖像變換,可以改變圖像的表示數據和表示域,也可以給后面工作人員帶來方便。本文將對圖像處理的傅立葉變換重點建模。
(1)傅立葉變換的理論基礎與算法
通過傅立葉正交變換,設包含兩個離散空間變量m和n的f(m,n)函數,則可通過以下函數定義傅立葉變換:
式中,把ω1,ω2作為頻域變量,其單位為弧度/采樣單元。通常我們把函數f(m,n)的頻域特性用F(ω1,ω2)表示。函數F(ω1,ω2)中的變量ω1,ω2的周期均為2π,且該函數為復變函數,通常在圖像顯示的時候,變量的取值范圍為-π<ω1,ω2<π,原因在于變量存在周期性。
同樣,可得出傅立葉反變換定義如下:
該函數表明其為不同頻率的復指函數之和,幅度F(ω1,ω2)決定了不同的頻率點(ω1,ω2)所做的貢獻的多少。通常采用離散傅立葉變換作為處理傅立葉變換。我們采用快速傅立葉變換算法(FFT)來消除因傅立葉計算復雜、速度慢的缺點,且可以幫助解決在局部范圍內的信號表達的特性,而快速傅立葉變換的設計思想是建立在原函數的奇數項和偶數項上,并通過奇、偶數項相加,得到所需要的結果。
通過對其函數進行分解,使變換中的某些計算可以共同或重復使用,從而提高了計算效率,這就是FFT的基本原理,但是他的計算量仍然很大。
FFT的定義為:
其中:p=0,1,…,M-1;q=0,1,...,N-1。
其中:m=0,1,…,M-1;n=0,1,...,N-1。
(1)、(2)傅立葉變換算法進行改進。
假設輸入圖像為f(x,y),那么其頻譜F(u,v)為:
式中,F(xiàn)(u,v)是復函數,其可用用相位和振幅的形式表示為:
在傅立葉變換算法改進后,使用MATLAB補零及改變圖像象限,利用fft2(f,A,B)語句對被變換圖像進行補零操作,通過圖像進行比較,我們得出,改進的傅立葉變換算法應用后圖像的分辨率更高、零頻率分量也可以在圖像中央區(qū)域顯示。
在研究中,嘗試只用頻譜的振幅部分或者相位部分,將會產生不同的效果。利用頻譜的振幅部分F1=|F(u,v)|,對以上公式進行變換,發(fā)現(xiàn)振幅完全發(fā)生變化,這說明了F1沒有包含輸入圖像信息。利用相位部分F(u,v),此時假設振幅為常數,即F2=A*exp[j(F(u,v))],對以上公式進行變換,發(fā)現(xiàn)可以分辨輸入圖像的基本輪廓,再對F2進行逆變換,發(fā)現(xiàn)圖像反轉了,我們把此現(xiàn)象稱為傅立葉變換的共軛特性。
(1)、(3)通過以上操作,對傅立葉變換的處理步驟總結如下:
第一步:將原始圖像導入軟件中;
第二步:利用傅立葉將原始圖像變換,觀察變換幅值的變化;
第三步:在補零區(qū)域輸入區(qū)域大小A和B進行補零操作,觀察結果;
第四步:利用移位操作進行變換,觀察結果;
第五步:對圖像進行傅立葉變換,觀察相位譜的變化;
第六步:利用移位操作后的幅值圖像進行反變換,觀察結果;
第七步:利用圖像傅立葉變換操作后的相位譜圖像進行反變換,觀察結果;
第八步:利用復共軛的傅立葉反變換,觀察結果。
總之,傳統(tǒng)的傅立葉變換算法存在分辨率低和零頻率分量顯示區(qū)域不在圖像中央的問題,通過新的傅立葉變換算法后,在我們通過補零操作,改變圖像顯示象限和移位操作手段后可以提高變換后的幅值圖像的分辨率,得到比較理想的效果。
[1]英英.基于MATLAB的圖形圖像處理系統(tǒng)的實現(xiàn),內蒙古大學,2013.
[2]梁原.基于MATLAB的數字圖像處理系統(tǒng)研究,長春理工大學,2008.
[3]曠尤毓.基于ARM和DSP的火災預警系統(tǒng)的設計與實現(xiàn),湖南大學,2008.