本文将完成图像处理中的各种常见的空域滤波器设计,主要涉及线性滤波和非线性滤波。线性滤波主要是模板滤波,各类模板滤波的方法是一致的,这里具sobel和高斯模板滤波进行设计说明;非线性滤波则主要设计排序滤波器和canny模板滤波。
模板滤波
基于FPGA实现图像处理中的空域滤波操作
本文将完成图像处理中的各种常见的空域滤波器设计,主要涉及线性滤波和非线性滤波。线性滤波主要是模板滤波,各类模板滤波的方法是一致的,这里具sobel和高斯模板滤波进行设计说明;非线性滤波则主要设计排序滤波器和canny模板滤波。
模板滤波
sobel模板滤波
这里主要实现3x3模板的sobel算子,这里的两个sobel算子分别如下:
![270286bcca0ce4a5e23a6daff8325ed5.png](https://img-blog.csdnimg.cn/img_convert/270286bcca0ce4a5e23a6daff8325ed5.png)
因此这里可以采用简单的加减法完成运算,基于FPGA进行实现时,需要进行行缓存结构,这里假设的sobel是3x3的结构,因此对应需要进行图像的3行数据缓存,其实现结构如下:
![c19d4c8f5a56d75791d5f39f64c9e886.png](https://img-blog.csdnimg.cn/img_convert/c19d4c8f5a56d75791d5f39f64c9e886.png)
p0~p8是对应像素灰度值,对应于水平方向,则相对应得到的结果为:
![d934feb7e6989312f40e597b0e03fc65.png](https://img-blog.csdnimg.cn/img_convert/d934feb7e6989312f40e597b0e03fc65.png)
对应于垂直方向,则相对应得到的结果为: