数学形态学及其应用共43页文档
数学形态学及其应用
数学形态学及其应用数学形态学及其应用数学形态学是一种数学方法和理论,最早由法国数学家乌戈尔·乔尔丹(Ugo Cerletti)在20世纪60年代提出。
它基于拓扑学、代数学和概率论等学科的基本原理,研究对象是图像和信号等离散数据的形状和结构,并利用数学统计的方法对它们进行分析和处理。
随着计算机技术的发展和应用需求的增加,数学形态学已经成为图像处理、模式识别和计算机视觉等领域中的重要工具。
数学形态学的基本概念包括结构元素、腐蚀、膨胀、开运算和闭运算等。
结构元素是一个小的图像或信号,用来描述和刻画对象的特征。
腐蚀和膨胀是两种基本的形态学操作,它们可以对图像或信号进行形状的变化和结构的调整。
开运算和闭运算是由腐蚀和膨胀组合而成的操作,用来改善图像的质量和特征。
在数学形态学的基础上,还发展了很多衍生的操作和算法,如基本重建、灰度形态学和形态学滤波等。
数学形态学在图像处理中的应用非常广泛。
例如,在图像分割中,可以利用数学形态学的方法提取目标的边界和内部结构;在图像增强中,可以利用形态学处理方法去除图像中的噪声和不规则部分;在模式识别中,可以利用形态学算法提取和描述对象的特征;在计算机视觉中,可以利用形态学方法实现图像的匹配和配准等等。
数学形态学的应用不仅仅局限在图像领域,它还可以应用于信号处理、文本分析、医学影像等其他领域。
以图像分割为例,数学形态学可以通过结构元素的逐步腐蚀或膨胀操作来准确地提取目标的轮廓。
首先,选择合适的结构元素,使其大小和形状适应目标的尺寸和形态特征。
然后,通过不断的腐蚀操作,可以逐渐消除目标周围的无关细节,最终得到目标的边界。
类似地,通过不断的膨胀操作,可以填补和连接目标内部的空洞,并得到目标的内部结构。
通过这种方式,数学形态学可以实现对复杂图像的准确分割,为图像识别和分析提供了可靠的基础。
总之,数学形态学是一种重要的数学方法和理论,它在图像处理、模式识别和计算机视觉等领域中具有广泛的应用和深远的意义。
数学形态学及其应用
摘要论文研究了数学形态学理论,对基本形态学算子的几何意义与性质进行了归纳与总结,阐述了数学形态学用结构元素“探测”信号的本质。
论文对数学形态学的应用进行了研究,主要成果是:(1)将数学形念学应用于纺织工业纱线疵点检测中,提出了数学形态学广义结构元素的概念,并构造了形态学“梯形塔式”广义结构元素,丰富了数学形态学理论。
广义结构元素的概念和构造广义结构元素的方法是本文的创新点;(2)研究了数学形态学在红外序列图象弱小目标自动检测中的应用,提出了基于狄值形态重构丌的红外序列图象弱小目标自动检测算法,并利用形态学运算进行红外图象增强,进~步提高了算法的硷测性能,丰富了数学形态学在红外目标检测中的应用知识;(3)提出了应用数学形态学对闭环控制系统反馈信号进行滤波的方法,并成功地应用于实际系统巾.填补了数学形态学在这一应用领域中的空白。
以上应用算法无论在理论研究还址实际应用方面都具有重要价值。
论文研究了形念金字塔理论,主要成果是:(1)构造出了可以精确重构的多Jt度平形态闭会字塔,并成功地将其应用于图象的多分辨率分割。
该分割算法可以区别暗背景中的亮成分与亮背景中的暗成分,这对遥感等图象领域处理具有重要意义。
(2)构造了多尺度平形态混合金字塔,并成功地应用于扫描图象的滤波I—p。
以上研究对形态金字塔理论和应用研究都具有很高的参考价值。
论文研究了形态小波理论,主要成果是:(1)首次详细论述了非线性形念Haar小波构造方法,并将形态Haar小波成功地应用于图象分解中。
形态Haar小波具有非线性、尺度信号的取值范围同原始信号相同、信号局部最大(小)很好地保留在多个分辨率空怕J和可保证精确重构等优点,更适合应用于压缩编码、模式识别等领域;(2)提出了一种新的基于更新提升构造非冗余的、可完备重构的形态小波的方法,首次提出了广义更新算子的概念,阐述了构造了广义更新算子的方法,进一步发展了数学形态学理论。
广义更新算子的概念和广义更新算予的孛f=J造办法是本文的创新点;(3)提出了一种更新提升小波闽值去噪算法,对比实验表明该,J法比传统小波闽值去噪算法具有明显的优势,峰值信噪比提高2~5dB,信噪比约提高4~7dB,尤其在低信噪比情况下性能更加优越。
实验三 数学形态学及其应用
where when
7.Morphology小结
A.通过物体(对象)和结构元素的相互作用,得到更本质的形态(shape)
(1)图像滤波
(2)平滑区域的边界
(3)将一定形状施加于区域边界
(4)描述和定义图像的各种几何参数和特征(区域数、面积、周长、连通度、颗粒度、骨架、边界)
B.形态运算是并行运算
C.细化
区域或边界变为1个象素的宽度,但它不破坏连通性
四方向细化算法:逻辑运算(可删除条件)
形态运算是否可用于细化?
(1)腐蚀:收缩(去掉边缘的点)何时结束?能否保证连通性?
(2)开:去毛刺,能否细化(去掉尺寸小于结构元素的块)
三.实验提示
Matlab中用imdilate函数实现膨胀。用法为:
Imdilate(X,SE).其中X是待处理的图像,SE是结构元素对象。
功能:
提取二进制图像的轮廓。
语法:
BW2 = bwmorph(BW1,operation)
BW2 = bwmorph(BW1,operation,n)
举例
BW1 = imread('circles.png');
imshow(BW1);
BW2 = bwmorph(BW1,'remove');
BW3 = bwmorph(BW1,'skel',Inf);
Matlab用imopen函数实现图像开运算。用法为:
imopen(I,se);
I为图像源,se为结构元素
Matlab用imclosee函数实现图像闭运算。用法为:
imclose(I,se);
I为图像源,se为结构元素
第八章 数学形态学及应用
2.5 形态学算子
2.5.1 腐蚀(Erosion) 腐蚀(Erosion)
腐蚀目的:消除目标图像中的无用点( 腐蚀目的:消除目标图像中的无用点(或 孤立噪声点)的一个过程, 孤立噪声点)的一个过程,其结果使得剩下 的目标比处理前减少了一些像素。 的目标比处理前减少了一些像素。 腐蚀定义: 腐蚀定义: X用B来腐蚀记为 ,定义为 腐蚀过程: 平移( 后仍在集合X 腐蚀过程:B平移(x,y)后仍在集合X中 的结构元素其参考点的集合。换句话说, 的结构元素其参考点的集合。换句话说,用 来腐蚀X得到的集合是B完全包括在集合X B来腐蚀X得到的集合是B完全包括在集合X中 的参考点位置的集合。 时B的参考点位置的集合。
实验六数学形态学及其应用
实验六: 数学形态学及其应用实验原理腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。
膨胀就是把连接成分的边界扩大一层的处理。
而收缩则是把连接成分的边界点去掉从而缩小一层的处理。
二值形态学II (xx ,yy ), TT (ii ,jj )为0011⁄图像 腐蚀:EE (xx ,yy )=(II ⊙TT )(xx ,yy )=�[II (xx +ii ,yy +jj )&TT (ii ,jj )]mm ii ,jj=00膨胀:DD (xx ,yy )=(II ⊕TT )(xx ,yy )=�[II (xx +ii ,yy +jj )&TT (ii ,jj )]mm ii ,jj=00灰度形态学TT (ii ,jj )可取0011⁄以外的值 腐蚀: EE (xx ,yy )=(II ⊙TT )(xx ,yy )=mmii mm 00≤ii ,jj≤mm−11[II (xx +ii ,yy +jj )−TT (ii ,jj )] 膨胀: DD (xx ,yy )=(II ⊕TT )(xx ,yy )=mmmmxx 00≤ii ,jj≤mm−11[II (xx +ii ,yy +jj )+TT (ii ,jj )]1.腐蚀Erosion : XX ⊙BB ={xx :BB xx ⊂xx }B 1删两边B 2删右上2.膨胀Dilation : XX ⊕BB ={xx :BB xx ↑xx }B1补两边B2补左下3.开运算open:XX BB=(XX⊙BB)⊕BB4.闭运算close:XX BB=(XX⊕BB)⊙BB代码1:function[]= fs()I=imread('finger.tif');subplot(1,2,1),imshow(I);title('原图');BW=I;BW=rgb2gray(BW);SE=strel('square',2);%结构元素为边长2像素的正方形BW=imopen(BW,SE);%开运算(先腐蚀再膨胀)可以消除小物体、在纤细点处分离物体、平滑较大物体的边界。
第十二讲 数学形态学及其应用
Introduction
数学形态学的历史可回溯到19世纪 Euler,20世纪Minkowski等人的研究, 1964年法国的Matheron和Serra在积分集合 的研究成果上,将数学形态学引入图像处 理领域,并研制了基于数学形态学的图像 处理系统。
原图
膨胀
腐蚀
开操作
闭操作
实验题目:图像平滑技术(去噪)
实验目的: 熟练掌握空域滤波中常用的平滑和锐化滤波器; 熟练掌握掩模技术,并可以应用掩模技术对图像进行增强处理; 了解图像增强的目的和意义,加深对图像增强的感性认识,巩固 所学的图像增强的理论知识和相关算法。 实验重点:邻域平均法、中值滤波降噪法 实验难点:产生噪声并叠加在图像上 实验内容: (1)选择一幅图像,叠加零均值高斯噪声,然后分别利用邻域平 均法和中值滤波法对该图像进行滤波,显示滤波后的图像,比 较各滤波器的滤波效果。 (2)选择一幅图像,叠加椒盐噪声,选择合适的滤波器将噪声滤 除。 课后作业: 撰写本次上机实验报告
概念
数学形态学是一门建立在严格数学理论的 基础上,分析空间结构的形状、框架的学科。 其语言是集合论,这是极其重要的,也意味着: (1) 它的运算是由集合运算来定义 (2) 所有的方式都必须以合理的方式转换为集合
数学形态学的方法
输入图像 移位、交、并等集合运算 输出图像
结构元素
形态学处理的基本思想:利用结构元素(structuring element)作为“探针”,在图像中不断移动,在此过程中收 集图像的信息、分析图像各部分间的相互关系,从而了解图 像的结构特征。
a X
B X
A B
第八章(1)-数字形态学及其应用
b
A
a
a∈ A b∉ A
结构元素(Structure Element) 设有两幅图像A和B,若A是被处理的对象,B 是用来处理A的,则称B为结构元素。
7
第八章 数字形态学及其应用
交集、 并集和补集
AI B
AU B
AC
A B A
B A
B
A I B = {a a ∈ A且 a ∈ B}
A U B = {a a ∈ A或 a ∈ B} AC = {a a ∉ A}
2
第八章 数字形态学及其应用
利用数学形态学进行图像分析的基本步骤如下: 1、提出所要描述的物体几何结构模式,即提取物 体的几何结构持征; 2、根据该模式选择相应的结构元素,结构元素应该 2 简单而对模式具有最强的表现力; 3、用选定的结构元对图像进行击中与否(HMT)变 换,便可得到比原始图像显著突出物体特征信息的 图像。如果赋予相应的变量.则可得到该结构模式 的定量描述; 4、经过形态变换后的图像突出需要的信息,此时 就可以方便地提取信息。
8
第八章 数字形态学及其应用
差集
A − B = {x x ∈ A, x ∉ B} = A I B c
A B
9
第八章 数字形态学及其应用
平移转换:设A是两个二维集合,A中的元素是 定义 x = ( x1 , x2 )
a = (a1 , a2 )
则: ( A) x = c c = a + x, for a ∈ A
4 3 2 1 0 1 2 3 4 5 6
b∈B
0 1 2 3 4 5 6
(a) 图像X与结构元素B 4 3 2 1 0 1 2 3 4 5 6 (c)
(b) ( X 膨胀的等价定义形式: X ⊕ B = U ( X)b2b ) 4 3 2 1
数学形态学及应用
4 3 2 1 0 1 2 3 4 x y 3 2 1 0 b 1 2 3 4 x 5 4 3 2 1 0 1 2 3 4 x
y
(a )数字图像
(b )点
(c)
A被b平移:A+b={a+b| a∈A} ————a与b对应坐标相加
5 4 3 2 1 0
y
x 4 3 2 1 0 1 2 3 4 y
C ⊙ X S {x | S1 x X且S2 x X }
C ⊙ X S ( XS1 ) ( X S2 )
( XS1 ) ( X S ) ( XS1 ) ( X S )
V 2
V C 2
X被S击中的结果相当于X被S1腐蚀的结果与X 被S2的反射集S2V膨胀的结果之差。
区域填充
骨架提取
骨架提取是由细化而来。骨架形成的是单像素的细化结果
粗化
连通分量提取
(a)X光图 像
(b)二值图 像 (c)用5×5 结构元 素腐蚀 结果
灰度级图像扩展
(a)原图 (b)膨胀图,更亮了减弱了暗细节 (c)腐蚀图,更暗了,明亮成分减 少
注意不同图中亮和暗细节的变化
一、膨胀 使图像扩大
A和B是两个集合,A被B膨胀定义为:
上式表示:B的反射进行平移与A的交集不为空 B的反射:相对于自身原点的映象 B的平移:对B的反射进行位移
膨胀的另一个定义
上式表示:B的反射进行平移与A的交集是A的子集
膨胀操作过程
将结构元素B的原点移至集合A的某一点,
将结构元素B中点的坐标与集合A中该点坐标相加, 得到对集合A中一点膨胀的运算结果.
击中/击不中变换的应用
• 严格的模版匹配。指出被匹配点所应满足的 性质(模板形状)的同时也指出这些点所不 应满足的性质,即对周围环境背景的要求。 • 保持拓扑结构的形状细化,以及形状识别和
数学形态学及其应用
三、 灰度数学形态学
(一) 灰度图像的排序
对灰度图像讨论数学形态学的方法时不仅
要考虑空间位置还要考虑灰度的大小。
一个信号f (x)的定义域为
D[ f ] x : f ( x )
如果对所有的 x 都有g(x) ≤ f (x),就说 g(x)
在f (x)的下方,并记为g(x) ≤ f (x)
(一)灰度图像的排序
• 二值信号:交集和并集操作
•
•
灰度信号:最小和最大操作
两个信号 f (x)和g(x)的最小值( f g)(x)
( f g )( x ) min f ( x ), g ( x )
如果 x D[f ] ∩ D[g],那么( f g)(x)是 f (x)和g(x) 的最小值,否则( f g)(x) = –
b ( A) A ( A B)
(a)
(b)
(c)
(d)
结构元素是8-连通的,而所得到的边界是4-连通的
(三)二值形态学实用算法
3. 区域填充 X k X k 1 B Ac
k 1, 2, 3,
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
结构元素是4-连通的,而原填充的边界是8-连通的
腐蚀运算:A B A,或 A B A
膨胀和腐蚀
原点不包含在结构元素中时的膨胀运算 AAB
?
(a)
A在膨胀中自身完全消失了
(b)
(c)
(d)
? ? ?
(a)
(b)
(c)
(d)
膨胀和腐蚀
原点不包含在结构元素中时的腐蚀运算 A B A
第8章 数学形态学及其应用
SE = strel('rectangle rectangle',MN) creates a flat, rectangle-shaped structuring element, where MN specifies the size.
22
第八章 数学形态学及其应用
8.2 二值形态学
设 A 为图像集合,S 为结构元素,数学形态学运算是 用 S 对 A 进行操作。 腐蚀与膨胀是二值形态学中两个最基本的运算。在腐 蚀和膨胀两个基本运算的基础上,可以构造出由膨胀和腐 蚀两个运算的复合与集合操作(并、交、补等)组合而成 的形态学运算族,如 开启、闭合、击中/击不中变换等。
0 y
x
二维整数空间(Z2) 注意:硬件显示时将取值为“1”的像素显示为“白色”、“0”显示为 “黑色”,而印刷时常相反。 “1”为白色或黑色,取决于事先的约定。
10
第八章 数学形态学及其应用
包含: 包含: 对于两幅图象 A 和 B,如果对B中的每一个点 b (b ∈B) 都有 b ∈A,那么称 B 包含于 A,记作 B⊆A。如果同时A 中存在一个点 a,a ∈A 且 a ∉B,那么称 B 真包含于A,记 作B⊂A。
6
第八章 数学形态学及其应用
数学形态学是由一组形态学的代数运算子组成的,它 的基本运算有4个:
腐蚀(或侵蚀)- Erosion 膨胀(或扩张)- Dilation 开启 - Opening 闭合 - Closing
基于这些基本运算还可推导和组合成各种数学形 态学实用算法,用它们可以进行图像形状和结构的分 析及处理,包括图像分割、特征抽取、边界检测、图 像滤波、图像增强和恢复等。
3
第八章 数学形态学及其应用
第十章数学形态学
3. 发展过程
第十章:数学形态学
发展历史 二值操作 灰度操作 应用研究
发展历史(1)
60年代:孕育和形成
– 1964诞生,Matheron指导下的Serra做岩相学分析,击中击不中变换开闭运 算、纹理分析器。1966年命名Mathematical Morphology。1968年成立枫丹 白露数学形态学研究中心。
A B Ac(B)c
第十章:数学形态学
发展历史 二值操作 灰度操作 应用研究
1. 腐蚀、膨胀运算及其性质(2)
腐蚀运算:
f=
01010
0
1
1
0
1
0。 1
1
1
0
ero(f,b) =
0
0
1
0
0。 0
1
1
b=
10 1 1。
第十章:数学形态学
发展历史 二值操作 灰度操作 应用研究
70年代:
– 纹理分析器商业应用,理论方面Mathron《随机集和积分几何》,数学形态 学的核心内容,灰度。
– 未引起信号图像处理方面重视,多为自然科学家,独立思维开拓图像分析一 个新的领域。
第十章:数学形态学
发展历史 二值操作 灰度操作 应用研究
发展历史(2)
80年代:
– Serra 1982完成《图像分析于数学形态学》,形态学走向美国及世界。 – 在格论框架上建立的数学形态学基础。 – 算法开发。
第十章:数学形态学
发展历史 二值操作 灰度操作 应用研究
4. 其他(2)
腐蚀膨胀(条件膨胀) -> 开闭 -> 形态学梯度 -> 颗粒分 析 -> Top-Hat变换
实验二 数学形态学及其应用
实验二、数学形态学及其应用一、实验目的理解和掌握数学形态学的基本理论和算法,练习使用形态学、区域、边界和阀值的方法结合图像增强复原的相关知识点对图像进行边缘提取和分割;二、实验原理1 膨胀和腐蚀是二值形态学的基本操作,其中膨胀是是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理;而腐蚀则是一种消除连通域的边界点,使边界向内收缩的处理。
贴标签是对不同连通域区分和标记的基本算法。
两者数学表达如下:膨胀:B A C ⊕=腐蚀:B A C Θ=2图象分割是按照某些特性(如灰度级,频谱,颜色,纹理等)将图象划分成一些区域,在这些区域内其特性是相同的或者说是均匀的,两个相邻区域彼此特性则是不同的,其间存在着边缘或边界。
按照使用图像的特点可以分为两类:利用区域间灰度不连续性――基于边界检测利用区域内灰度的相似性――基于区域分割3 骨架提取Blum 1967年给出了骨架的最初定义:骨架(中轴)是模型内部各个最大内切球中心的集合。
它还有一个grassfire 的模拟定义,从模型表面开始点火,各个方向上的火的相遇点所构成的集合。
因为模型的骨架很好的保留了模型的拓扑连接性及其形态,所以经常被用于碰撞检测、三维动画、模型渲染、模型表面重建、模型检索等应用中,也有研究人员采用骨架为模型的分解做矫正。
4 细化处理细化算法依据是否使用迭代运算可以分为两类:第一类是非迭代算法,一次即产生骨架,如基于距离变换的方法,如游程长度编码细化等。
第二类是迭代算法,即重复删除图像边缘满足一定条件的像素,最终得到单像素宽带骨架。
迭代方法依据其检查像素的方法又可以再分成串行算法和并行算法,在串行算法中,是否删除像素在每次迭代的执行中是固定顺序的,它不仅取决于前次迭代的结果,也取决于本次迭代中已处理过像素点分布情况,而在并行算法中,像素点删除与否与像素值图像中的顺序无关,仅取决于前次迭代的结果。
部分源代码:(1)clc;clear all;;BW1 = imread('circles.png');SE = eye(5);BW2 = imerode(BW1,SE);BW3 = dilate(BW1,SE);subplot(2,2,1),imshow(BW1),title('原始图像');subplot(2,2,2),imshow(BW2),title('腐蚀后图像');subplot(2,2,3),imshow(BW3),title('膨胀后图像');(2)clc;clear all;SE=ones(10,5); %构建结构要素矩阵BW1=imread('circles.png');subplot(2,2,1),imshow(BW1),title('原始图像');BW2=erode(BW1,SE);subplot(2,2,2),imshow(BW2),title('开启操作中腐蚀操作图像');BW3=dilate(BW2,SE);subplot(2,2,3),imshow(BW3),title('开启操作中膨胀操作图像'); (3)clc;clear all;;BW1 = imread('circles.png');BW2=bwmorph(BW1,'skel',inf); %提取图像骨架subplot(2,2,1),imshow(BW1),title('原始图像');subplot(2,2,2),imshow(BW2),title('骨骼后图像');(4)clc;clear all;;BW1 = imread('circles.png');BW2=bwperim(BW1); %提取图像边界subplot(2,2,1),imshow(BW1),title('原始图像');subplot(2,2,2),imshow(BW2),title('边界图像');(5)骨架提取clc;clear all;;BW1 = imread('guge1.bmp');[row,col]=size(BW1);BW3=zeros(row,col);for i=1:rowfor j=1:colif BW1(i,j)==1BW3(i,j)=0;elseBW3(i,j)=255;endendendSE0= [0,1,0;1,1,1;0,1,0];SE1=[0,0,1,0,0;0,1,1,1,0;1,1,1,1,1;0,1,1,1,0;0,0,1,0,0];SE2=[0,0,0,1,0,0,0;0,0,1,1,1,0,0;0,1,1,1,1,1,0;1,1,1,1,1,1,1;0,1,1,1,1,1,0;0,0,1,1,1,0,0;0,0,0,1,0,0,0];t1=BW3;BW2=zeros(row,col);for t=1:60t1=imerode(t1,SE0);t2=imdilate(imerode(t1,SE0),SE0);BW2=BW2+(t1-t2);figure(t);subplot(2,2,1),imshow(BW3),title('原始图像');subplot(2,2,2),imshow(t1),title('腐蚀后图像1');subplot(2,2,3),imshow(t2),title('开运算后图像2');subplot(2,2,4),imshow(BW2),title('骨架后图像2');end(6)细化处理clear allclose allclc%清除所有的工作变量和命令窗口%显示原始图象y=~imread('guge2.bmp');%根据需要更改路径Y=y;figure(1);imshow(~y);title('二值图像');[X_size,Y_size]=size(y);for j=1:X_sizefor k=1:Y_sizef(j,k)=0;endendi=2;bModified=1;while(bModified==1)bModified=0;for j=2:X_size-1for k=2:Y_size-1if y(j,k)==1bCondition1=0;bCondition2=0;bCondition3=0;bCondition4=0;for m=-1:1for n=-1:1neighbour(m+2,n+2)=y(j+m,k+n);endendnCount=neighbour(1,1)+neighbour(1,2)+neighbour(1,3)+neighbour(2,1)+neighbour(2,3)+neighbour(3,1)+neig hbour(3,2)+neighbour(3,3);if(nCount>=2&&nCount<=6)bCondition1=1;endnCount=0;if(neighbour(1,2)==0&&neighbour(1,1)==1)nCount=nCount+1;endif(neighbour(1,1)==0&&neighbour(2,1)==1)nCount=nCount+1;endif(neighbour(2,1)==0&&neighbour(3,1)==1)nCount=nCount+1;endif(neighbour(3,1)==0&&neighbour(3,2)==1)nCount=nCount+1;endif(neighbour(3,2)==0&&neighbour(3,3)==1)nCount=nCount+1;endif(neighbour(3,3)==0&&neighbour(2,3)==1)nCount=nCount+1;endif(neighbour(2,3)==0&&neighbour(1,3)==1)nCount=nCount+1;endif(neighbour(1,3)==0&&neighbour(1,2)==1)nCount=nCount+1;endif(nCount==1)bCondition2=1;endif((neighbour(1,2)*neighbour(2,1)*neighbour(3,2)==0)||nCount~=1)bCondition3=1;endif((neighbour(2,1)*neighbour(3,2)*neighbour(2,3)==0)||nCount~=1)bCondition4=1;endif(bCondition1==1&&bCondition2==1&&bCondition3==1&&bCondition4==1) f(j,k)=y(j,k);endendendendfor j=1:X_sizefor k=1:Y_sizeif(f(j,k)==1)y(j,k)=0;endendendfor j=2:X_size-1for k=2:Y_size-1if y(j,k)==1bCondition1=0;bCondition2=0;bCondition3=0;bCondition4=0;for m=-1:1for n=-1:1neighbour(m+2,n+2)=y(j+m,k+n);endendnCount=neighbour(1,1)+neighbour(1,2)+neighbour(1,3)+neighbour(2,1)+neighbour(2,3)+neighbour(3,1)+neig hbour(3,2)+neighbour(3,3);if(nCount>=2&&nCount<=6)bCondition1=1;endnCount=0;if(neighbour(1,2)==0&&neighbour(1,1)==1)nCount=nCount+1;endif(neighbour(1,1)==0&&neighbour(2,1)==1)nCount=nCount+1;endif(neighbour(2,1)==0&&neighbour(3,1)==1)nCount=nCount+1;endif(neighbour(3,1)==0&&neighbour(3,2)==1)nCount=nCount+1;endif(neighbour(3,2)==0&&neighbour(3,3)==1)nCount=nCount+1;endif(neighbour(3,3)==0&&neighbour(2,3)==1)nCount=nCount+1;endif(neighbour(2,3)==0&&neighbour(1,3)==1)nCount=nCount+1;endif(neighbour(1,3)==0&&neighbour(1,2)==1)nCount=nCount+1;endif(nCount==1)bCondition2=1;if((neighbour(1,2)*neighbour(2,1)*neighbour(2,3)==0)||nCount~=1)bCondition3=1;endif((neighbour(1,2)*neighbour(3,2)*neighbour(2,3)==0)||nCount~=1)bCondition4=1;endif(bCondition1==1&&bCondition2==1&&bCondition3==1&&bCondition4==1) f(j,k)=y(j,k);bModified=1;endendendendfor j=1:X_sizefor k=1:Y_sizeif(f(j,k)==1)y(j,k)=0;endendendfigure(i);imshow(~y);title('二值图像');i=i+1;end[X_size,Y_size]=size(y);for j=1:X_sizefor k=1:Y_sizef(j,k)=0;endendbModified=1;while(bModified==1)bModified=0;for j=2:X_size-1for k=2:Y_size-1if y(j,k)==1bCondition1=0;bCondition2=0;bCondition3=0;bCondition4=0;for m=-1:1for n=-1:1neighbour(m+2,n+2)=y(j+m,k+n);endif((neighbour(1,2)==0&&neighbour(1,3)==1)||(neighbour(3,2)==0&&neighbour(3,3)==1))bCondition1=1;endif((neighbour(2,1)==0&&neighbour(1,1)==1)||(neighbour(2,3)==0&&neighbour(1,3)==1))bCondition2=1end;if((neighbour(1,2)==0&&neighbour(1,1)==1)||(neighbour(3,2)==0&&neighbour(3,1)==1))bCondition3=1;endif((neighbour(2,1)==0&&neighbour(3,1)==1)||(neighbour(2,3)==0&&neighbour(3,3)==1))bCondition4=1;endif(bCondition1==0&&bCondition2==0&&bCondition3==0&&bCondition4==0)if((neighbour(1,1)+neighbour(1,2)+neighbour(1,3)+neighbour(2,1)+neighbour(2,3)+neighbour(3,1)+neighbour (3,2)+neighbour(3,3))<=2)f(j,k)=0;elsef(j,k)=1;bModified=1;endendendendendfor j=1:X_sizefor k=1:Y_sizeif(f(j,k)==1)y(j,k)=0;endendendendfigure(i+1);imshow(~y);title('二次细化图像');figure(i+2);imshow(Y-y);title('最终图像');三、实验仪器1计算机;2 MA TLAB程序;四、实验报告内容1叙述实验过程;2提交实验的原始图像、结果图像和统计信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学形态学及其应用
1、纪律是管理关系的形式。——阿法 纳西耶 夫 2、改革如果不讲纪律,就难以成功。
3、道德行为训练,不是通过语言影响 ,而是 让儿童 练习良 好道德 行为, 克服懒 惰、轻 率、不 守纪律 、颓废 等不良 行为。 4、学校没有纪律便如磨房里没有水。 ——夸 美纽斯
5、教导儿童服从真理、服从集体,养 成儿童 自觉的 纪律性 ,这是 儿童道 德教育 最重要 的部分 。—— 陈鹤琴
ห้องสมุดไป่ตู้
1、最灵繁的人也看不见自己的背脊。——非洲 2、最困难的事情就是认识自己。——希腊 3、有勇气承担命运这才是英雄好汉。——黑塞 4、与肝胆人共事,无字句处读书。——周恩来 5、阅读使人充实,会谈使人敏捷,写作使人精确。——培根