导向滤波介绍
在图像处理中(比如图像的H.264压缩),经常需要对图像进行2D滤波以进一步提高H.264的压缩效果。以前常用的均值滤波,高斯滤波虽然能滤除图像噪声但是对图像原本的边缘也进行了模糊,滤波效果较差。后来在算法上提出了一些保边滤波算法,比如双边滤波,导向滤波。这些算法在滤除噪声的同时,能很好的保持图像原本的边缘。这些算法相对于高斯滤波,计算量大大增加,在数字电路设计上有一定难度。本文采用导向滤波算法,使用流水线(PipeLine)设计来满足图像实时滤波的要求。导向滤波的具体算法介绍,请参考如下博文:https://blog.csdn.net/baimafujinji/article/details/74750283
数字电路框架
如上图所示,整个数字电路包含以上5大模块。
1):video_in:负责采集图像输入,并在SRAM中存储数行图像数据。因为导向滤波通常在一个NxN的窗口进行计算滤波参数。
2):video_line_buf:缓存图像的SRAM。
3):flt_ab_par_cal:按照导向滤波的算法,进行滤波参数a/b的计算并缓存数行a/b参数。
4):flt_ab_par_buf:缓存图像滤波参数a/b的SRAM。
5):video_flt:根据滤波参数a/b,对输入图像进行滤波。
滤波效果
原始图片:
滤波后图片:
可以看到:
1):红色区域(墙面):墙面背景噪音基本滤除;
2):红色区域(衣服):衣服上的细小尘埃倍模糊;
3):绿色区域:图像上字体等本身的边缘倍基本保留。
如需此图像滤波的数字电路IP,请咨询:
E-mail: yangyuxiang@zlt-tech.cn
Tel: 186 6611 5942
QQ: 1691246122