数学形态学图像处理的基本运算实现及分析

合集下载

数字图像处理第9章-数学形态学原理(1)..

数字图像处理第9章-数学形态学原理(1)..

集合代表图像中物体的形状,例如:在二进 制图像中所有黑色像素点的集合就是对这幅图像 的完整描述。在二进制图像中,当前集合指二维 整形空间的成员,集合中的每个元素都是一个二
9.2 数学形态学的基本概念和运算
在数学意义上,我们用形态学来处理一些图像, 用以描述某些区域的形状如边界曲线、骨架结构和 凸形外壳等。另外,我们也用形态学技术来进行预 测和快速处理如形态过滤,形态细化,形态修饰等。 而这些处理都是基于一些基本运算实现的。
用于描述数学形态学的语言是集合论。数 学形态学最初是建立在集合论基础上的代数系 统。它提出了一套独特的变换和概念用于描述 图像的基本特征。这些数学工具是建立在积分 几何和随机集论的基础之上。这决定了它可以 得到几何常数的测量和反映图像的体视性质。
1)提出所要描述的物体几何结构模式,即 提取物体的几何结构特征;
2)根据该模式选择相应的结构元素,结构 元素应该简单而对模式具有最强的表现力;
3)用选定的结构元对图像进行击中与否(HMT)变换, 便可得到比原始图像显著突出物体特征信息的图像。 如果赋予相应的变量,则可得到该结构模式的定量 描述;
4)经过形态变换后的ຫໍສະໝຸດ 像突出了我们需要的信息, 此时,就可以方便地提取信息;
1964年,法国学者J.Serra对铁矿石的岩相 进行了定量分析,以预测铁矿石的可轧性。几乎 在同时,G.Matheron研究了多孔介质的几何结构、 渗透性及两者的关系,他们的研究成果直接导致 “数学形态学”雏形的形成。
随后,J.Serra和 G.Matheron在法国共同建立了枫 丹白露(Fontainebleau)数学形态学研究中心。在 以后的几年的研究中,他们逐步建立并进一步完善 了“数学形态学”的理论体系,此后,又研究了基 于数学形态学的图像处理系统。

形态学图像处理MorphologicalImageProcessing

形态学图像处理MorphologicalImageProcessing

集合间的关系和运算 – 子集: A B { x | x A, x B}


– –
»集合A中的每一个元素都是集合B的一个元素。 并集: A B { x | x A或x B} »由集合A和集合B中的所有元素组成的集合 交集: A B { x | x A且x B} »由集合A和集合B中所有既属于A也属于B的公共元素 组成的集合。 如果 A B ,则称互斥的或不相容的 c A { x | x A} 补集。A的补集记为 »由所有不属于集合A的元素组成的集合。 差集: A B {w | w A, w B} A Bc »由所有属于集合A但不属于集合B的元素组成的集合。
A B B {[( AB) B)] B}B
第7章 形态学图像处理
第31页
南京工程学院 林忠

例:
开运算与闭运算
(a)有噪声的图像A (b)结构元素B (c)腐蚀图像 (d)A的开运算 (e)开运算的膨胀 (f)开运算的闭运算
第7章 形态学图像处理
第32页
南京工程学院 林忠
7.5 基本的形态学算法
这里X0=p,结构元素为B,结束条件Xk=Xk-1 对多个区域填充时,需要指定对应的初始点
第7章 形态学图像处理
第35页
南京工程学院 林忠

例:
X k ( X k 1 B) Ac
k 1,2,3,
第7章 形态学图像处理
第36页
南京工程学院 林忠

骨架提取 寻找二值图像的细化结构是图像处理的一个基本问 题,骨架便是这样一种细化结构。 设S(A)表示A的骨架,则求图像A的骨架的过程可 以描述为: N S ( A) Sn ( A)

第九章-形态学图像处理(试情况不讲)

第九章-形态学图像处理(试情况不讲)
缺点:指纹线路还是有缺点,可以通过加入限制 性条件解决
8.2.4 击中与否变换
形态学击中与否变换是形状检测的基本工具。先看一个形状定位的 例子,如下图中的X:
图续下页
接上页图
在各个操作步骤中,图 (d)中A 被X腐蚀的结果可以看作X的所
有原点位置的集合,在这些点 上,X从A中发现了一次匹配, 或者说X击中了一次A。 同样,图 (e)可以看作X的背景 击中A所得到的集合。
B w w b,b B (A)z c c a z,a A
8.2 二值图像中的基本逻辑操作
三种最基本的逻辑运算(功能完整的):与、 或、非(补)
尽管逻辑操作与集合操作间存在一一对应的关系,但 逻辑操作只是针对二值图像。
逻辑操作图形表示
8.2 二值形态学基本运算
背景噪声消除了,指纹中的噪声尺寸增加
d图是使用结构元素对图c膨胀的结果:包含于指纹中的 噪声分量的尺寸被减小或被完全消除,带来的问题是:在 指纹纹路间产生了新的间断
e图是对图d膨胀的结果,图d的大部分间断被恢复,但 指纹的线路变粗了
f图是对图e腐蚀的结果,即对图d中开操作的闭操作。最 后结果消除了噪声斑点
形态学图像处理的应用可以简化图像数据, 保持它们基本的形状特性,并除去不相干的 结构
9.2 数学基础
集合论的一些基本概念:
-属于、不属于、空集
令A是Z2中的一个集合,如果a是其中的一个元素,称a 属于A,并记作:a A, 否则,称a不属于A,记为: a A ,如A中没有任何元素,称A为空集:
膨胀 (dilation) 腐蚀 (erosion) 开和闭 (opening and closing) 击中与否变换 (hit-or-miss)

