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

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

3天内不再提示

Laplacian算子的FPGA实现方法

姚小熊27 来源:电路城论坛 作者:Casper.T 2020-06-16 17:47 次阅读

在图像处理系统中常需要对图像进行预处理。由于图像处理的数据量大,对于实时性要求高的系统, 采用软件实现通常难以满足实时性的要求。AlteraQuartusⅡ作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受 到数字系统设计者的欢迎。QuartusⅡ支持Altera的IP核,包含了LPM/Megafunctions宏功能模块库,设计者只需要选取设置这些 功能模块的相关参数就可以在程序中调用,从而使用户可以充分利用成熟的模块,大大简化了设计的复杂性,加快了设计速度。

拉普拉斯算子是一种重要的图像增强算子,它是一种各向同性滤波器,即滤波器的响应与滤波器作用图像的突变方向无关,而且实现简单,被广泛用于图像锐化和高频增强等算法中。在此,提出一种使用QuartusⅡ开发环境的Megafunctions功能模块实现拉普拉斯算子的方案,可以做到实时增强图像的高频细节。

1 、Laplacian算子介绍拉普拉斯算子是各向同性线性算子,二元函数f(x,y)的拉普拉斯变换定义为:

Laplacian算子的FPGA实现方法

基本高通滤波模板中所有系数的和为0,如果在模板所覆盖的区域内像素的灰度值都相同或者灰度值的变化较为缓慢.则模板的输出为0或输出很小。人们常用的高通提升滤波方法,就是将原图像乘以一个放大因子A,再减去低通滤波图像。高通提升滤波可以表示为: 高通提升滤波图像=A×原图像-低通滤波图像=(A-1)×原图像+原图像-低通滤波图像=(A-1)×原图像+高通滤波图像

Laplacian算子的FPGA实现方法

即:

式中:当A=1时,高通提升滤波就是基本的高通滤波;当A》1时,部分原图像被加到高通滤波的结果上,这就恢复了部分高通滤波中丢失的低频成分。因此,经过高通提升滤波的图像与原图像更加相像,同时又对图像的边缘进行了增强。进行模板卷积的主要步骤为:

(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合;

(2)将模板上系数与模板下对应像素相乘;

(3)将所有乘积相加;

(4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。当模板遍历图像中的每个像素就得到图像滤波结果。实现Laplacian高通提升滤波的模板如图1所示。

Laplacian算子的FPGA实现方法

文献[2]的实验证明,使用图1(a)所示掩模能得到更好的锐化效果,所以在硬件实现时使用该掩模。实验中取A=1。

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

    关注

    1601

    文章

    21296

    浏览量

    593068
  • Laplacian
    +关注

    关注

    0

    文章

    3

    浏览量

    6816
收藏 人收藏

    评论

    相关推荐

    IIC总线的FPGA实现说明

    DE2_TV中,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC总线的FPGA实现做个说明。
    的头像 发表于 01-05 10:16 313次阅读
    IIC总线的<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>说明

    opencv写好的算子,比如找边 找圆 模版匹配

    opencv写好的算子,比如找边 找圆 模版匹配
    的头像 发表于 10-16 09:54 261次阅读

    使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用源码

    电子发烧友网站提供《使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用源码.rar》资料免费下载
    发表于 09-28 17:38 12次下载

    如何使用BMLang开发自定义的算子

    如何使用BMLang开发自定义的算子
    发表于 09-18 06:57

    图像锐化的Sobel、Laplacian算子基础知识介绍

    Sobel 算子是一种用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导
    的头像 发表于 09-13 09:52 779次阅读
    图像锐化的Sobel、<b class='flag-5'>Laplacian</b><b class='flag-5'>算子</b>基础知识介绍

    TCP和UDP协议的实现方法

    目前TCP协议大多由cpu跑代码实现, 这次用FPGA的纯逻辑实现 , System Verilog编写,下面给大家粗略讲一下我的实现方法
    的头像 发表于 08-30 10:46 437次阅读
    TCP和UDP协议的<b class='flag-5'>实现</b><b class='flag-5'>方法</b>

    PRelu算子调优经历-函数优化策略

    上一篇小编和大家分享了在运行客户的一个模型时遇到了一个PRelu算子,在利用TFLm自带的PRelu参考实现的代码,其中PRelu竟然抛出了188ms的天文数字...因此小编开始准备PRelu算子
    的头像 发表于 08-24 08:50 568次阅读
    PRelu<b class='flag-5'>算子</b>调优经历-函数优化策略

    什么是PRelu算子?PRelu算子调优经历-先行篇

    TFLm推理引擎的默认实现,PRelu算子的运行时间竟然高达188ms。 于是小编本着工程师本有的探索精神,决定迎难而上,彻底将它优化一下。 所谓知己知彼,百战不殆,首先我们来看一下什么叫做PRelu算子。 PRelu,看着好像
    的头像 发表于 08-24 08:50 777次阅读
    什么是PRelu<b class='flag-5'>算子</b>?PRelu<b class='flag-5'>算子</b>调优经历-先行篇

    如何给TPU-MLIR添加新的算子

    如何给TPU-MLIR添加新的算子
    的头像 发表于 08-18 11:29 350次阅读
    如何给TPU-MLIR添加新的<b class='flag-5'>算子</b>

    机器学习算法的5种基本算子

    机器学习算法的5种基本算子 机器学习是一种重要的人工智能技术,它是为了让计算机能够通过数据自主的学习和提升能力而发明的。机器学习算法是机器学习的核心,它是指让计算机从数据中进行自主学习并且可以实现
    的头像 发表于 08-17 16:11 1327次阅读

    fpga实现加法和减法运算的方法是什么

    FPGA实现加法和减法运算非常简单,实现乘法和除法可以用IP,那实现对数和指数运算该用什么呢?
    发表于 08-05 09:37 917次阅读
    <b class='flag-5'>fpga</b><b class='flag-5'>实现</b>加法和减法运算的<b class='flag-5'>方法</b>是什么

    详解halcon函数的封装方法

    指Halcon中最基础、最底层的函数(即你看不到它的代码实现),一个算子只有一句话,例如threshold算子
    的头像 发表于 07-10 10:49 637次阅读
    详解halcon函数的封装<b class='flag-5'>方法</b>

    OpenCV FFT模糊检测方法

    图像Laplacian算子的方差 可以仅用一行代码实现 使用起来非常简单 缺点是,Laplacian方法需要大量手动调整用于定义图像是否模糊
    的头像 发表于 06-26 10:47 483次阅读
    OpenCV FFT模糊检测<b class='flag-5'>方法</b>

    荐读:FPGA设计经验之图像处理

    不大。但问题是只有FPGA做这样的运算才是速度最快效率最高的,比如用CPU做一个取边缘的算法根本就达不到实时。另外别小看了这种NxN算子法,它可以有各种组合和玩法,可以实现分选多种颜色,甚至分辨简单形状
    发表于 06-08 15:55

    基于FPGA提升框架的小波变换方法

    基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifting Scheme) 是由Sweldens 等人在近几年提出的一种小波变换方法,用它
    的头像 发表于 05-11 15:33 489次阅读
    基于<b class='flag-5'>FPGA</b>提升框架的小波变换<b class='flag-5'>方法</b>