欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

圖像傅里葉變換、反變換的實現(xiàn)

時間:2023-05-01 12:36:09 資料 我要投稿
  • 相關(guān)推薦

圖像傅里葉變換、反變換的實現(xiàn)

課程大作業(yè)實驗報告

圖像傅里葉變幻、反變換的實現(xiàn)

課程名稱:數(shù)字圖像處理

組 長: 王文雄 學(xué)號:200730590323 年級專業(yè)班級:07通信3班 成員一: 龐柱堅 學(xué)號:200730590318 年級專業(yè)班級:07通信3班 成員二: 王彌光 學(xué)號:200730590322 年級專業(yè)班級: 07通信3班 成員三: 學(xué)號: 年級專業(yè)班級:07通信3班

指導(dǎo)教師 鄧?yán)^忠

報告提交日期

2010年 6 月1日

項目答辯日期

2010年 6 月1日

目 錄

1. 項目要求............................................................... 3 2. 項目開發(fā)環(huán)境........................................................... 3 3. 系統(tǒng)分析............................................................... 3 3.1. 系統(tǒng)的主要功能分析 ............................................... 3 3.2. 系統(tǒng)的關(guān)鍵問題及解決方法(或思路) ............................... 6 4. 系統(tǒng)設(shè)計............................................................... 8 4.1. 程序流程圖及說明 ................................................... 8 4.2. 程序主要模塊(或功能)介紹 ........................................ 10 4.2.1. 一維 FFT 和 IFFT ............................................. 10 4.2.2. 二維圖像 FFT 和 IFFT: ....................................... 11 5. 實驗結(jié)果與分析........................................................ 12 5.1. 實驗結(jié)果 .......................................................... 12 5.2. 項目的創(chuàng)新之處 .................................................... 13 5.3. 存在問題及改進(jìn)設(shè)想 ................................................ 13 6. 心得體會.............................................................. 14 6.1. 系統(tǒng)開發(fā)的體會 .................................................... 14 6.2. 對本門課程的改進(jìn)意見或建議 ........................................ 14 7. 附件一................................................................ 15

1. 項目要求

1.基本要求:自修教材相關(guān)內(nèi)容(P52-74)或其它參考資料,在CVI下編程對尺寸為2N(N為正整數(shù))的圖像進(jìn)行FFT(快速傅里葉變換)和(快速傅里葉反變換)。 (不能利用CVI下的函數(shù))

2.題目拓展:編程實現(xiàn)任意大小圖像的二維傅立葉的變換與反變換。

2. 項目開發(fā)環(huán)境

項目開發(fā)環(huán)境主要分為軟件環(huán)境和硬件環(huán)境

軟件:Lab Windows/CVI和IMAQ_Vision for LabWindows/CVI。Lab Windows/CVI是美國National Instrument(簡稱NI)公司開發(fā)的基于C語言的虛擬儀器開發(fā)平臺,適用于自動測試、自動控制、測試儀器通信、測試硬件控制、信號分析及圖像處理等軟件的開發(fā)。經(jīng)過版本的不斷更新,Lab Windows/CVI已經(jīng)成為測控領(lǐng)域應(yīng)用最為廣泛的軟件開發(fā)工具之一。而IMAQ_Vision for LabWindows/CVI是NI公司開發(fā)的基于LabWindows/CVI的高級圖像處理和分析軟件包,是進(jìn)行圖像處理和分析的教學(xué)和科研的有力工具。軟件包提供了3個重要的文件:

硬件:個人PC電腦(主頻:2.6GHZ*2 內(nèi)存:1G*2)

3. 系統(tǒng)分析

3.1. 系統(tǒng)的主要功能分析

傅里葉變換是研究信號頻域特性首要數(shù)學(xué)工具。在數(shù)字圖像頻域處理中,常常要對二維圖像做快速傅里葉變換,由于傅里葉變換的可分離性,二維快速傅里葉變可以分解為對行、列兩個方向的一維快速傅里葉變換,所以在LabWindows/CVI 集成開發(fā)

環(huán)境下實現(xiàn)二維圖像的快速傅里葉變換的關(guān)鍵是一維傅里葉變換的實現(xiàn)。

在本系統(tǒng)設(shè)計過程中,主要分成兩個部分完成:

第一部分是一維快速傅里葉變換,該部分所包含的變量函數(shù)基本上不依賴于特定的軟件平臺,僅僅與C語言有關(guān),這部分是為二維快速傅里葉服務(wù)的。主要有內(nèi)容及其作用如表格1所示。

