FPGA形态学滤波设计

本文详细介绍了FPGA实现形态学滤波的设计过程,包括顶层框架设计、子模块设计,如一维和二维的腐蚀、膨胀、开运算及Tophat变换模块。文章深入探讨了每个模块的工作原理和时序对齐问题,并提供了调试效果的图表。
摘要由CSDN通过智能技术生成

顶层框架设计

Tophat变换(白帽)实际上是原图像与“开运算”的结果图之差,算法数学表达式如下:
在这里插入图片描述
根据以上公式,设计系统顶层框图如下所示:
在这里插入图片描述
开运算为先腐蚀后膨胀的过程,将原图输入流依次流过腐蚀运算流水线和膨胀运算流水线即可,不过要注意时序对齐!!!,开运算的设计框图如下所示:
在这里插入图片描述
腐蚀与膨胀运算可以理解为在形态学处理核(n*n的矩形窗口)范围内寻找像素灰度值的最小值或最大值。他们之间只有些许差别,因此在设计时,将一维的腐蚀和膨胀操作划分为一个模块,通过入口参数(ERO_DIL)进行腐蚀或膨胀选择。二维腐蚀与膨胀操作的设计框图如下图所示:
在这里插入图片描述
一维膨胀与腐蚀模块完成输入数据流的连续几个数据的比较,完成流水线输出。设计框图如下所示:
在这里插入图片描述

子模块设计

在子模块设计中我们往往采用自底向上的设计原则。根据上一节所设计的整体框架及模块划分,我们需设计以下模块:
(1) 比较子模块min_max.v
(2) 一维形态学腐蚀/膨胀子模块morph_1d.v
(3) 二维形态学腐蚀/膨胀子模块morph_2d.v
(4) 二维形态学开运算子模块morph_open_2d.v
(5) 二维形态学Tophat运算模块morph_tophat_2d.v

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值