Laplacian圖像邊緣檢測(cè)器的FPGA實(shí)現(xiàn)研究
對(duì)于該卷積運(yùn)算的實(shí)現(xiàn),采用前述的“速度最優(yōu)的高階分布式算法”,其硬件實(shí)現(xiàn)的原理框圖如圖3所示。它是完全流水線式字并行結(jié)構(gòu),能夠達(dá)到最大的運(yùn)算速度。其中的8個(gè)ROM是用于實(shí)現(xiàn)9個(gè)R圖位的數(shù)相乘,每個(gè)ROM都實(shí)現(xiàn)一個(gè)9位的查找表的功能。5.3卷積運(yùn)算數(shù)據(jù)“流水線”輸入模塊的設(shè)計(jì)圖像的像素是由CCD(或CMOS)攝像機(jī)經(jīng)A/D轉(zhuǎn)換,再經(jīng)量化而得到,并放入幀存儲(chǔ)器。在圖像中,整幅圖像像素以幀為單位進(jìn)行存儲(chǔ)。每一幀數(shù)據(jù)的存儲(chǔ)方式如圖4所示。卷積運(yùn)算掃描像素的獲取如圖5所示,該數(shù)據(jù)輸入方式,使用了兩個(gè)32位的移位寄存器存放像素值,避免了卷積運(yùn)算中對(duì)存儲(chǔ)器數(shù)據(jù)的高度重復(fù)讀取,使用9個(gè)寄存器實(shí)現(xiàn)了數(shù)據(jù)由串行到并行的轉(zhuǎn)換,實(shí)現(xiàn)了完全“流水線”的輸入方式。本文引用地址:http://www.ex-cimer.com/article/188957.htm
5.4 系統(tǒng)的仿真結(jié)果
根據(jù)前述的總體設(shè)計(jì)方案,使用VHDL設(shè)計(jì)進(jìn)行各個(gè)模塊和系統(tǒng)總體程序,選擇的FPGA為ALTERA/FLEX/EPF10K20TC144―3,使用的開發(fā)工具是MAX+plus II 10.0。圖6是邊緣檢測(cè)器的時(shí)序仿真圖(鐘頻率10 MHz),由波形仿真結(jié)果分析可知,系統(tǒng)達(dá)到了設(shè)計(jì)功能要求,該系統(tǒng)經(jīng)過初始的兩行行延遲和串并轉(zhuǎn)化后(為72個(gè)時(shí)鐘周期),以后每個(gè)時(shí)鐘周期就可“流水式”輸出一個(gè)處理結(jié)果,若系統(tǒng)時(shí)鐘周期TCLK,對(duì)于像素為N個(gè)點(diǎn)的數(shù)字圖像,系統(tǒng)的處理時(shí)間TN=70xTCLK+N×TCLK。處理一幅1 024x1 024的圖像的時(shí)間,當(dāng)系統(tǒng)時(shí)鐘為10MHz時(shí),僅需0.1 s,而系統(tǒng)時(shí)鐘為10 MHz時(shí),僅需0.Ol s。
6 結(jié)語(yǔ)
在Laplacian圖像邊緣檢測(cè)器的設(shè)計(jì)中,采用了速度最優(yōu)的高階分布式算法(DA)完成模板的卷積運(yùn)算,使用兩個(gè)32位的移位寄存器存放像素值,避免了卷積運(yùn)算中對(duì)存儲(chǔ)器數(shù)據(jù)的高度重復(fù)讀取,使用9個(gè)寄存器實(shí)現(xiàn)數(shù)據(jù)由串行到并行的轉(zhuǎn)換,實(shí)現(xiàn)了完全“流水線”的數(shù)據(jù)輸入方式,從而在資源.速度上達(dá)到了較好的優(yōu)化,具有良好的實(shí)時(shí)處理性能。若系統(tǒng)工作時(shí)鐘為100 MHz,則處理一幅1 024x1 024的圖像的時(shí)間僅需0.01 s左右?!傲魉€”的數(shù)據(jù)輸入方式和分布式卷積運(yùn)算的設(shè)計(jì)思想,對(duì)于數(shù)字圖像和數(shù)字信號(hào)處理的FPGA硬件實(shí)現(xiàn),具有廣泛的推廣應(yīng)用價(jià)值。
評(píng)論