0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于二值图像的滤波算法即形态学滤波

FPGA开源工作室 来源:FPGA开源工作室 作者:FPGA开源工作室 2021-03-09 11:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、背景介绍

基于二值图像的滤波算法即形态学滤波,在图像目标采集的预处理中经常被使用到,针对不同的使用场景涉及到腐蚀、膨胀、开闭运算等处理。实际使用中对于不同的分辨率大小以及模板窗口大小,都要进行代码的修改去适应不同的场景,特别是模板窗口比较大时,代码改写工作量就很大。因此,为了减少开发时间,本文实现了一个通用的算法IP,只需要修改模板窗口大小和工作模式(腐蚀or膨胀)参数即可,达到“自适应”目的,避免重复低效的工作。

二、形态学滤波原理

形态学滤波由腐蚀和膨胀两种操作组成。首先,腐蚀(Erosion)的核心思想是图像像素之间进行逻辑与运算,简单来说,当一个包含当前像素的结构单元的像素值都为“1”时输出待处理的的目标像素。

若采用窗口实现腐蚀操作,如图2.1所示:

图2.1腐蚀效果示意图

腐蚀的作用:在形态学中的腐蚀可以去除图像中的物体边界点,清除图像中比结构元素小的毛刺或者小突起,此外,结构元素越大,腐蚀的面积就越大。所以,可以使用腐蚀运算操作小区域的非目标区域区分。

膨胀的核心思想是像素之间进行逻辑或运算,也就是说每个输入像素在输出图像中被替换成结构单元的形状。当结构单元中任何一个像素的灰度值为“1”时,那么输出窗口内的像素都为“1”,此时输出待处理的目标像素。公式可以表示为:

若采用窗口实现膨胀操作,如图2.2所示:

图2.2膨胀效果示意图

膨胀的作用:膨胀运算可以填充图像中小于结构元素的孔洞以及图像边缘部分的一些小凹陷。对于目标区域腐蚀后再膨胀操作就是所谓的开运算。对所选定的目标区域先进行膨胀操作然后再进行腐蚀操作就是所谓的闭运算。

三、FPGA硬件实现

形态学滤波算法的FPGA硬件实现原理图,如下图所示。算法的输入输出接口信号采用标准的 VGA时序接口,即行场信号、数据和数据使能信号。算法模板输入参数主要有两个,Win_SIZE 表示窗口大小,WORK_MODE 表示工作在腐蚀还是膨胀模式,根据需要配置自己想要的模板大小和工作模式。

由于行缓存是基于RAM的实现的,本文设计的ram的规格大小是为2048x15,

深度2048 表示支持的最大分辨率,数据位宽为15bit表示支持的最大的模板窗口大小为15x15,也可以根据需要修改ram规格,其他逻辑不需要改动。

最后,需要开运算或者闭运算时,只需要把两个算法IP串联起来,配置不同的参数即可。

四、仿真验证

本节主要搭建一个视频流Modelsim仿真平台,在基于FPGA视频图像算法开发过程中,有必要模拟一个视频时序,用来验证算法,并有效的利用Matlab工具把静态图片“打散”保存到txt文本里,供Modesim读取,然后通过Matalb“复现”处理后的文本。

3x3腐蚀仿真结果:

9x9腐蚀仿真结果:

5x5膨胀仿真结果:

15x15膨胀仿真结果:

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    30

    文章

    1370

    浏览量

    114140
  • 滤波算法
    +关注

    关注

    2

    文章

    93

    浏览量

    14227
  • 二值图像
    +关注

    关注

    0

    文章

    14

    浏览量

    8903

原文标题:基于Verilog的“自适应”形态学滤波算法实现

