基于FPGA的灰度形態(tài)學(xué)濾波器實(shí)現(xiàn)
膨脹的結(jié)構(gòu)圖與腐蝕的結(jié)構(gòu)圖類似,只不過(guò)是求相應(yīng)的最大值。在圖1中,A、B二處分別加入非門即可得到膨脹單元的結(jié)構(gòu)圖。將腐蝕單元和膨脹單元級(jí)聯(lián)即可得到如圖2所示的f與g開操作結(jié)構(gòu)圖。整個(gè)結(jié)構(gòu)采用流水線方式設(shè)計(jì),使串行輸入的灰度數(shù)據(jù)能夠得到并行處理,這樣就極大地滿足了圖像處理的實(shí)時(shí)性要求。
將腐蝕結(jié)構(gòu)圖和膨脹結(jié)構(gòu)圖次序交換即可得到形態(tài)學(xué)濾波閉操作結(jié)構(gòu)圖。對(duì)于不同大小的結(jié)構(gòu)元模板,其結(jié)構(gòu)圖與3×3的結(jié)構(gòu)類似,在此不再贅述。
2.3 FPGA實(shí)現(xiàn)
雖然開操作結(jié)構(gòu)圖很復(fù)雜,但圖中實(shí)際用到的器件只有12位比較器、12位2選1選擇器、深度為256的FIFO以及12位鎖存器等。本文選用Xilinx公司的ISE5.2軟件為設(shè)計(jì)平臺(tái),以上器件均可以由ISE5.2自帶的CORE Generator生成。鑒于開操作的結(jié)構(gòu)特點(diǎn),整個(gè)濾波器采用元件例化的方式設(shè)計(jì)。求3×3最小值和3×3最大值的部分元件例化VHDL代碼如下:
選用XC2S400E芯片,綜合后所用主要資源如下:
Number of Slice Flip Flops: 212 out of 9 600 2%
Number of 4 input LUTs: 306 out of 9 600 3%
Number of occupied Slices: 260 out of 4 800 5%
Number of Block RAMs: 4 out of 40 10%
Total equivalent gate count for design: 69 920
評(píng)論