FPGA圖像處理之行緩存(linebuffer)的設計一


FPGA圖像處理之行緩存(linebuffer)的設計一

作者:OpenS_Lee

 

1 背景知識

    FPGA數字圖像處理中,行緩存的使用非常頻繁,例如我們需要圖像矩陣操作的時候就需要進行緩存,例如圖像的均值濾波,中值濾波,高斯濾波以及sobel邊緣查找等都需要行緩存設計。這里的重要性就不在贅述。

2 FPGA實現

  

 

1 行緩存菊花鏈結構

    如圖1所示,我們要設計n行同時輸出,就串聯n行。Line_buffer的大小設置由圖像顯示行的大小(圖像寬度)決定。例如480*272 480)。

2.1 設計一Intel shift register

  設計源碼:

 

  

Line3 IP設置:

 

圖2 shift register IP

 

 

3 參數設置

如圖2,3所示,我們需要設計3x3的矩陣數據,就要同時流出三行的數據參數如圖3所示設置。

仿真頂層:

 

 

 

 

仿真結果:

 

 

圖4  整體效果

 

 

圖5 一行數據

 

 

圖6 兩行數據

 

 

圖7 三行數據

如圖7所示,當三行數據全出來時,我們數據全部對齊,說明設計正確。

2.2 設計二xilinx shift register

 

  源碼:

 

 

IP設置:

 

 

圖8 IP設置參數

 

 

圖9 Hierarchy

仿真頂層:

 

 

 

 

仿真結果:

 

 

圖10 仿真整體效果

 

 

圖11 三行數據同時對齊輸出

    至此我們完成了xilinx altera IP設計行緩存,但是此方法在某種情況下不夠靈活,所以下節我們將推出fifo設計行緩存。

歡迎關注微信公眾號:FPGA開源工作室

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM