基于FPGA的灰度形态学滤波器实现
后即可得到f与g腐蚀的图像灰度数据流。
膨胀的结构图与腐蚀的结构图类似,只不过是求相应的最大值。在图1中,A、B二处分别加入非门即可得到膨胀单元的结构图。将腐蚀单元和膨胀单元级联即可得到如图2所示的f与g开操作结构图。整个结构采用流水线方式设计,使串行输入的灰度数据能够得到并行处理,这样就极大地满足了图像处理的实时性要求。
将腐蚀结构图和膨胀结构图次序交换即可得到形态学滤波闭操作结构图。对于不同大小的结构元模板,其结构图与3×3的结构类似,在此不再赘述。
2.3 FPGA实现
虽然开操作结构图很复杂,但图中实际用到的器件只有12位比较器、12位2选1选择器、深度为256的FIFO以及12位锁存器等。本文选用Xilinx公司的ISE5.2软件为设计平台,以上器件均可以由ISE5.2自带的CORE Generator生成。鉴于开操作的结构特点,整个滤波器采用元件例化的方式设计。求3×3最小值和3×3最大值的部分元件例化VHDL代码如下:
选用XC2S400E芯片,综合后所用主要资源如下:
Number of Slice Flip Flops: 212 out of 9 600 2%
Number of 4 input LUTs: 306 out of 9 600 3%
Number of occupied Slices: 260 out of 4 800 5%
Number of Block RAMs: 4 out of 40 10%
Total equivalent gate count for design: 69 920
3 仿真设计及注意事项
本设计在ModelSim SE 5.6e软件平台下仿真。输入图像大小为256×256,仿真需要的数据量相当大,而且还要求各输入数据的时序一致,仿真测试文件中数据输入采用读文件的方法无法保证数据输入的时序同步。同样,滤波输出的数据量也非常大,直接看波形显然行不通。因此本设计先在C++ Builder环境下将图像文件中的灰度数据转换为测试向量,然后拷贝到仿真测试文件中。虽然测试文件相当大,但可以保证图像灰度值同步输入。对于仿真结果输出,采用写文件的方法,将形态学滤波的输出写入到文件中。通过计算机比较仿真输出文件和同一幅图像在C++ Builder环境下生成的滤波结果文件是否有差异,即可判断功能仿真的正确性。时序仿真时数据输出的时间也要保存到仿真结果文件中。
设计时要注意以下问题:
(1)滤波器要求严格的时序关系,宜采用同步设计。
(2)实际使用时图像是连续输入的,需要用场信号将滤波器复位。
(3)行延迟FIFO宜采用XC2S400E片内的Block RAM生成。
(4)对于256×256的输入图像和3×3的结构元,理论上的有效结果图像大小是254×254。在实际使用中,对于不同大小的结构元,滤波结果输出会滞后几个行周期,在图像输入完以后,象素时钟信号也会撤销,而此时形态学滤波还没有结束,所以输出的图像大小比理论值还要小。不过没有输出的滤波结果数据绝大部分都是无效数据,只有几个象素是有效的。如果需要得到未能输出的几个有效数据,可以在一帧图像输入结束之后再人为地加入几个时钟脉冲。
(5)为了方便下一级处理单元接收滤波数据,输出图像的大小也应设为256×256,相应的地址生成器也应设为256×256,同时需要将无效数据设置为某个定值。
4 结束语
根据实际应用要求,本文设计了3×3结构元素的形态学开操作滤波器,将其简化后设计了相应的硬件原理框图,并在XC2S400E上实现。该设计已经成功地应用到实际中。在本文设计的开操作滤波器基础上,通过简单地改变结构元素或改变滤波子模块次序,即可得到其他性能的形态学滤波器。同时FPGA器件的可编程特性,可以方便地对电路进行改进,以进一步提高电路的性能。
参考文献
1 刘志敏,杨杰.基于数学形态学的图像形态滤波.红外与激光工程,1999;28(4)
2 杜峥,张桂林,王超.红外弱小目标预处理及检测方法研究.计算机与数字工程,2003;31(4)
3 Singh B,Siddiqi M U.A Simplified Algorithm for Approximate Separable Decomposition of Morphological Templates.Pattern Recognition,1996;29(9)
4 Shih F Y,Mitchell O R.Decomposition of Grey-Scale Morphological Structuring Elements.Pattern Recognition,1995;24(3)
5 Robin F,Renaudin M,Privat G et al.Functionally Asynchronous Array Processor for Morphological Filtering of Greyscale Images.IEEE Proceedings:Computers and Digital Techniques,1996;143(5)
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)