FPGA图像处理






由于高斯滤波中的模板系数是对称的,在设计中还可以对乘法器等运算电路模块进行模块复用。

在前文已经实现卷积运算的基础上实现高斯滤波算法并不困难,虽然两者在硬件结构上有所差异,但两者在算法上类似,实际上都是一种模块运算,因此只需要对卷积运算的硬件设计做一些必要的改动就可实现高斯滤波算法。在本设计中,两个算法的在硬件实现主要有两点不同之处:一,信号宽度的定义不同。由于模板系数和除法系数的不同,导致移位寄存器的左(右)移位数和输出信号宽度的不同,所以要注意正确地定义信号宽度,信号宽度的定义错误将导致逻辑混乱和数据溢出。二,在卷积运算的实现中,为构成2的整数次幂,便于在FPGA硬件上实现卷积运算,本设计将所有的输出除以8,也即右移三位后输出,这样不仅提高硬件的执行效率,同时也节约硬件资源。这是个近似算法,其输出数据实际上是个近似输出,但它和理论输出在处理效果上几乎没有区别。在高斯滤波算法的实现中,由于仃的取值不同,不同模板的加权系数和除法运算系数也不同,移位寄存器的使用也就不同。有些除法系数不能构成2的整数次幂,为了便于在硬件上实现,节省硬件资源和提高处理速度,可以将原除数系数近似为某个数,使这个数可表示为2的N次幂,如除法系数为118可以近似为128。

王照.基于FPGA和DSP的目标实时检测和识别方法研究[D].中国科学院大学,2016.

FPGA实现高斯滤波时采用一维滤波模板代替二维滤波模板的方式通过对滤波顺序的处理以及定点数计算、对称组先相加再相乘等方式达到节约硬件资源的目的。

扫描二维码关注公众号,回复: 1651031 查看本文章

《基于FPGA灰度图像高斯滤波算法的实现》http://www.openhw.org/topic-1849









猜你喜欢

转载自blog.csdn.net/u012923751/article/details/80729219