多尺度结构元素形态学边缘检测算法的研究-含Matlab代码

article/2025/9/30 0:01:18

目录

  • 一、引言
  • 二、数学形态学理论概述
  • 三、实验验证
  • 四、参考文献
  • 五、Matlab代码获取

一、引言

使用数字图像处理技术来解决计算机视觉、人工智能、生物遥感器视觉等领域所涉及到的图像问题时,最重要、最关键的一步是提取出图像中最有效、最有用的特征信息。而图像边缘检测技术所研究的对象即图像的边缘,也是图像中一个重要的特征信息,它能比较直观地把图像的形状等一些重要的特性展示出来,是分析图像的重要依据,是后面进一步分析图像的重要基础,对图像边缘提取的质量好坏直接影响着后续对整个图像研究的成功与否。同时,图像的边缘,具有不变特性,不随环境的改变而改变。上世纪60年代,Roberts根据图像边缘灰度具有间断性这一特征提出了一种用梯度值的分布情况来提取图像边缘的方法,即Roberts算子。后来,很多学者在 Roberts 算子的基础上又提出了很多比较经典的边缘检测算子,如Sobel算子,Prewitt算子,Kirsch算子等,其中,前两种算子属于一阶导数边缘检测算子,后一种算子则是二阶导数边缘检测算子。由于以上几种算子是对图像进行求导运算来提取出图像的边缘,很容易受到图像中噪声的干扰,因此会在检测到的图像边缘周围的区域内造成较宽的噪声响应。为了滤除图像中的噪声响应需在后续的工作中用滤波器对图像进一步滤波。 在滤除了图像中的噪声时也导致丢失了检测到的真实边缘细节信息,定位到的边缘较真实边缘偏大,误将噪声当作边缘检测等一些错误,严重影响最终的检测结果。

1982 年,Serra首次提出数学形态学的概念并将它第一次运用到图像分析等领域。利用数学形态学的方法进行边缘提取时结构元素的选取非常重要。在以往的应用中,均采取单一结构元素来对图像的边缘进行检测,这种做法实现比较简单,但会导致丢失部分边缘细节信息而造成误检,无法完整地保留图像的边缘。

二、数学形态学理论概述

数学形态学是以集合论为理论基础,对图像进行形态学变换,实质上是一种针对与集合的运算过程,即形态学结构元素与物体或者形状的集合之间的彼此作用。并且它的结构形式决定了与之所匹配目标的形状特征。结构元素是数学形态学分析图像的基础,采取一定的结构元素与之所对应要处理的图像矩阵进行f(x,y)交、并等操作,以实现对图像的分析操作。其中如何选择合适的结构元素至关重要,选取不同的结构元素会得到不一样的检测结果且差异很大。形态学处理图像的操作是膨胀和腐蚀,同时利用膨胀和腐蚀还能进一步组合出开启操作、闭合操作等一系列操作。

f(x,y)是待处理的图像,g(x,y)是形态学的结构元素,x与y分别表示二维图像的横坐标值与纵坐标值,为了区分,处理后所得图像的横坐标值与纵坐标值分别用s与t表示,在这里插入图片描述和Θ各自表示形态学运算中两种基本运算符,在这里插入图片描述是膨胀运算符,Θ是腐蚀运算符,Df,Dg分别是f和g的定义域,可以得到灰度膨胀、灰度腐蚀各自数学表达式如下。

灰度膨胀运算[1]:

在这里插入图片描述
灰度腐蚀运算:
在这里插入图片描述
由上述两种基本运算进一步组合灰度开启与闭合运算如下:

灰度开启运算:

在这里插入图片描述
灰度闭合运算:

在这里插入图片描述
假设在灰度图像矩阵上移动形态学线型算子进行膨胀运算,则对于某图像块区域进行灰度膨胀运算的步骤如图所示。

在这里插入图片描述

图1 灰度膨胀运算的步骤

假设数字图像矩阵为Uin8类型(范围为0~255),则根据形态学运算的特点,膨胀运算将超出边界的部分指定为图像数据类型的最小值,即超出灰度图像边界的像素值为0;腐蚀运算将超出边界的部分指定为图像数据类型的最大值,即超出灰度图像边界的像素值为255。

多尺度形态学通过选定形态结构元素的类型及尺度来实现,如对图像应用某结构元素进行膨胀运算,对其尺度的选取可根据不同的情况来定。一般而言,随着选取的结构元素尺度的增加,计算量也会增加,甚至可能会对图像自身的几何形状产生影响,进而造成形态处理结果不准确。适当地选择小尺度(一般取2~5)的结构元素,可以在一定程度上提高形态运算的效率及准确率。因此,通过应用不同尺度的结构元素进行边缘检测,再通过加权融合的思想来整合检测到的边缘,可以在一定程度上减小图像噪声的影响,进而提高边缘检测的精度。

根据数学形态学运算的概念,构造形态学多尺度迭代滤波器如下:

在这里插入图片描述
结构元素的形状往往会影响到所匹配目标的准确率,应用形态学进行边缘提取需要综合考虑匹配不同方向的边缘的要求。因此,对于一个给定的结构元素g,可将其设计成5个3×3模板,分别为g1~g5:

