基于matlab的数学形态学抗噪边缘检测

写本文的目的是记录自己学习过或做过的一些东西,深化理解,理清思路,便于回忆。本人处于学习阶段,欢迎指出不对的地方。

数学形态学之前文章解释过,不再做介绍。

图像边缘包含物体的主要特征,人眼识别物体,首先就是根据边缘来识别。图像的边缘提取也是现在数字图像处理中非常必要也是基础的一部分,在工程应用中有着极其重要的地位,也是计算机视觉最活跃的领域。

图像的边缘检测有多到数不清的方法,这次使用最为简单的方法——形态学中的膨胀腐蚀作为最基本的元素,进行有一定抗噪性能的边缘检测。

开始测试

1.引入要处理的图像

这是一个养不活的风信子,这张图的边缘细节部分主要集中在花瓶、根茎、后面墙纸的花纹
在这里插入图片描述

2.加入噪声

这里加入高斯噪声,之后处理要转换为灰度图像
在这里插入图片描述

3.获取形态学算子

这里使用一组四方向算子,分别是单位矩阵、除第二列为1其余全为0的矩阵、除第二行为1其余全为0的矩阵、除副对角为1其余全为0的矩阵,来作为形态学算子。因为对于膨胀腐蚀的方法提取边缘来说,一个算子只会对垂直于它的边缘作用效果明显(为什么作用明显,见前文与膨胀腐蚀的原理),所以方向数要备足,这样才能对所有方向的边缘产生作用,这里选取了4方向,改进的话可以选择8方向甚至更多,也可以选取别的形状算子。

4.边缘检测方法选择

为了做对比,这里使用了两种形态学方法。
一,使用4个算子中的一个,将图像分别进行膨胀和腐蚀运算,再将结果做差,得到一个方向的边缘信息。4个算子都计算完成后,将4个结果以平均权重相加,得到最终图像。这种方法很明显是不抗噪的。
二,使用4个算子中的一个,将图像分别进行先开后膨胀和先闭再腐蚀运算,再将结果做差,得到一个方向的边缘信息。4个算子都计算完成后,将4个结果以平均权重相加,得到最终图像。这种方法使用开运算去除孤立的毛刺和小桥,闭运算去除物体内部的小孔和裂缝,很明显是先一定程度上去除了噪声,再进行边缘检测的。

5.实验结果

第一种方法在不含噪和含噪情况下的结果:
在这里插入图片描述
在这里插入图片描述
第二种方法在不含噪和含噪情况下的结果:
在这里插入图片描述
在这里插入图片描述

总结

通过直接观测的结果对比,显然在有噪声的情况下,抗噪型边缘检测的效果大大优于不抗噪边缘检测。但不抗噪边缘检测,在不含噪声的情况下,结果似乎优于抗噪型。也局部说明了,没有一种算法能占据所有优势。后续进行改进,可以对各个结构算子加入多尺度运算,使用融合权值和信息熵进行加权处理。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值