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

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

3天内不再提示

基于FPGA视频图像算法开发

FPGA之家 来源:FPGA自习室 作者:FPGA自习室 2022-08-17 09:09 次阅读

一、背景介绍

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

形态学滤波原理

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

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

366f94ac-1dc1-11ed-ba43-dac502259ad0.png

图2.1腐蚀效果示意图

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

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

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

36865372-1dc1-11ed-ba43-dac502259ad0.png

图2.2膨胀效果示意图

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

三、FPGA硬件实现

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

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

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

3691dcce-1dc1-11ed-ba43-dac502259ad0.png         最后,需要开运算或者闭运算时,只需要把两个算法IP串联起来,配置不同的参数即可。

四、仿真验证

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

3x3腐蚀仿真结果:


36aa9584-1dc1-11ed-ba43-dac502259ad0.png

9x9腐蚀仿真结果:

36bb3e66-1dc1-11ed-ba43-dac502259ad0.png

5x5膨胀仿真结果:

36ca45aa-1dc1-11ed-ba43-dac502259ad0.png 15x15膨胀仿真结果:

36e05462-1dc1-11ed-ba43-dac502259ad0.png

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

    关注

    1610

    文章

    21393

    浏览量

    595442
  • 视频图像
    +关注

    关注

    0

    文章

    47

    浏览量

    17416
  • 硬件
    +关注

    关注

    11

    文章

    2980

    浏览量

    65343
  • 代码
    +关注

    关注

    30

    文章

    4597

    浏览量

    67333

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

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA图像处理之CLAHE算法

    FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 1782次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b>处理之CLAHE<b class='flag-5'>算法</b>

    FPGA图像视频处理培训

     FPGA图像视频处理培训课程目标:  1、深入了解JPEG标准和H.264标准协议;  2、掌握FPGA图像
    发表于 07-16 14:05

    基于FPGA的HDTV视频图像灰度直方图统计算法设计

    本文介绍了如何在FPGA 中利用Block RAM 的特殊结构实现HDTV 视频增强算法中灰度直方图统计。灰度直方图统计灰度直方图统计是图像处理过程中很常用的一个步骤,简单来讲,就是对
    发表于 05-14 12:37

    【深圳】诚聘FPGA开发工程师

    猎头推荐职位:FPGA开发工程师工作职责:1. 编写设计方案,完成算法的封装固化;2. 基于FPGA硬件开发平台,调试、验证负责
    发表于 07-04 15:27

    【深圳】诚聘FPGA开发工程师

    猎头职位:FPGA开发工程师工作职责:1.基于FPGA硬件开发平台,调试、验证负责视频编码算法
    发表于 07-17 15:15

    【深圳】诚聘FPGA开发工程师

    猎头职位:FPGA开发工程师工作职责:1.基于FPGA硬件开发平台,调试、验证负责视频编码算法
    发表于 09-11 15:59

    Verilog图像算法开发

    Verilog HDL数字系统设计篇教程预览地址:链接:http://pan.baidu.com/s/1pK8TlcJ密码:ojrjETree的开发开发了下面17种verilog图像算法
    发表于 11-28 22:20

    Modelsim 与Matalb模拟视频流仿真

    ` Modelsim 与Matalb模拟视频流仿真 本章节主要搭建一个视频流Modelsim仿真,在基于FPGA视频图像
    发表于 03-03 18:11

    FPGA图像视频套件开发指南Ver2.01

    特权VIP FPGA图像视频套件开发指南Ver2.01 (by特权同学)Xilinx FPGA入门连载 特权VIP
    发表于 03-22 06:35

    一种基于FPGA的实时视频图像处理算法研究与实现

    摘要为有效提高视频监控应用领域中多屏幕画面显示的清晰度、分辨度等问题,提出了一种基于FPGA的实时视频图像处理算法。文中介绍了系统的整体结构
    发表于 06-28 07:06

    【米尔MYD-C7Z020开发板试用申请】基于zynq的监控视频图像拼接算法

    手把手教你设计人工智能芯片及系统(全阶设计教程+AI芯片FPGA实现+开发板)详情链接:http://url.elecfans.com/u/c422a4bd15项目名称:基于zynq的监控视频
    发表于 10-30 17:03

    ECT图像重建算法FPGA实现

    ECT图像重建算法FPGA实现 ECT图像重建算法FPGA实现
    发表于 11-19 14:59 1次下载

    基于Xilinx FPGA视频图像采集系统

    FPGA仿真篇-使用脚本命令来加速仿真二 基于FPGA的HDMI高清显示借口驱动 基于FPGA灰度图像高斯滤波算法的实现
    发表于 02-20 20:44 1328次阅读
    基于Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>视频</b><b class='flag-5'>图像</b>采集系统

    如何在MATLAB中开发基于像素的视频图像处理算法

    此讲座将结合新产品的特性,重点介绍如何在MATLAB®中开发基于像素流的视频图像处理的算法,并通过HDL代码产生的技术快速在FPGA上实现
    的头像 发表于 08-29 06:08 2683次阅读
    如何在MATLAB中<b class='flag-5'>开发</b>基于像素的<b class='flag-5'>视频</b>和<b class='flag-5'>图像</b>处理<b class='flag-5'>算法</b>

    基于FPGA而实现的视频图像处理算法

    为有效提高视频监控应用领域中多屏幕画面显示的清晰度、分辨度等问题,提出了一种基于FPGA的实时视频图像处理算法
    发表于 09-13 14:53 3574次阅读