在这里插入图片描述
多尺度结构元素的定义为:

在这里插入图片描述
式中,n为尺度参数。

多尺度边缘检测算法为:

在这里插入图片描述
多尺度边缘融合算法为:

在这里插入图片描述
式中,ui为各个尺度边缘检测图像进行融合时的加权系数。

根据信息熵的定义,图像信息熵能够反映图像信息的丰富程度,并直接反映不同边缘所占的比重。因此,可参考加权融合的思想,通过计算不同尺度的边缘图像所含的信息量即信息熵的多少,来计算权值并确定边缘图像的合成。

以信息熵的计算方法为基础,假设数字图像的灰度范围为[0,L-1],则各灰度级像素出现的概率为:

在这里插入图片描述
则该图像的熵为:

在这里插入图片描述

一般而言,可以采用距离度量系统中各个实体的相似度,两个实体之间的距离越小,它们之间的相似度就越大。可通过对不同实体 f a {{f}_{a}} fa f b {{f}_{b}} fb之间的相似度 s i m ( f a , f b ) sim\left( {{f}_{a}},{{f}_{b}} \right) sim(fa,fb)求和并将该和作为整个系统中 f a {{f}_{a}} fa的实体的相似度或支持度,即:

在这里插入图片描述

可选择图像信息熵和实体加权进行边缘图像的融合,通过对各边缘图像的信息熵计算差值作为距离来获取各个实体的相似度或支持度。

因此,边缘图像 f a {{f}_{a}} fa与边缘图像 f b {{f}_{b}} fb的差量算子为:

在这里插入图片描述

差量函数为:

在这里插入图片描述

反支持度函数为:
在这里插入图片描述

为了在保证程序运行效率的前提下尽可能匹配图像不同方向上的边缘,本文选择5个不同的结构元素对图像进行边缘检测,步骤如下:

(1) 应用不同的结构元素对图像进行边缘检测,通过实体加权融合与信息熵结合的方法对边缘图像进行图像融合,获得单尺度下的边缘检测结果Gf1。

(2) 对5个结构元素分别进行膨胀,用膨胀后的5个结构元素在尺度n=2时对图像进行边缘检测,将获得的5个检测结果按照第1步的融合方法进行图像融合,获得尺度n=2时的边缘检测结果Gf2。

(3) 对5个结构元素分别进行膨胀,用膨胀后的5个结构元素在尺度n=3时对图像进行边缘检测,将获得的5个检测结果按照第1步的融合方法进行图像融合,获得尺度n=2时的边缘检测结果Gf3。

(4) 同理,按照上述步骤对5个结构元素进行n个尺度(n一般取2~5)的边缘检测及融合,获得n个不同尺度的融合图像,分别为:Gf1,Gf2,…Gfn。

(5) 根据实体加权融合与信息熵结合的融合方法进行图像融合,得到最终的融合结果。

三、实验验证

图像边缘指像素周围的灰度值发生急剧变化的位置集合,是图像的基本特征之一。图像边缘一般存在于目标、背景和区域之间,因此边缘提取是图像分割过程中经常被采用的关键步骤之一。图像边缘根据样式大致可以分为两种:一种是阶跃状边缘,该类边缘两边像素的灰度值明显不同,呈现阶跃样式:另一种是屋顶状边缘,该类边缘处于灰度值由小到大再到小的峰值转折点处,呈现屋顶样式。因此,这里根据多尺度边缘检测的算法流程,实现图像形态学算子、尺度参数计算,并通过图像形态学变换进行图像边缘的提取。

在这里插入图片描述

图2 检测结果

四、参考文献

[1] 朱地博, 李春贵. 多尺度结构元素形态学边缘检测算法的研究 [J]. 广西科技大学学报, 2017, 28(04): 92-6.

五、Matlab代码获取

代码下载链接如下:
多尺度结构元素形态学边缘检测算法的研究


博主简介:擅长智能优化算法信号处理图像处理机器视觉深度学习神经网络等领域Matlab仿真以及实验数据分析等,matlab代码问题、商业合作、课题选题与指导等均可私信交流



http://chatgpt.dhexx.cn/article/bbGbGstQ.shtml

相关文章

多尺度熵---Understanding Multiscale Entropy

目录 导言计算多尺度熵多尺度熵在脑电分析中的应用参考文献 导言 多尺度熵(Multiscale entropy, MSE)将样本熵扩展到多个时间尺度,以便在时间尺度不确定时提供额外的观察视角。样本熵的问题在于它没有很好地考虑到时间序列中可能存在的不同时…

多尺度排列熵

文章目录 前言一、什么是多尺度排列熵?二、实验平台照片三、MATLAB代码3.1 多尺度排列熵3.2 排列熵 参考文献 前言 齿轮及齿轮箱作为机械设备常用的调节转速和传递转矩的旋转机械设备,不仅能够传递较大的功率和载荷,而且具有较好的可靠性。但…

多尺度是什么计算机视觉中 multi_SCALE

