FPGA图像处理4_基础功能_二维卷积滤波

该博客介绍了在FPGA中如何处理二维卷积滤波,特别是针对包含小数的卷积核。通过将核函数乘以2的幂次并取整来实现小数到整数的转换,以适应FPGA的整数乘法。讨论了使用floor函数而非四舍五入的原因,以确保计算结果在像素点位宽范围内。最后,提到了sysgen工具中实现这一过程的Slice模块及其配置。
摘要由CSDN通过智能技术生成
二维卷积滤波

二维卷积是常用的图像处理算法,即图像滑窗内的并行数据按滑窗内的坐标与卷积核函数对应坐标的参数相乘后,将所有乘法积值相加得到卷积滤波结果。

但是由于卷积核函数大多数情况下都包含小数部分,在 FPGA 内执行浮点数乘法将占用大量资源。比较常用的处理方法是将核函数内各元素数值都乘以 2 的指数,将小数部分放大至整数部分,并且根据核函数的生成原理选择足够大的指数值以保证各元素间的差异。最终在 FPGA 实现时可以将小数乘法转化为整数乘法,在所有元素的乘法积值相加后通过截去低位的方式实现除以前述的 2 的指数的计算。

2 × 2 2\times 2 2×2 的二维卷积为例,原始核函数包含小数部分:
( k e r n e l 00 k e r n e l 01 k e r n e l 10 k e r n e l 11 ) \left(\begin{array} {} kernel00 & kernel01\\ kernel10 & kernel11 \end{array}\right) (kernel00kernel10kernel01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值