資源描述:
《基于fpga圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、摘 要:在Altera公司的StratixEP1S10器件中設(shè)計(jì)了以Prewitt圖像邊緣檢測(cè)為基礎(chǔ)的圖像處理和顯示系統(tǒng),包括二維濾波器模塊、圖像VGA顯示控制器、ROM存儲(chǔ)器、FIFO緩沖器及相應(yīng)的讀寫(xiě)控制器。整個(gè)系統(tǒng)集成在一個(gè)芯片上,實(shí)驗(yàn)證明此設(shè)計(jì)方法工作效率高,處理速度快,性能穩(wěn)定,可移植性好。關(guān)鍵詞:FPGAPrewitt算子VGAQuartusII 在嵌入式圖形系統(tǒng)處理領(lǐng)域,圖像的邊緣圖作為圖像的一種基本特征,經(jīng)常被應(yīng)用到較高層次的特征描述。如圖像識(shí)別、圖像分割、圖像增強(qiáng)以及圖像壓縮等圖像處理
2、和分析的技術(shù)中,從而可以對(duì)圖像作進(jìn)一步的分析和理解[1]。但是圖像處理的速度問(wèn)題一直是很難突破的設(shè)計(jì)瓶頸。一般情況下,控制領(lǐng)域及數(shù)據(jù)處理領(lǐng)域幾乎是單片機(jī)和數(shù)字信號(hào)處理器的天下,但是在數(shù)據(jù)處理量大、實(shí)時(shí)性要求更為苛刻的場(chǎng)合,傳統(tǒng)的MCU無(wú)法適應(yīng)。而DSP雖然具備指令流水線和很高的處理速度,但是由于其本質(zhì)仍然是依靠串行執(zhí)行指令來(lái)完成相應(yīng)的圖像處理算法,所以其處理速度依然很受限制。因而基于速度、系統(tǒng)集成和產(chǎn)品升級(jí)等角度考慮,采用現(xiàn)代電子設(shè)計(jì)的最新EDA技術(shù),使用高速可編程邏輯器件CPLD/FPGA自行開(kāi)發(fā)有關(guān)處
3、理芯片成了一種全新的解決方案[2]?! ±肊DA技術(shù)自頂向下的思想設(shè)計(jì)SoC(片上系統(tǒng))電路,能在一塊FPGA芯片中完成圖像存儲(chǔ)器、時(shí)鐘管理、圖像處理模塊、VGA顯示控制器以及地址發(fā)生器等多個(gè)電路模塊。使用Altera公司的StratixEP1S10FPGA芯片和Matlab軟件、QuartusII軟件等完成電路設(shè)計(jì)。其電路結(jié)構(gòu)如圖1所示?! ∑渲?,ROM模塊用來(lái)存儲(chǔ)圖像,地址發(fā)生器將ROM中的數(shù)據(jù)傳遞給邊緣檢測(cè)處理模塊,F(xiàn)IFO為處理后數(shù)據(jù)的緩沖存儲(chǔ)模塊,VGA控制器用來(lái)產(chǎn)生外部VGA顯示器的控制時(shí)序
4、及輸出圖像信號(hào)。1邊緣檢測(cè)模塊的設(shè)計(jì)1.1Prewitt邊緣檢測(cè)算法[3] 圖像邊緣具有方向和幅度兩個(gè)特性,通常沿邊緣走向像素的灰度變化平緩,垂直于邊緣走向的像素灰度變換劇烈。對(duì)于連續(xù)圖像f(x,y),其方向?qū)?shù)在邊緣(法線)方向上有局部最大值,因此,邊緣檢測(cè)就是求f(x,y)梯度的局部最大值和方向。對(duì)于離散圖像來(lái)說(shuō),就是利用邊緣檢測(cè)算子來(lái)逼近梯度算子求得局部最大值,即: ▽f=(f(x,y)-f(x-1,y),f(x,y)-f(x,y-1) (1) 因此,檢測(cè)數(shù)字圖像邊緣最簡(jiǎn)單的方法就是對(duì)
5、每個(gè)像素計(jì)算▽f,然后求絕對(duì)值,最后進(jìn)行閾值操作就可以實(shí)現(xiàn)?! rewitt算子: 以上兩個(gè)矩陣分別代表圖像的水平梯度和垂直梯度。如果用Prewitt算子檢測(cè)圖像M的邊緣,一般先用水平算子和垂直算子對(duì)圖像進(jìn)行卷積,得到兩個(gè)矩陣M1和M2。在不考慮邊界因素的時(shí)候,它們與原圖像有相同的大小,分別表示圖像M中相同位置對(duì)于X和Y的偏導(dǎo)數(shù)。然后求M1和M2對(duì)應(yīng)位置的兩個(gè)數(shù)的絕對(duì)值之和,得到一個(gè)新矩陣G,G是M中像素灰度梯度的近似值,然后經(jīng)過(guò)閾值操作得到邊緣。即: 在硬件實(shí)現(xiàn)過(guò)程中,由于Prewitt算
6、子具有對(duì)稱性并且濾波系數(shù)只有0和±1,所以卷積只用加法器和減法器就可以實(shí)現(xiàn),不需要乘法器,這會(huì)大大減少FPGA資源消耗并降低二維卷積操作的復(fù)雜度。1.2DSPBuilder建模 Altera公司提供了DSPBuilder建模工具,可以利用它實(shí)現(xiàn)算法的建模和系統(tǒng)仿真工作;再利用QuartusII軟件進(jìn)行分析和綜合,最后下載到FPGA器件中完成模塊的構(gòu)建?,F(xiàn)以處理256×256像素的256灰度圖像為例說(shuō)明邊緣檢測(cè)模塊的實(shí)現(xiàn)過(guò)程,如圖2所示,像素運(yùn)算方法如式(4)和式(5)。 1.3圖像處理模塊的Matla
7、b仿真 DSPBuilder運(yùn)行在Matlab環(huán)境下,可以利用Simulink對(duì)設(shè)計(jì)結(jié)果進(jìn)行仿真。處理前后的對(duì)比閾值為50,仿真結(jié)束時(shí)間為65536個(gè)時(shí)鐘周期。圖3為Matlab仿真圖?! ∮蓤D3可以看出,圖像在經(jīng)過(guò)邊緣檢測(cè)處理后較真實(shí)地反映了實(shí)物的邊緣輪廓。說(shuō)明設(shè)計(jì)方法正確。2VGA控制器的設(shè)計(jì) 對(duì)于普通的VGA顯示器其引出線共含有5個(gè)信號(hào):R、G、B三基色信號(hào);HS行同步信號(hào);VS場(chǎng)同步信號(hào)。VGA工業(yè)標(biāo)準(zhǔn)要求的時(shí)鐘頻率為25.175MHz(像素輸出頻率),行頻31.496Hz,場(chǎng)頻59.94Hz
8、(每秒圖像刷新頻率)。HS、VS時(shí)序輸出圖和電路原理圖如圖4所示。其中T1包含96個(gè)時(shí)鐘周期,T2包含704個(gè)時(shí)鐘周期,T3包含2個(gè)行周期,T4包含523個(gè)行周期。時(shí)序驅(qū)動(dòng)嚴(yán)格遵循VGA工作標(biāo)準(zhǔn),即640×480×60Hz模式[4][5]?! S設(shè)計(jì)VHDL進(jìn)程: process(clk)begin if(rising_edge(clk))then if((hcnt>=640+8+8)and(hcnt<640+8