在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来循环加。

本文介绍了如何在FPGA中使用Verilog进行图像处理的下采样操作,通过隔行隔列取点来降低计算量。文章详细讲解了状态机的设计,包括两个状态分别用于行和列的递增,并解决了在Verilog中实现循环计数的问题。代码示例展示了有效的状态机输出实现方式。
最低0.47元/天 解锁文章
4366

被折叠的 条评论
为什么被折叠?



