在FPGA上做图像处理时,常需要down sample来减少计算量。
如上图所示:row和column都是隔1个格取值,所以大小是原来的25%。
在C++里面直接用
for(r=0; r<row; r+2){
for(c=0; c<col; c+2)
dout = img[r*col+c];
}
到Verilog里面就要用2个状态来表达,一个是负责给row加2,另一个负责给col加2。
注意:row在每加一次就跳到col的state来循环,当col加满时,调回到row的state,将row+2,然后又跳到col的state来循环加。