一.項(xiàng)目概述
1.1 項(xiàng)目背景
數(shù)字圖像處理自從出現(xiàn)以來,,就一直是前沿的研究學(xué)科,,經(jīng)久不衰,,同時隨著數(shù)字化時代的到來,,市場對于數(shù)字圖像處理的需求也越來越大,。因此,,本項(xiàng)目------基于FPGA的多功能數(shù)字圖像采集及處理平臺主要是為各種需要進(jìn)行數(shù)字圖像處理的設(shè)備和應(yīng)用而設(shè)計的,, 例如,, 醫(yī)學(xué)上的CT, X-ray等圖像增強(qiáng)及處理,; 各種需要支持圖像優(yōu)化的數(shù)碼設(shè)備等,。 同時此平臺也可用于數(shù)字圖像處理相關(guān)課程的設(shè)計參考及教學(xué)演示。
1.2 項(xiàng)目優(yōu)勢
基于FPGA的多功能數(shù)字圖像采集及處理平臺是一個多用途,,多功能的數(shù)字處理平臺,, 相比于其他同類設(shè)計,有以下優(yōu)勢:
1 采用可編程的FPGA進(jìn)行設(shè)計,,便于設(shè)計的更新,,減少因此帶來的升級費(fèi)用;
2 本平臺采用硬件實(shí)現(xiàn),,相比于采用DSP的軟件實(shí)現(xiàn)方法,,處理的速度更快;
3 各模塊之間相互獨(dú)立,,便于設(shè)計的復(fù)用,,經(jīng)過簡單處理后即可用于其它項(xiàng)目;
二.需求分析
2.1 功能分析
根據(jù)本項(xiàng)目的設(shè)計目標(biāo),,本設(shè)計需要完成的功能有:
?。?) 可以對輸入的數(shù)字圖像進(jìn)行基本的圖像增強(qiáng),圖像平滑,,圖像銳化,,直方圖均衡化,直方圖標(biāo)準(zhǔn)化等操作,,也可以進(jìn)行頻域相關(guān)的巴特沃思濾波,,高斯濾波等操作。
?。?) 可以通過組合各種不同的基本圖像處理過程,,完成諸如圖像邊沿檢測等高級處理。
?。?) 可以輸入CMOS傳感器轉(zhuǎn)換的YCrCb格式圖像數(shù)據(jù),,并轉(zhuǎn)換為RGB格式。
?。?) 可以通過USB接口提供數(shù)字圖像處理器的圖像數(shù)據(jù)進(jìn)行處理,。
(5) 可以將處理過的圖像保存在Flash中,,并且能夠通過VGA顯示處理過程中生成的圖像,。
三.方案設(shè)計
3.1 系統(tǒng)功能實(shí)現(xiàn)原理
本設(shè)計采用Xilinx公司的Nexys 3 Spartan-6 FPGA Board開發(fā)板,利用其上的Xilinx Spartan?-6 FPGA (XC6LX16-CS324) 的大容量邏輯資源完成各個模塊,。本設(shè)計總體硬件框圖如圖一所示,。從圖一中可以清楚地知道系統(tǒng)主要由USB設(shè)備控制單元,,顏色空間轉(zhuǎn)換單元,用戶控制輸入單元,,總體控制單元,,雙口RAM控制單元,F(xiàn)lash控制單元,,顯示控制單元和圖像處理單元組成,。
系統(tǒng)的工作原理如下所述:總體控制單元根據(jù)用戶控制輸入單元選擇雙口RAM輸入端的數(shù)據(jù)源,然后圖像處理單元讀出數(shù)據(jù)根據(jù)用戶控制輸入單元輸出信號對圖像進(jìn)行相關(guān)的處理并輸出到顯示RAM中,,由顯示控制單元顯示到VGA上,,并根據(jù)用戶輸入是否保存到Flash中。各單元模塊的具體說明請參考
3.2 硬件平臺及資源配置
圖一:總體硬件框圖
圖一:總體硬件框圖
3.2 硬件平臺及資源配置
3.2.1 USB控制單元
USB控制單元是整個系統(tǒng)數(shù)據(jù)來源方式之一,,在系統(tǒng)中占據(jù)重要位置。首先讓我們看一下其組成框圖,,如圖二所示,。
圖二:USB控制單元框圖
由上圖可知,USB控制單元主要由USB Packet Assemble/Dissemble,,USB PL,,USB FSM,EP Buffer組成,。其中USB FSM主要實(shí)現(xiàn)USB功能設(shè)備,,和Host Computer通信;USB Packet Assemble/Dissemble主要完成USB數(shù)據(jù)包的解包和打包,,USB PL(USB Protocol Layer)實(shí)現(xiàn)USB協(xié)議,;另外和USB PHY通信的模塊未畫出。
3.2.2 顏色空間轉(zhuǎn)換單元
顏色空間轉(zhuǎn)換單元完成將CMOS輸入YCrCb格式數(shù)據(jù)轉(zhuǎn)換成RGB數(shù)據(jù)的操作,,其組成框圖如圖三所示,。
圖三:顏色轉(zhuǎn)換單元
圖三:顏色轉(zhuǎn)換單元
由YCrCb轉(zhuǎn)換成RGB的格式如下:
R = Y + 1.371 * (Cr - 128);
G = Y - 0.698 * (Cr - 128) - 0.336 * (Cb - 128);
B = Y + 1.732 * (Cb - 128);
由于硬件實(shí)現(xiàn)特殊性,上式改為:
R = Y + 1403 * ( Cr - 128 ) /1024;
G = Y - 714* ( Cr - 128 ) /1024 - 344 * ( Cb - 128 ) /1024 ;
B = Y + 1773 * ( Cb - 128 ) /1024;
3.2.3 圖像處理單元
圖像處理單元是本系統(tǒng)中最重要的單元,,主要完成數(shù)字圖像處理相關(guān)的工作,,如直方圖均衡化,圖象銳化,,以及頻率濾波等操作,。其框圖如圖四所示:
圖四:圖像處理單元
圖像處理單元有基本的數(shù)字圖像處理模塊如直方圖均衡化,圖象銳化,,以及頻率濾波等組成,,可以根據(jù)用戶的選擇進(jìn)行不同的組合來完成特定的任務(wù)或目的(如圖像邊沿檢測等)。
3.2.4 其它控制單元
其他控制單元如總體控制單元,,用戶輸入控制單元,,雙口RAM控制單元,,F(xiàn)lash控制單元主要完成系統(tǒng)運(yùn)行過程中的控制和流程控制等操作。
3.3 系統(tǒng)流程圖
由以上系統(tǒng)各模塊的分析,,各模塊功能及系統(tǒng)總體架構(gòu)已經(jīng)有整體了解,,現(xiàn)在就介紹一下系統(tǒng)整體的運(yùn)行流程情況。
系統(tǒng)整體流程圖如圖五所示:
圖五:系統(tǒng)流程圖
上圖是簡化了的系統(tǒng)流程圖,,可以看出系統(tǒng)中數(shù)據(jù)流經(jīng)的主要路徑,。上電初始化后,根據(jù)用戶控制輸入單元選擇雙口RAM輸入端的數(shù)據(jù)源,,然后圖像處理單元讀出數(shù)據(jù)根據(jù)用戶控制輸入單元輸出信號對圖像進(jìn)行相關(guān)的處理并輸出到顯示RAM中,,由顯示控制單元顯示到VGA上,并根據(jù)用戶輸入是否保存到Flash中,。