数学形态学处理-数字图像处理

数学形态学处理-数字图像处理

数学形态学处理
图6-3 平移与反射
数学形态学处理
5.目标图像和结构元素 被处理的图像称为目标图像。为确定目标图像的结构, 需逐个考察图像各部分之间的关系,并且进行检验,最后得到 一个各部分之间关系的集合。 在考察目标图像各部分之间的关系时,需要设计一种收 集信息的“探针”,称为“结构元素”。“结构元素”一般 用大写英文字母S 表示。在图像中不断移动结构元素,就可 以考察图像中各部间的关系。
数学形态学处理
图6-11 闭运算填充了凹角
数学形态学处理
2.开闭运算的代数性质 由于开、闭运算是在腐蚀和膨胀运算的基础上定义的, 根据腐蚀学形态学处理
数学形态学处理 5)等幂性
开、闭运算的等幂性意味着一次滤波即可将所有特定于 结构元素的噪声滤除干净,而作重复的运算不会再有效果。 这是一个与中值滤波、线性卷积等经典方法不同的性质。
数学形态学处理 腐蚀也可以用集合的方式定义
式(6-1)表明,X 用S 腐蚀的结果是所有使S 平移x 后仍在X 中的x 的集合。换句话说,用S 来腐蚀X 得到的集合是S 完全 包含在X 中时S 的原点位置的集合。
数学形态学处理
图6-5 S+x 的3种可能状态
数学形态学处理 例6-1 腐蚀运算图解。图6-6给出了腐蚀运算的一个简单
数学形态学处理
(1)读入图像,若为真彩色图像,则转化为二值图像; (2)设置结构元素。 (3)指定形态学操作为开运算,设定 MORPH_OPEN 参数, 调用 morphologyEx()函数实现开运算操作并保存图像。 对图6-12(a)所示图像进行开运算的结果如图6-12(b)所示, 可以发现,开运算去掉了凸角且将原图像中的连通区域变成 了非连通区域。
数学形态学处理

数学形态学的基本算法及在图像预处理中应用

数学形态学的基本算法及在图像预处理中应用
20 0 6年 9 1 月 7日收到 广东省 自 然科学基金项 目 (4 2 10 资助 0000 )
作用 ; 先膨胀后腐蚀 的过程 闭运算 , 有填充物体 具 内细小孔洞 , 临近物体和平滑边界 的作用 。 连接
1 2 灰 度形 态学 .
由于现实中的图像大多为灰度图像 , 必须将二 值形态学扩展到灰度形态学 , 以有效地处理多值 图 像。 灰度形态学的运算对象不是集合 , 而是 图像 函
输出图像会 比输入 图像亮 ( 或暗) 根据输入图像 中 ;
的一个有效方法 。
2 数学形态学在图像预处理中应用方面的 技术特点
利用二值或灰度数 学形态学基本 运算 , 可得到

暗( 或亮 ) 细节 的灰度值 以及它们 的形状 相对 于结 构元素的关系, 它们 在运算 中被消减或被除掉。 灰度形态学 中的开 闭运算都 可 以用来 提取特
_
点平移到与信号重合 , 然后计 算信号上每一点处对
维普资讯
3 期
张艳 玲 , : 等 数学形态学 的基本算法及在图像预处理 中应 用
37 5
应结构元素的最大值 ; 而灰度腐蚀是将结构元素紧
贴在信号下方 “ 滑动” 其原点刻 画出的轨迹 。 , 它们 分别记为 ① g o 。 , g 对灰度图像的膨胀 ( f 或腐蚀 ) 操作有两种效果 : 如果结构元素 的值都为正 的。 则
度形态学两种。 数学形态 学 中的二值 图像 的形态 变换是一种
除噪声 、 保留原始 图像 中的整体信息 。数学 形态学 1 1 二值形态学 .
( a e acl o hl y)是 由 法 国 数 学 家 M t mta h i M r o g p o
G M t r 和 JSr 于 16 . a e n . e a 94年提出而逐渐发展 的 ho r

形态学图像处理

形态学图像处理

