功能描述:
在實際中,由于FPGA搜索九個數據的中間值是非常復雜的,通常的做法就是采用中值濾波快速算法,具體如下所示:

從上面的結構可知,中值濾波器分三級進行計算,其中每級之間通過D觸發器來穩定時序。
然后整個模塊的計算需要4個時鐘周期的延遲。
另外一方面,由于在FPGA中,圖像即以串行保存在存儲器中,而中值濾波需要每次輸入9個數據進行濾波,所以這里需要一個地址控制器,用來控制輸入圖像像素值。這九個數,其對應的地址分別為:
Address
Address+1
Address+2
Address+800
Address+1+800
Address+2+800
Address+1600
Address+1+1600
Address+2+1600
因為數據是600*800,所以,總地址為480000,
仿真之后,將FPGA中保存得到的Rec.txt文件復制出來,運行view.m這個MATLAB文件,modelsim和MATLAB運行后期對應的結果分別如下所示:
|