先给出定义吓死你们哈哈 多尺度,实际上就是对信号的 不同粒度 的采样 别急哈哈 粒度小,说明是一个很密集的采样,能看到更多更多的细节 而粒度粗 大 说明是一个很稀疏的采样,但是点与点之间隔得远了,就容易看到趋势了…

多尺度(multi-scale)目标检测方法

文章目录 1、多尺度图像预测2、金字塔特征预测2.1 FPN2.2 SSD 3、bounding box设计 1、多尺度图像预测 将图片进行不同尺度的缩放,得到图像金字塔,然后对每层图片提取不同尺度的特征,得到特征图。最后对每个尺度的特征都进行单独的预测。 特…

多尺度与多分辨率的理解

我一开始以为 多尺度与多分辨率 是一样的意思。后来看到了xiaowei_cqu博客的一篇文章“【OpenCV】SIFT原理与源码分析:DoG尺度空间构造”(以下简称,xiaowei一文),才发现我的理解有误。 尺度空间(scale space)理论 …

多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)...

计算机视觉研究院专栏 作者:Edison_G 深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。它通过构建多尺度深度特征学习网络 (MDFN) 不仅考虑单个对象和局部上下文,还考虑它们之间的关系。 公众号ID|ComputerVisionG…

计算机视觉CV领域中多尺度特征的概念

知乎:深度学习中的多尺度模型设计 知乎:计算机视觉中的多尺度模型都有哪些设计? CSDN:多尺度理解 什么是多尺度? 所谓多尺度,实际就是对信号的不同粒度的采样。 通常在不同的尺度下我们可以观察到不同…

收藏吧 少年

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书…

一个程序员的多年珍藏--收藏

2010 - 01 - 15 [置顶] 一个程序员的多年珍藏(1月23日最新更新) 文章分类:Java编程 程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了…

一个程序员多年的收藏

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书都…

转的一杂谈

网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析 文章分类:综合技术 1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现&…

PHP面试题(一)

1.用php打印前一天的时间,格式是2018-01-01 08:00:00? $adate("Y-m-d H:i:s",strtotime("-1 day"));print_r($a) 2.echo、print_r、print、var_dump的区别? echo、print是php语句,var_dump和print_r是函数…

Java高级必备

一、ES篇 1、概述 特点功能场景竞品分析对比 2、基本概念 IK分词器索引(类数据库)映射(类表设计)文档(数据) 3、高级特性 映射高级 地理坐标点数据类型动态映射 DSL高级聚合分析智能搜索 4、实战 写优化读优…

靠着这Java面试210题,成功拿下了10多家国内知名大厂Offer,10万字精华全部分享给大家

写在前面 我坚信,机会永远属于有准备的人,我们与其羡慕他人的成功,不如从此刻起,积累足够多的知识和面试经验,为将来进入更好的公司做好充分的准备! 如何让面试官在短短的几十分钟内认可你的能力? 如何在最短的时间内收获Java技术栈最核心的知识点 这份内容可以算是呕心沥血…

笔记总结备份

目录 文章目录 目录前言版本控制常用git 命令 操作系统系统机器数时间管理早期的 Linux 时间系统 中断内存管理内存分区malloc申请一块内存的背后原理RTOS 系统栈和协议栈寄存器磁盘调度算法虚拟内存页面置换算法分段段页式 Volatile(可见性)Atomic &…

MySQL常见面试题总结

MySQL常见面试题总结5---性能优化 单表优化设计字段索引查询SQL:充分利用索引,减少IO和全表扫描引擎事务锁定表使用外键Java方面 读写分离缓存批量读取和延迟修改分库分表垂直拆分水平拆分表分区 分库分表导致的问题事务一致性问题(见分布式事…

Java并发编程实战_盖兹

文章目录 第一部分 基础知识第1章 简介1.1 并发简史1.2 线程的优势1.3 线程带来的风险1.4 线程无处不在(框架线程或类线程并发注意点) 第2章 线程安全性2.1 什么是线程安全性2.2 原子性2.3 加锁机制内置锁:Synchronized关键字可重入锁:获取锁的操作粒度是…

算法(上)

算法 文章目录 算法1. 数组1. 剑指Offer:数组旋转2. 剑指Offer:调整数组顺序使奇数位于偶数前面3. 剑指Offer: 顺时针打印矩阵4. 剑指Offer: 数组中出现次数超过一半的数字5. 剑指Offer:丑数6. 剑指Offer: 数组中的逆序对7. 剑指O…

面试八股知识总结

问题 序列化变量的声明和定义C语言宏中“#”和“##”区别C中extern "C" 的作用了解C中编译时的优化C的特点是什么C的异常处理机制C和C,java的区别C 11 nullptr 和 NULL#ifdef、#else、#endif和#ifndef的作用C 语言的关键字 static 和 C 的关键字static有什…

数据结构学习笔记(参考书籍:大话数据结构和CSDN)

有些解释内容为搬运,如有侵权,联系删除!!! 数据结构 线性表 顺序存储 优点:无须为表中元素之间的逻辑关系而增加额外的存储空间;可以快速的存取表中任一位置的元素。 缺点:插入…