工业检测
在工业生产中,形态学图像处 理可用于表面缺陷检测、零件 分类和识别等方面,提高生产 效率和产品质量。
计算机视觉
在计算机视觉领域,形态学图 像处理可用于目标跟踪、人脸 识别、手势识别等任务,提高 视觉系统的准确性和稳定性。
形态学图像处理的基本原理
01
结构元素
形态学图像处理的基本操作单元是结构元素,它可以是任意形状和大小
医学影像分析中的形态学图像处理
总结词
形态学图像处理在医学影像分析中具有重要 作用,能够提高医学影像的解读精度和辅助 诊断的准确性。
详细描述
形态学图像处理技术能够处理和分析医学影 像,如X光片、CT和MRI等。通过去除噪声、 增强对比度、分割病灶区域等操作,形态学 图像处理能够帮助医生更准确地解读医学影 像,提高诊断的准确性和可靠性。同时,形 态学图像处理还可以用于辅助手术导航和放 射治疗计划制定等领域。
详细描述
边界提取通过识别图像中像素的边缘,提取出物体的边界。区域填充则是将图像中某个特定区域内的 像素标记为同一值,常用于填充孔洞或填补缺失部分。这些操作在图像分割、特征提取和对象识别等 领域具有重要应用价值。
03
形态学图像处理的实践应用
噪声去除
噪声去除
形态学图像处理中的噪声去除技术,通过膨胀和腐 蚀等操作,能够有效地去除图像中的噪声点,提高 图像的清晰度和质量。
和算法,方便用户进行各种图像处理任务。
02
形态学图像处理的算法与技术
腐蚀算法
总结词
腐蚀算法是一种基本的形态学操作,用于消除图像中的小对象、在纤细点分离 对象或者收缩对象的边界。
详细描述
腐蚀算法通过将像素与其邻域进行比较,将小于邻域的像素去除,从而实现图 像的收缩。它通常用于消除噪声、断开连接的对象或减小图像中的区域。

12形态学图像处理介绍

12形态学图像处理介绍


腐蚀运算的示例

图(a)中的阴影部分为集合X,图(b)中的中的阴 影部分为结构元素S,而图(c)中黑色部分给出 了腐蚀结果。
由图可见,腐蚀将图如果B上 的所有点都包含在X的范围内,则该点保留, 否则删除。




matlab中与腐蚀相关的两个函数为 (1) imerode I2=imerode(I, SE) I为原始图像,对应为二值图像 SE为由strel函数返回的自定义或预设的结构元 素对象 (2) strel strel函数为形态学运算生成结构元素SE,当生 成供二值形态使用的结构元素时,调用形式为: SE= strel(shape, parameters)



第二种情形说明S+x与X不相关,
而第三种情形说明S+x与X只是部分相关
2. 二值图像中形态学运算


1、腐蚀及其实现
对于集合A和S,使用S对A进行腐蚀,记为A S, 定义为:
AS {z | (S ) z A}

如果当S的原点移到z点时S能够完全包含于A中, 则所有这样的z点构成的集合即为S对A的腐蚀 图像。 腐蚀运算的结果不仅与结构元素的形状(矩形、 圆形、菱形等)选取有关,而且还与原点位置的 选取有关。
形态学图像处理

形态学即数学形态学(Mathematical Morphology)主要用于从图像中提取对表达和描 绘区域形状有意义的图像分量。 基本思想:用具有一定形态的结构元素去度量 和提取图像中的对应形状以达到对图像分析和 识别的目的 形态学图像处理的数学基础和所用语言是集合 论



形态学图像处理表现为一种邻域运算形式;
一种特殊定义的邻域称之为“结构元素” (Structure Element),在每个像素位置上它与 二值图像对应的区域进行特定的逻辑运算,逻 辑运算的结果为输出图像的相应像素。 形态学运算的效果取决于结构元素的大小、内 容以及逻辑运算的性质。

图像处理中的数学形态学算法在车牌识别中的应用

图像处理中的数学形态学算法在车牌识别中的应用

图像处理中的数学形态学算法在车牌识别中的应用随着车辆数量的不断增加,车牌识别技术在交通管理、安防监控、停车场管理等领域中扮演着重要的角色。

而在车牌识别技术中,数学形态学算法作为一种重要的图像处理工具,具有很高的应用价值。

本文将重点探讨数学形态学算法在车牌识别中的应用,以及其在该领域中的优势和挑战。

一、数学形态学算法简介数学形态学算法是一种基于形状和结构分析的图像处理方法,其基本原理是利用集合论中的膨胀和腐蚀运算来分析图像中的形状和结构特征。

其中,膨胀操作可以扩张图像中的目标物体,而腐蚀操作可以收缩图像中的目标物体。

这些基本的形态学操作可以通过组合和重复应用来提取图像中的目标物体,并进行形状分析和特征提取。

二、数学形态学算法在车牌识别中的应用1. 车牌定位车牌识别的第一步是车牌的定位,即从整个图像中准确定位车牌的位置。