文章出处:【微信号:leezym0317,微信公众号:FPGA开源工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADC的采样滤波算法利用卡尔曼滤波算法

    严重,要么滤波效果不明显,在这里给出两种优化方案。 方案一:在采样与优化相差大于某时采用一阶滞后滤波
    发表于 12-01 07:44

    海绵密度测试仪的数据滤波算法:如何从波动曲线中提取有效

    传感器捕捉信号时混入的电子干扰。这些波动并非真实密度变化,需通过滤波算法提取有效滤波算法
    的头像 发表于 11-25 09:31 123次阅读
    海绵密度测试仪的数据<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>:如何从波动曲线中提取有效<b class='flag-5'>值</b>

    使用Otsu阈值算法将灰度图像

    Otsu 算法是由日本学者OTSU于1979年提出的一种对图像进行化的高效算法,又称“最大类间方差法”。当我们对一个图象进行
    发表于 10-28 06:49

    数据滤波算法的具体实现步骤是怎样的?

      数据滤波算法在电能质量在线监测装置中的具体实现,需围绕 “ 数据采集→预处理→算法执行→参数适配→效果验证→结果输出 ” 的全流程展开,核心是结合装置硬件特性(采样率、ADC 精度)和干扰类型
    的头像 发表于 10-10 16:45 429次阅读

    哪些数字滤波算法适用于电能质量在线监测装置?

    在电能质量在线监测装置中,数字滤波算法的核心作用是 抑制干扰噪声、提取有效信号(如基波、谐波、暂态分量)、消除测量误差 ,最终确保电压 / 电流的幅、频率、相位、谐波含量及暂态事件(暂升 / 暂降
    的头像 发表于 09-18 11:28 475次阅读

    高压SVG 高压无功补偿滤波装置

    滤波
    jf_31141196
    发布于 :2025年07月31日 15:01:57

    基于Matlab与FPGA的双边滤波算法实现

    前面发过中值、均值、高斯滤波的文章,这些只考虑了位置,并没有考虑相似度。那么双边滤波来了,既考虑了位置,有考虑了相似度,对边缘的保持比前几个好很多,当然实现上也是复杂很多。本文将从原理入手,采用Matlab与FPGA设计实现双边滤波
    的头像 发表于 07-10 11:28 4081次阅读
    基于Matlab与FPGA的双边<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>实现

    粗糙度的滤波是怎么设置的?

    微观不平度的信息。本文将详细探讨粗糙度滤波的设置方法与依据。 滤波原理与类型 表面轮廓包含了形状误差、波纹度和粗糙度等不同尺度的几何特征,滤波的本质是通过数学
    的头像 发表于 07-03 09:46 587次阅读
    粗糙度的<b class='flag-5'>滤波</b><b class='flag-5'>值</b>是怎么设置的?

    常用的数字滤波算法及其特性

    如何,适用场合是什么样的呢? 一 限幅滤波法(又称程序判断滤波法) 方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新时判断:如果本次与上次
    的头像 发表于 06-18 09:04 791次阅读

    蓝牙信标RSSI滤波算法

    蓝牙信标RSSI滤波算法‌主要用于处理RSSI的不稳定性和噪声,以提高距离估计的准确性。RSSI(接收信号强度指示)是蓝牙信标中常用的参数,用于评估设备之间的距离或信号质量。然而,RSSI
    的头像 发表于 05-12 19:45 751次阅读
    蓝牙信标RSSI<b class='flag-5'>滤波</b><b class='flag-5'>算法</b>

    FPGA上的图像处理算法集成与优化

    、Tophat形态学滤波、RAW8转RGB888、彩色图像均值滤波、Alpha背景叠加、直方图灰度拉伸算法以及自动白平衡
    的头像 发表于 02-14 13:46 1153次阅读
    FPGA上的<b class='flag-5'>图像</b>处理<b class='flag-5'>算法</b>集成与优化

    磁致伸缩位移传感器测量信号滤波方法探讨

    磁致伸缩传感器在高精度测量中受干扰,需连续多次测量取最小滤波得正确。本文提出基于特征提取的平滑滤波方法,实验证明
    的头像 发表于 02-05 14:25 725次阅读
    磁致伸缩位移传感器测量信号<b class='flag-5'>滤波</b>方法探讨

    卡尔曼滤波基础知识

    附录:补充材料 附1、卡尔曼滤波主要框架? 卡尔曼滤波的本质属于系统的最优估计,通过卡尔曼增益来修正状态预测,减小噪声信号对测试精度的影响,其核心内容是基于上一时刻状态的估计以及当
    的头像 发表于 01-08 10:26 1892次阅读
    卡尔曼<b class='flag-5'>滤波</b>基础知识

    滤波器的一些常识

    通过数字信号处理器(DSP)或嵌入式系统中的软件算法实现。模拟滤波器处理连续时间的信号,通常使用电路元件实现。滤波器的频率响应是指它对不同频率信号的响应情况。根据频
    的头像 发表于 12-18 17:05 1506次阅读
    <b class='flag-5'>滤波</b>器的一些常识

    卡尔曼滤波图像处理中的应用实例 如何调优卡尔曼滤波参数

    卡尔曼滤波图像处理中的应用实例 卡尔曼滤波图像处理中主要应用于目标跟踪、噪声消除和图像恢复等方面。以下是一些具体的应用实例: 目标跟踪
    的头像 发表于 12-16 09:11 2543次阅读