3.2 3*3窗口内9个数值的排序模块
由前面2.2节对中值滤波改进算法的说明不难看出,整个排序实际就是要进行7次3值比较:
1) 3*3窗口每一行的3个数进行比较.分别得出每行的值、中值、值,一共有3行,需3次3值比较;
2)3个值组、中值组、值组进行3值比较,3个组需3次3值比较;
3)值组中的值、中值组中的中值、值组中的值3个数再进行比较。需1次3值比较。
为了尽量节约资源,充分利用硬件设计中的“模块复用”原则,只需先设计一个简单的3值比较器模块,7次调用该模块即可以轻松完成中值滤波排序。
另外,在图像的各个边缘。由于无法用3*3窗口覆盖(窗口的一部分要覆盖到图像的外部)。所以无法直接调用该中值滤波排序模块。参考了大量基于领域的图像硬件处理系统的做法。本文将图像边缘像素简单地设成“0”。并不会影响整个中值滤波的效果。这样只需再加一个判断窗口位置的模块,如果判断结果是边缘.则不调用排序模块而把“0”直接赋到输出端;反之。则调用该排序模块。
4 基于FPGA的处理结果
整个电路的设计使用Verilog HDL语言编写,以Altera公司的Stratix II EP2S60器件为硬件平台,在Quartus II 5.1的软件开发环境下实现320*256*16 bit灰度图像的中值滤波。该图像1场时间是20ms(其中场消隐时间约为6.35 ms),像素时钟是6 MHz,算法占用资源如表2所示。
由表2可见,该中值滤波设计的芯片资源占用率是非常小的,因此绝大部分资源可以用于后续的开发设计中。处理一场数据所需时间仅约为4.2 ms,完全满足整个系统对速度的高要求。而同样的3×3模板中值滤波若在ADI的TS201型DSP上处理,所需时间约为15.3 ms。显而易见,基于Stratix II EP2S60来实现红外图像的中值滤波比基于TS201来实现有更好的实时性优势,而且该设计使用了快速中值滤波算法,所以比传统算法节约了更多时间,资源占用率也非常小。输入、输出图像分别如图3、图4所示,由于本滤波模块把边缘置为0,所以图的边缘是一条黑线。对比前后图像可以看出中值滤波对椒盐噪声有很好的滤波作用。
5 结束语
本设计方案采用了一种改进的快速中值滤波算法,成功地在Altera公司的高性能Stratix II EP2S60上实现整个数字红外图像滤波,在保证实时性的同时,使得硬件体积大为缩减,大大降低了成本,具有很强的实用价值。如果再结合其他滤波预处理方法,则可以进一步提高其滤除噪声的能力,更好地改善图像质量。本设计方案只能运用于矩阵型3*3模板,对于其他类型的模板(如5*5模板、十字线型模板),需要重新进行系统设计。另外。在FPGA设计中,一定要严格控制时序,保证时钟有足够的建立时间和保持时间,并保证时序的严格同步,电路的延时应该尽可能小。
3.2 3*3窗口内9个数值的排序模块
由前面2.2节对中值滤波改进算法的说明不难看出,整个排序实际就是要进行7次3值比较:
1) 3*3窗口每一行的3个数进行比较.分别得出每行的值、中值、值,一共有3行,需3次3值比较;
2)3个值组、中值组、值组进行3值比较,3个组需3次3值比较;
3)值组中的值、中值组中的中值、值组中的值3个数再进行比较。需1次3值比较。
为了尽量节约资源,充分利用硬件设计中的“模块复用”原则,只需先设计一个简单的3值比较器模块,7次调用该模块即可以轻松完成中值滤波排序。
另外,在图像的各个边缘。由于无法用3*3窗口覆盖(窗口的一部分要覆盖到图像的外部)。所以无法直接调用该中值滤波排序模块。参考了大量基于领域的图像硬件处理系统的做法。本文将图像边缘像素简单地设成“0”。并不会影响整个中值滤波的效果。这样只需再加一个判断窗口位置的模块,如果判断结果是边缘.则不调用排序模块而把“0”直接赋到输出端;反之。则调用该排序模块。
4 基于FPGA的处理结果
整个电路的设计使用Verilog HDL语言编写,以Altera公司的Stratix II EP2S60器件为硬件平台,在Quartus II 5.1的软件开发环境下实现320*256*16 bit灰度图像的中值滤波。该图像1场时间是20ms(其中场消隐时间约为6.35 ms),像素时钟是6 MHz,算法占用资源如表2所示。
由表2可见,该中值滤波设计的芯片资源占用率是非常小的,因此绝大部分资源可以用于后续的开发设计中。处理一场数据所需时间仅约为4.2 ms,完全满足整个系统对速度的高要求。而同样的3×3模板中值滤波若在ADI的TS201型DSP上处理,所需时间约为15.3 ms。显而易见,基于Stratix II EP2S60来实现红外图像的中值滤波比基于TS201来实现有更好的实时性优势,而且该设计使用了快速中值滤波算法,所以比传统算法节约了更多时间,资源占用率也非常小。输入、输出图像分别如图3、图4所示,由于本滤波模块把边缘置为0,所以图的边缘是一条黑线。对比前后图像可以看出中值滤波对椒盐噪声有很好的滤波作用。
5 结束语
本设计方案采用了一种改进的快速中值滤波算法,成功地在Altera公司的高性能Stratix II EP2S60上实现整个数字红外图像滤波,在保证实时性的同时,使得硬件体积大为缩减,大大降低了成本,具有很强的实用价值。如果再结合其他滤波预处理方法,则可以进一步提高其滤除噪声的能力,更好地改善图像质量。本设计方案只能运用于矩阵型3*3模板,对于其他类型的模板(如5*5模板、十字线型模板),需要重新进行系统设计。另外。在FPGA设计中,一定要严格控制时序,保证时钟有足够的建立时间和保持时间,并保证时序的严格同步,电路的延时应该尽可能小。