表 1 一維快速傅里葉變換及反變換功能模塊列表

第二部分是二維快速傅里葉變換及其反變換,該部分主要是在一維快速傅里葉變換及其反變換的基礎(chǔ)上,完成對一幅二維圖像的快速傅里葉變換及其反變換,并將結(jié)果顯示出來。主要函數(shù)模塊及其功能如表格2所示。

表2 二維快速傅里葉變換及反變換功能模塊列表

3.2. 系統(tǒng)的關(guān)鍵問題及解決方法(或思路)

二維圖像的快速傅里葉變換及其反變換可以分解成行、列兩個方向上的一維快速傅里葉變換及其反變換,由因為快速傅里葉變換和反變換的原理是一致的,所以,在整個系統(tǒng)設(shè)計的過程中,最關(guān)鍵的問題就是如何用C語言程序描述模擬整個快第一文庫網(wǎng)速傅里葉變換的運算流程。

為了解決這個問題,根據(jù)快速傅里葉變換運算流圖,將整個變換過程分層描述,共分解為3個層次:“級”、“組”和“個”。一個快速傅里葉變換運算過程分為i個級,每個級包含j個組,每個組又包含k個單個蝶形運算。例如如圖1所示的N=8的快速傅里葉變換的運算流圖,該流圖共分為3個級:第一級包含4個組,每個組又1個單個蝶形運算;第二級包含2個組,每個組有2個單個蝶形運算;第三級包含1個組,每個組有4個蝶形運算。

圖1 N=8的快速傅里葉變換蝶形運算流圖

在函數(shù)fft(int length, complex src[])實現(xiàn)時使用3重for循環(huán)來描述,最外

層for循環(huán)是對“級”的循環(huán),第二層for循環(huán)是對每一級里“組”的循環(huán),最內(nèi)層for

循環(huán)是對每一組里“個“,即單個蝶形運算的循環(huán)。程序代碼如下所示:

/*快速傅里葉變換*/

void fft(int length, complex src[]) {

int i=0; int j=0; int k=0;

//1次FFT蝶形運算

int Distance=0; //1個FFT蝶形運算跨越的

//計算一級運算當(dāng)前已經(jīng)走過的步長 //FFT蝶形運算級數(shù)寄存器 //FFT蝶形運算組數(shù)寄存器 //FFT蝶形運算個數(shù)寄存器 //1個蝶形運算中間結(jié)果寄存器 //1個蝶形運算中間結(jié)果寄存器

int grade=0; int group=0; int unit=0; complex up;

complex down;

complex product; //1個蝶形運算中間結(jié)果寄存器

/*先對原始數(shù)據(jù)做

/*計算1次FFT的級數(shù)總數(shù)grade*/ grade=(int)(log(length)/log(2));

for(i=0;i

/*計算第i級運算包含組數(shù)group*/ group=(int)pow(2,(double)(grade-1-i));

/*計算單個蝶形運算跨越距離*/ Distance=1

/*一級蝶形運算*/ for(j=0;j

/*計算一級運算當(dāng)前已經(jīng)走過的步長*/ Step=2*Distance*j;

/*計算一組蝶形運算中包含的蝶形運算個數(shù)unit*/ unit=(int)pow(2,(double)(i));

/*一組蝶形運算*/ for(k=0;k

/*一個蝶形運算*/

mul(src[Step+k+Distance],W[length*k/2/Distance],&product); add(src[Step+k],product,&up); sub(src[Step+k],product,&down); src[Step+k]=up;

src[Step+k+Distance]=down;

} }

4. 系統(tǒng)設(shè)計

4.1. 程序流程圖及說明

整體程序流程圖如下所示:

圖2 整體程序流程圖

說明:A.當(dāng)開始運行程序后,通過點擊“打開一幅圖像并顯示”按鈕,在彈出的對話框

中選擇一幅格式符合要求的圖像并確定,之后程序就會在另一個名為“源圖像”的窗口中顯示原始圖像并在主界面中顯示原始圖像寬度和高度。按鈕“打開一幅圖像并顯示”左邊的指示LED燈亮,表示已經(jīng)打開一幅圖像,并可以開始下面的操作。

B.打開一幅圖像后,點擊“傅里葉變換”按鈕,對原始圖像進(jìn)行二維FFT變換,

得到變換后的數(shù)據(jù),并在一個名為“FFT圖像”的窗口中顯示經(jīng)過傅里葉變換后的復(fù)數(shù)圖像。

C.點擊“傅里葉反變換”按鈕,對第二步中二維傅里葉變換變換得到的數(shù)據(jù)進(jìn)行

二維傅里葉反變換,恢復(fù)原始圖像,并在一個名為“IFFT圖像”的窗口中顯示。

D.如果此時要退出程序,那么就點擊“退出”按鈕;如果不想退出,想對另外一

幅圖像進(jìn)行1~3步的操作,那么就點擊“清除”按鈕,程序會重新回到剛運行程序的狀態(tài)。

4.2. 程序主要模塊(或功能)介紹 4.2.1. 一維 FFT 和 IFFT 流程圖:

圖3 一維FFT 和 IFFT流程圖

說明:A.FFT和IFFT的運算及其總體流程圖是相同的,均是按以上流程圖來實現(xiàn)。

iWNB.首先,先計算 。

C.對輸入數(shù)據(jù)x(n)進(jìn)行位倒序處理。

D.接著,根據(jù)運算流圖進(jìn)行三重for循環(huán)運算,最后得出結(jié)果。

E.grade是指一次FFT或IFFT運算分級的總數(shù);group是每個級分組的總數(shù);unit是每個組包含蝶形運算的總數(shù)。

F.對于得出自然順序的結(jié)果,可以用兩種方法去實驗,一是輸入數(shù)據(jù)經(jīng)過位倒序處理后再運算,輸出數(shù)據(jù)為自然順序。二是不先對輸入數(shù)據(jù)做位倒序處理,運算后在做處理也可以得到自然順序的結(jié)果數(shù)據(jù)。

4.2.2. 二維圖像 FFT 和 IFFT: 流程圖:

圖4 二維FFT和IFFT流程圖

說明:1、二維圖像FFT和IFFT的運算流程圖是相同的,均是按上圖所示。

2、先通過打開圖像來獲得width和height,并定義二維數(shù)組

Buffer[width][height]。

3、width和height分別是原始圖像的寬度和高度;Buffer[width][height]是用

來存放原始數(shù)據(jù)、中間運算數(shù)據(jù)及最終結(jié)果的緩沖區(qū)。

4、 其實,二維數(shù)組的運算就是一維數(shù)組的變換運算,對Buffer數(shù)組的第一行進(jìn)

行FFT或IFFT運算,之后對矩陣進(jìn)行倒置,再對此矩陣的第一行進(jìn)行FFT或IFFT運算,再進(jìn)行多一次倒置,進(jìn)而得出結(jié)果。

5、對于最終結(jié)果的顯示是通過在CVI下用復(fù)數(shù)圖像顯示。

5. 實驗結(jié)果與分析

5.1. 實驗結(jié)果

(應(yīng)有實驗結(jié)果的圖片,有結(jié)果分析或說明)

下面表格里是3組實驗圖片,從左到右分別是原始圖像、經(jīng)過快速傅里葉變換后的到的數(shù)據(jù)轉(zhuǎn)換而來的FFT圖像(complex image)以及通過對快速傅里葉變換得到的數(shù)據(jù)進(jìn)行快速傅里葉反變換恢復(fù)的圖像。

從3組實驗圖片的FFT圖片表示中,可以看出圖像中央是直流低頻成分,四角是高頻成分。

從3組圖像的源圖像與IFFT圖像的比較中可知,從快速傅里葉變換結(jié)果數(shù)據(jù)用反變換的來的圖像與原始圖像幾乎是相同的,由此證明程序是正確的。

圖5 三組實驗結(jié)果

5.2. 項目的創(chuàng)新之處

本設(shè)計其實并沒有創(chuàng)新之處。如果要說做的比較好的地方的話,那就是使用malloc

()動態(tài)分配內(nèi)存空間,包括快速傅里葉變換及其反變換的緩沖區(qū),用于數(shù)組到圖像轉(zhuǎn)換的一維數(shù)組空間等。使用動態(tài)分配空間可以適應(yīng)不同大小的圖片(圖像寬度和高度可以不同,但仍然需要滿足2的N次方條件),另外就是動態(tài)分配的內(nèi)存空間使用完后及時回收,節(jié)省對內(nèi)存空間的資源和提高利用率。 5.3. 存在問題及改進(jìn)設(shè)想

對本設(shè)計中存在的問題是快速傅里葉變換及其反變換所用的時間比較長,原因可能有

以下兩點:一是描述complex數(shù)據(jù)類型的實部虛部成員使用double類型(64位)過大;二是在快速傅里葉變換及其反變換程序?qū)崿F(xiàn)時,在一些運算量比較大的地方,例如for循環(huán)里,不必要的重復(fù)運算過多。

針對上面問題,本組認(rèn)為可以從選擇合適的數(shù)據(jù)類型和優(yōu)化程序代碼等方面入手,

較少運算時間。

6. 心得體會

6.1. 系統(tǒng)開發(fā)的體會

在本設(shè)計中,本組成員體會比較深刻的是分層和面向過程的程序設(shè)計思想。

首先,對于一個比較復(fù)雜的程序可以簡化思路,提高代碼可讀性等等,這是對程序設(shè)計的縱向優(yōu)化。在本系統(tǒng)設(shè)計中,主要有兩個地方體現(xiàn)了這一思想。一是對于一維快速傅里葉變換及其反變換的實現(xiàn)過程,結(jié)合運算流程的特點,將一個運算流程分解成若干級,每個級中包含若干組,每個組中又分成若干個單個的蝶形運算,這樣子分層,可以使得程序設(shè)計更為清晰,系統(tǒng)化,也便于理解;二是將一維快速福利葉變換及其反變換與二維的分離開。

其次是面向過程程序設(shè)計。在系統(tǒng)設(shè)計中,把不同功能的程序封裝成各個獨立的函數(shù),使得代碼重用性,可讀性提高,也便于以后的修改。例如把一維快速傅里葉變換或反變換封裝函數(shù)供二維變換調(diào)用。 6.2. 對本門課程的改進(jìn)意見或建議

對本門課程的改進(jìn)意見或建議:其實,課程的主要目的都是在于提高學(xué)生的學(xué)習(xí)熱情和創(chuàng)新意識,這有利于多方面開發(fā)學(xué)生智力,提高學(xué)生的綜合素質(zhì)等。 所以,對于這門課程更有利開展,如果條件允許的話,可以嘗試整合課程教學(xué)資源,例如包括課程介紹、教學(xué)大綱、授課教案、作業(yè)習(xí)題、實驗指導(dǎo)、參考文獻(xiàn)目錄、授課實況錄像等資源,然后整合完畢后都可以發(fā)送到每一個學(xué)生手上,有了這些資料,學(xué)生就可以嘗試自己開展課程的學(xué)習(xí),更有利于提高學(xué)生的積極性與自主性。如學(xué)生可以根據(jù)課堂講授,結(jié)合在課后對課堂知識進(jìn)行消化吸收,加深對課堂內(nèi)容的理解,深入分析試驗數(shù)據(jù),對實驗結(jié)果進(jìn)行論證。其次,課程可以更多結(jié)合當(dāng)今的就業(yè)工作所需對學(xué)生進(jìn)行專業(yè)性知識講解,使學(xué)生對未來就業(yè)某個方向有一定了解,也可以使學(xué)生提高自己的知識結(jié)構(gòu)。因為每一個學(xué)生最關(guān)注的都是未來就業(yè)的壓力與自己的能力,所以可以適當(dāng)關(guān)注一下這個方向。

附件一

華南農(nóng)業(yè)大學(xué)

圖像大作業(yè)成績評定表

注:如果小組成員僅僅分工撰寫實驗報告或制作PPT,沒有參與編程,則其成績要低于編程的同學(xué)。

【圖像傅里葉變換、反變換的實現(xiàn)】相關(guān)文章:

分?jǐn)?shù)階傅里葉變換的數(shù)值實現(xiàn)04-28

基于變形分?jǐn)?shù)傅里葉變換的六重密鑰圖像加密04-29

探測波導(dǎo)全息光柵傅里葉變換光譜的新方法04-27

基于正弦變換的紅外圖像均衡算法05-02

二元微分聯(lián)合變換相關(guān)器實現(xiàn)圖像識別的研究05-01

基于小波變換的圖像配準(zhǔn)04-30

數(shù)字離軸無透鏡傅里葉變換全息重建方法研究04-27

彝藥金沙青葉膽的傅里葉變換紅外光譜研究04-26

JPEG圖像壓縮技術(shù)的實現(xiàn)與優(yōu)化04-27

基于MATLAB的DCT變換在JPEG圖像壓縮中的應(yīng)用04-27