数学形态学算法可以通过腐蚀和膨胀操作来消除图像中的噪声,提取出车牌的边界信息。

通过应用腐蚀和膨胀操作,可以得到一系列形状和尺寸各异的区域,而其中包含车牌的区域往往具有明显的矩形或正方形特征。

因此,通过对这些区域进行形态学分析和筛选,可以有效地定位车牌的位置。

2. 车牌字符分割车牌字符分割是车牌识别的关键步骤之一,其中车牌上的字符需要被正确分割出来以方便后续的字符识别。

数学形态学算法可以通过腐蚀和膨胀操作来分离车牌上的字符,消除字符之间的干扰。

通过应用腐蚀操作,可以收缩车牌上的字符区域,使得字符之间的间隔增大;而通过应用膨胀操作,则可以扩张字符区域,使得字符之间的间隔变小。

通过选择合适的腐蚀和膨胀操作的组合方式,可以有效地实现车牌字符的分割。

3. 车牌字符识别车牌字符识别是车牌识别的最后一步,其中车牌上的字符需要被分析和识别出来。

数学形态学算法可以通过应用开运算和闭运算操作来修复和增强字符区域的形态特征,从而提高字符识别的准确性。

开运算可以消除字符区域之外的噪声,平滑字符区域的边界;而闭运算则可以填充字符区域中的空洞,增强字符区域的连通性。

形态学的原理以及应用场景(含源码)

形态学的原理以及应用场景(含源码)

形态学的原理以及应用场景(含源码)转自:摘要:形态学一般指生物学中研究动物和植物结构的一个分支。

用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具。

基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。

形态学图像处理的基本运算有:•膨胀和腐蚀(膨胀区域填充,腐蚀分割区域)•开运算和闭运算(开运算去除噪点,闭运算填充内部孔洞)•击中与击不中•顶帽变换,黑帽变换形态学的应用:消除噪声、边界提取、区域填充、连通分量提取、凸壳、细化、粗化等;分割出独立的图像元素,或者图像中相邻的元素;求取图像中明显的极大值区域和极小值区域;求取图像梯度在讲各种形态学操作之前,先来看看结构元素:膨胀和腐蚀操作的核心内容是结构元素。

(后面的开闭运算等重要的也是结构元素的设计,一个合适的结构元素的设计可以带来很好的处理效果OpenCV里面的API介绍:Mat kernel = getStructuringElement(int shape,Size ksize,Point anchor);一,腐蚀和膨胀腐蚀和膨胀是最基本的形态学操作,腐蚀和膨胀都是针对白色部分(高亮部分)而言的。

•膨胀就是使图像中高亮部分扩张,效果图拥有比原图更大的高亮区域(是求局部最大值的操作)•腐蚀是原图中的高亮区域被蚕食,效果图拥有比原图更小的高亮区域(是求局部最小值的操作)膨胀与腐蚀能实现多种多样的功能,主要如下:1、消除噪声2、腐蚀分割(isolate)出独立的图像元素,膨胀在图像中连接(join)相邻的元素。

3、寻找图像中的明显的极大值区域或极小值区域4、求出图像的梯度opencv中膨胀/腐蚀API:(两者相同)void dilate/erode( const Mat& src, //输入图像(任意通道的)opencv实现:Mat src1 = imread("D:/opencv练习图片/腐蚀膨胀.png");图片膨胀:图片[图片上传中...(image-e5cbf7-1637738882548-13)]1️⃣ 腐蚀操作的原理就是求局部最小值的操作,并把这个最小值赋值给参考点指定的像素。

(现代图像分析)第五章数学形态学分析

(现代图像分析)第五章数学形态学分析
灰度腐蚀是一种基本的形态学操作,用于消除图像中的较小对象或细节。
详细描述
灰度腐蚀操作通过将每个像素与其邻域的像素进行比较,并将像素值设置为邻域 中的最小值,从而消除图像中的亮区域。该操作有助于消除噪声和细化对象边缘 。
灰度膨胀
总结词
灰度膨胀是一种基本的形态学操作,用于扩大图像中的亮区域或对象。
详细描述
灰度膨胀操作通过将每个像素与其邻域的像素进行比较,并将像素值设置为邻域中的最大值,从而扩大图像中的 亮区域。该操作有助于填补对象中的空洞和连接断裂的边缘。
灰度开运算和闭运算
总结词
灰度开运算是先进行腐蚀操作再进行膨胀操作,而灰度闭运算是先进行膨胀操作再进行腐蚀操作。
详细描述
灰度开运算可以消除较小的亮区域,使狭窄的亮区域变宽;而灰度闭运算可以消除较小的暗区域,使 狭窄的暗区域变宽。这两种运算在图像处理中具有广泛的应用,如噪声去除、连通区域标记等。
开运算和闭运算
开运算可以去除小的物体,而闭运算则可以填补小 的空洞或平滑图像。
边界提取
边界跟踪
通过形态学运算,可以提取出图像中 的边界,从而识别出图像中的各个物 体。
边界提取算法
利用形态学运算,可以设计出各种边 界提取算法,以实现更准确的边界提 取。
区域填充
种子填充算法
通过形态学运算,可以实现快速的种子填充 算法,用于填充图像中的空白区域。
详细描述
在二值图像中,膨胀操作通过将像素与其邻域进行比较,将大于邻域值的像素 设置为最大值(通常为255),从而实现扩大较小对象或减小较暗区域的效果。 膨胀操作能够填补图像中的空洞,增强图像的亮区域。
开运算和闭运算
总结词
开运算和闭运算是基于腐蚀和膨胀的组合操作,分别用于消除较 大对象和填补较小对象。

数字图像处理实验报告实验三

数字图像处理实验报告实验三
2.设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明
代码:
I=imread('lines.png');
F=rgb2gray(I);
subplot(2,2,1);
imshow(I);
title('原始图像');
thread=130/255;
subplot(2,2,2);
imhist(F);
图5-2 添上一层(漆)
3.开运算open:
4.闭close:
5.HMT(Hit-Miss Transform:击中——击不中变换)
条件严格的模板匹配
模板由两部分组成。 :物体, :背景。
图5-3 击不中变换示意图
性质:
(1) 时,
(2)
6.细化/粗化
(1)细化(Thin)
去掉满足匹配条件的点。
图5-4 细化示意图
se = strel('ball',5,5);
I2 = imerode(I,se);
imshow(I), title('Original')
figure, imshow(I2), title('Eroded')
Matlab用imopen函数实现图像开运算。用法为:
imopen(I,se);
I为图像源,se为结构元素
构造一个中心具有菱形结构的结构元素,R为跟中心点的距离
SE = strel('rectangle',MN)
构造一个矩形的结构元素,MN可写在[3 4],表示3行4列
SE = strel('square',W)
构造一个正方形的矩阵。

第一课图像分析与 处理数学形态学

第一课图像分析与 处理数学形态学
是X的元素,则称B击中(hit)X,记作B↑X。
• B不击中X
– 设有两幅图象B,X。 – 若不存在任何一个点,它即是B的元素,
又是X的元素,即B和X的交集是空,则 称B不击中(miss)X,记作B∩X=Ф。
• 其中∩是集合运算相交的符号,Ф表示空 集。
基本符号和关系
• 补集
– 设有一幅图象X,所有X区域以外的点构 成的集合称为X的补集,记作Xc。
– 用公式表示为:
膨胀
• X是被处理的对象,B是结构元素。 • 对于任意一个在阴影部分的点a,
Ba击中X,X被B膨胀的结果就是阴 影部分。 • 阴影部分包括X的所有范围,就象X 膨胀了一圈似的。
– 这就是为什么叫膨胀的原因。
• 如果B不是对称的,X被B膨胀的结 果和X被 Bv膨胀的结果不同。
膨胀

• 先腐蚀后膨胀称为开(open),即OPEN(X)=D(E(X))。

• 上面的两幅图中,左边是被处理的图象X(二值图象,针对 的是黑点),右边是结构元素B。
• 下面的两幅图中左边是腐蚀后的结果,右边是在此基础上 膨胀的结果。
• 可以看到,原图经过开运算后,一些孤立的小点被去掉了。 • 一般来说,开运算能够去除孤立的小点,毛刺和小桥(即
基本符号和关系
• 平移
– 设有一幅图象B,有一个点a(x0,y0),将B平移a后的结 果是,把B中所有元素的横坐标加x0,纵坐标加y0,即 令(x,y)变成(x+x0,y+y0),所有这些点构成的新的集 合称为B的平移,记作Ba 。
腐蚀
• 把结构元素B平移a后得到 Ba,若Ba包含于X,记下 这个a点,所有满足上述 条件的a点组成的集合称 做X被B腐蚀(Erosion)的结 果。

二值图像的处理程序设计—形态学处理

二值图像的处理程序设计—形态学处理

数学形态学兴起于20世纪60年代,是一种新型的非线性算子,它着重研究图像的几何结构,由于视觉信息理解都是基于对象几何特性的,因此它更适合视觉信息的处理和分析,这类相互作用由两种基本运算腐蚀和膨胀及它们的组合运算来完成。

数学形态学为在图像识别、显微图像分析、医学图像、工业图像、机器人视觉方面都有十分重要的应用。

本设计运用MATLAB把一幅图像二值化,并进行膨胀、腐蚀、开启、闭合等处理,这些算法分别能够使图像边缘扩大物体中的空洞;边缘缩小消除小且无意义的物体;保持原目标的大小与形态的同时,填充凹陷,弥合孔洞和裂缝;用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不改变其面积。

关键字:膨胀;腐蚀;开启;闭合1设计目的与要求 (1)1.1设计目的 (1)1.2设计要求 (1)2 MATLAB平台 (2)2.1MATLAB简介 (2)2.2MATLAB的应用 (2)3设计原理 (3)3.1膨胀 (3)3.2腐蚀 (3)3.3开启与闭合 (5)3.4阈值 (5)4设计方案 (6)4.1设计思想 (6)4.2设计流程 (6)5代码实现 (7)6仿真与结果分析 (8)6.1仿真 (6)6.2结果分析 (11)结论 (12)参考文献 (13)二值图像的处理程序设计—形态学处理1设计目的与要求1.1设计目的(1)了解膨胀、腐蚀、开启、闭合四种方法对二值图像的影响,及它们在数字图处理中的应用。

(2)进一步熟悉MATLAB运用和图像处理的知识,加深对图像二值化处理1.2课程设计要求利用所学的数字图像处理技术,自己设计完成对一副灰度图像的形态学运算(膨胀、腐蚀及其组合运算);对一副灰度图像的分块处理运算。

具体要求:(1)熟悉和掌握MATLAB程序设计方法;(2)学习和熟悉MATLAB图像处理工具箱;(3)学会运用MATLAB工具箱对图像进行处理和分析;(4)能对图像jpg格式进行打开、保存、另存、退出等功能操作;(5)利用所学数字图像处理技术知识、MA TLAB软件对图像进行腐蚀,膨胀,开运算,闭运算。

实验三 图像形态学处理

实验三  图像形态学处理

实验三图像形态学处理一.实验目的及要求1.利用MATLAB研究二值形态学图像处理常用算法;2.掌握MATLAB形态学图像处理基本操作函数的使用方法;3.了了解形态学的基本应用。

二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1.膨胀与腐蚀(Dilation and Erosion)(1)对简单二值图像进行膨胀与腐蚀clear all, close allBW = zeros(9,10);BW(4:6,4:7) = 1;BWSE = strel('square',3)BW1 = imdilate(BW,SE)BW2 = imerode (BW,SE)figure(1),subplot(1,2,1), imshow(BW), title(' Original Image ');subplot(1,2,2), imshow(BW1), title(' Dilated Image ');figure(2),subplot(1,2,1), imshow(BW), title(' Original Image ');subplot(1,2,2), imshow(BW2), title(' Eroded Image ');修改参数:clear all, close allBW = zeros(9,10);BW(4:8,4:8) = 1;BWSE = strel('square',3)BW1 = imdilate(BW,SE)BW2 = imerode (BW,SE)figure(1),subplot(1,2,1), imshow(BW), title(' Original Image ');subplot(1,2,2), imshow(BW1), title(' Dilated Image ');figure(2),subplot(1,2,1), imshow(BW), title(' Original Image ');subplot(1,2,2), imshow(BW2), title(' Eroded Image ');(2)对文本图像进行膨胀与腐蚀clear all, close allI = imread('C:\Users\Administrator\Desktop\broken_text.tif'); SE = [0,1,0;1,1,1;0,1,0]BW1 = imdilate(I, SE);BW2 = imerode (I, SE);figure(1),subplot(1,2,1), imshow(I), title(' Original Image ');subplot(1,2,2), imshow(BW1), title(' Dilated Image ');figure(2),subplot(1,2,1), imshow(I), title(' Original Image ');subplot(1,2,2), imshow(BW2) , title(' Eroded Image ');修改参数:clear all, close allI = imread('C:\Users\Administrator\Desktop\broken_text.tif'); SE = [0,0,0;0,0,0;0,0,0]BW1 = imdilate(I, SE);BW2 = imerode (I, SE);figure(1),subplot(1,2,1), imshow(I), title(' Original Image '); subplot(1,2,2), imshow(BW1), title(' Dilated Image '); figure(2),subplot(1,2,1), imshow(I), title(' Original Image '); subplot(1,2,2), imshow(BW2) , title(' Eroded Image ');2. 开、闭运算(Open and Close)clear all, close allI = imread('cameraman.tif');bw = ~im2bw(I,graythresh(I));se = strel('disk',5);bw2 = imopen(bw,se);subplot(1,2,1), imshow(bw), title('Thresholded Image')subplot(1,2,2), imshow(bw2), title('After opening')bw3 = imclose(bw,se);figure;subplot(1,2,1), imshow(bw), title('Thresholded Image')subplot(1,2,2), imshow(bw3), title('After Closing')修改参数:clear all, close allI = imread('cameraman.tif');bw = ~im2bw(I,graythresh(I));se = strel('disk',8);bw2 = imopen(bw,se);subplot(1,2,1), imshow(bw), title('Thresholded Image')subplot(1,2,2), imshow(bw2), title('After opening')bw3 = imclose(bw,se);figure;subplot(1,2,1), imshow(bw), title('Thresholded Image')subplot(1,2,2), imshow(bw3), title('After Closing')3. 击中/击不中变换(hit-and-miss operation)clear all, close allbw = [0 0 0 0 0 00 0 1 1 0 00 1 1 1 1 00 1 1 1 1 00 0 1 1 0 00 0 1 0 0 0]interval = [0 -1 -11 1 -10 1 0]bw2 = bwhitmiss(bw,interval)subplot(1,3,1), imshow(bw), title(' Original Image ');subplot(1,3,2), imshow(interval), title(' Interval Image ');subplot(1,3,3), imshow(bw2) , title('after hit/miss transformation');修改参数:clear all, close allbw = [0 0 0 0 0 00 0 1 1 0 00 1 1 1 1 00 1 1 1 1 00 0 1 1 0 00 0 1 0 0 0]interval = [0 0 00 1 00 1 0]bw2 = bwhitmiss(bw,interval)subplot(1,3,1), imshow(bw), title(' Original Image ');subplot(1,3,2), imshow(interval), title(' Interval Image ');subplot(1,3,3), imshow(bw2) , title('after hit/miss transformation')4.细化与骨架抽取clear all, close allBW = ~ imread('logo.tif');BW1 = bwmorph(BW,'thin',Inf);BW2 = bwmorph(BW,'skel',Inf);subplot(1,3,1), imshow(BW), title(' Original Image ');subplot(1,3,2), imshow(BW1), title(' Thinned Image ');subplot(1,3,3), imshow(BW2), title(' Image skeleton');help bwmorph(二)用MATLAB二值数学形态学函数编程提取’rice.gif’图像中的物体边界。

数学形态学图像处理

数学形态学图像处理

original image 50 100 150 200
50 100 150 200 250 300
edge detection image 50 100 150 200
50 100 150 200 250 300
2019/8/9
数学形态学图像处理
25
连通对象标注
2019/8/9
数学形态学图像处理
• 膨胀扩大图像,腐蚀收缩图像。 • 开运算一般能够平滑图像的轮廓,削弱狭窄的部分,去掉
细的突出。 • 闭运算也是平滑图像的轮廓,与开运算相反,它一般融合
窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。
2019/8/9
数学形态学图像处理
13
开运算
2019/8/9
数学形态学图像处理
14
开运算图像
2019/8/9
数学形态学图像处理
4
创建Strel对象
2019/8/9
数学形态学图像处理
5
Strel对象操作函数
2019/8/9
数学形态学图像处理
6
操作Strel对象实例
2019/8/9
数学形态学图像处理
7
偏移图像
原图像
偏移后图像
100
100
200
200
300
300
400
400
500
500
100 200 300 400 500
26
连通标记图像
edge detection image
50
50
100
100
150
150
200
200
50 100 150 200 250 300
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学形态学图像处理的基本运算实现及分析
一、基本原理
数学形态学是一种应用于图像处理和模式识别领域的新的方法。

它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像进行分析和识别的目的。

数学形态学的数学基础和所用语言是集合论。

数学形态学的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构。

另一方面,数学形态学的算法具有天然的并行实现的结构。

1、基本运算
数学形态学的基本运算有四个:膨胀、腐蚀、开启和关。

如用A 表示图像集合,B 表示结构元素,形态学运算就是用B 对A 进行操 作。

A 被
B 膨胀,记为A ⊕B ,⊕为膨胀算子,膨胀的定义为
A B ⊕ˆ{|[()]}x x B A =≠∅
该式表明的膨胀过程是B 首先做关于原点的映射,然后平移x 。

A 被B 的膨胀是B 被所有x 平移后与A 至少有一个非零公共元素。

A 被
B 腐蚀,记为A ⊙B ,⊙为腐蚀算子,腐蚀的定义为
A B Θˆ{|[()]}x x B A =≠∅
也就是说,A 被B 的腐蚀的结果为所有使B 被x 平移后包含于A 的点x 的集合。

换句话说,用B 来腐蚀A 得到的集合是B 完全包括在A 中时B 的原点位置的集合。

膨胀和腐蚀并不互为逆运算,所以它们可以级连结合使用。

例如,利用同一个结构元素B ,先对图像腐蚀然后膨胀其结果,或先对图像膨胀然后瘸蚀其结果,前一种运算称为开运算,后一种运算称为关运算。

它们也是数学形态学中的重要运算。

开启的运算符为o ,A 用B 来开启写作AoB ,其定义为:
A o ()
B A B B =Θ⊕
关的运算符为·,A 用B 来关写作A ·B ,其定义为:
A ·()
B A B B =⊕Θ
开和关两种运算都可以去除比结构元素小的特定图像细节,同时保证不产生全局的几何失真。

开运算可以把比结构元素小的椒盐噪声滤除,切断细长搭接而起到分离作用。

关运算可使比结构元素小的缺口或孔填补上,搭接短的间断而起到连通作用。

2、实际应用
近年来,数学形态学在图像处理方面得到了日益广泛的应用。

下面主要就数学形态学在边缘检测、骨架提取等方面的应用做简要介绍。

集合A 的边界记为β(A),可以通过下述算法提取边缘:设B 是一个合适的结构元素,首先令A 被B 腐蚀,然后求集合A 和它的腐蚀的差。

如下式所示:
()()A A A B β=-Θ
下解释了边缘提取的过程。

它表示了一个简单的二值图像,一个结构元素和用以上公式得出的结果。

图 (b)中的结构元素是最常用的一种,但它决不是唯一的。

如果采用一个5×5全“1”的结构元素,可得到一个二到三个像素宽的边缘。

应注意的是,当集合B 的原点处在集合的边界时,结构元素的一部分位于集合之外。

这种条件下的通常的处理是约定集合边界外的值为0。

利用形态学方法提取一个区域的骨格可以用腐蚀和开运算表示。

也就是,A 的骨骼记为S(A),骨骼化可以表示如下:
0()()K
k k S A S A ==

0(){()[)]}K
k S A A kB A kB B ==
Θ-Θ
其中B 是结构元素,()A kB Θ表示对A 连续腐蚀k 次。

下图的解释说明了以上讨论的概念。

第一列显示了原始集合(顶部)和通过结构元素B 两次腐蚀的图形。

由于再多一次对A 的腐蚀将产生空集,所以选取K =2。

第二列显示了第一列通过B 的开运算而得到的图形。

以上结果可以通过以前讨论过的开运算拟合性质加以解释。

第三列仅仅显示出第一列与第二列的差别。

第四列包含两个部分骨骼及最后的结果(第四列的底部)。

最后的骨骼不但比所要求的更粗,而且相比较更重要,它是不连续的。

形态学给出了就特定图形侵蚀和空缺的描述。

形态学给出了就特定图形侵蚀和空缺的描述。

通常,骨骼必须最大限度的细化、相连、最小限度的腐蚀。

第五列显示了0()S A 、1()S A B ⊕以及
22(()2)())S A B S A B B ⊕=⊕⊕。

最后一列显示了图像A 的重构。

可知,A 就是第五列中膨胀骨骼子集的“并”。

二、源程序
1、膨胀
bw = imread('text.png');
se = strel('line',11,90);%生成线形的结构元素
bw2 = imdilate(bw,se);%对图像进行膨胀
subplot(121), imshow(bw), title('原始图像') ;
subplot(122), imshow(bw2), title('膨胀后的图像') ;
2、腐蚀
originalBW = imread('circles.png');
se = strel('disk',11);%生成圆盘形的结构元素
erodedBW = imerode(originalBW,se);%对图像进行腐蚀
subplot(121), imshow(originalBW), title('原始图像');
subplot(122), imshow(erodedBW); title('腐蚀后的图像');
3、开
BW1 = imread('circbw.tif'); %读取图像
subplot(121), imshow(BW1); title('原始的图像');
se = strel('rectangle',[40 30]); %生成矩形结构元素
BW2 = imopen(BW1,SE);%对图像直接进行开运算
subplot(122), imshow(BW2); title('开运算后的图像');
4、关
originalBW = imread('circles.png');
subplot(121), imshow(originalBW); title('原始的图像'); se = strel('disk',10);
closeBW = imclose(originalBW,se);
subplot(122), imshow(closeBW); title('关运算后的图像') 5、边缘检测
BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
subplot(121), imshow(BW1) ; title('原始图像');
subplot(122), imshow(BW2) ; title('边缘检测后的图像');
6、骨架提取
BW1 = imread('circbw.tif');
BW2 = bwmorph(BW1,'skel',Inf);
subplot(121), imshow(BW1) ; title('原始图像');
subplot(122), imshow(BW2) ; title('骨架提取后的图像');
三、程序运行结果
1、膨胀
2、腐蚀
3、开
4、关
5、边缘检测
6、骨架提取
四、程序运行结果分析
从以上运行结果可以分析得到各操作的功能结果如下。

1、膨胀
扩展边界。

2、腐蚀
收缩边界。

3、开
平滑轮廓,切除狭区,去除小的孤岛及突刺。

4、关
平滑轮廓,联络小狭区,纵向细化沟渠,并且去除小洞。

5、边缘检测
提取图像边界上的点集。

6、骨架提取
找到图像的骨骼。

五、总结及收获
数学形态学对图像的处理具有直观上的简明性和数学上的严谨性,在定量描述图像的形态特征上具有独特的优势,为基于形状细节进行图像处理提供了强有力的手段。

建立在集合理论基础上的数学形态学,主要通过选择相应的结构元素采用膨胀、腐蚀、开启、闭合4种基本运算的组合来处理图像。

数学形态学在图像处理中的应用广泛,有许多实用的算法,但在每种算法中结构元素的选取都是一个重要的问题。

相关文档
最新文档