集合论的基本概念
令A为Z中的集合,如果a=(a1,a2)是A中的元素,则:a∈A
如果a不是A中的元素,则:a∉A
matlab函数:ismember(a,A),似乎还有个函数in与此类似
另外
判断集合中的元素是否按升序排列:issorted(A)
想想issorted(A(end:-1:1))是什么意思?
删除集合中的重复元素:unique(A)
如果A中的元素又是B中的元素,则A是B的子集,表示为:A⊆B
A∩B
matlab集合函数:C=intersect(A,B)
对于二值图像:A&B
A∪B
matlab集合函数:C=union(A,B)
对于二值图像:A|B
A-B
matlab集合函数:C=setdiff (A,B)
对于二值图像:A&(~B)
~B表示B的非
AorB 异或
matlab集合函数:setdiff(union(a,b),intersect(a,b))
对于二值图像:(A|B)&(~(A&B))
A的反射
matlab运算:A=~B
A平移到z,z=(z1,z2)
matlab运算:B=A+[z1 z2]
形态学
膨胀
定义来自①,在②中有不同的定义
注,不明白B的反射有什么用
膨胀可以简单的理解为:结构元素绕二值图像边界(白色部分的边界,因为在二值图中1为白色)走一圈,原图加上原图之外结构元素扫到的部分就是膨胀的结果。
结构元素B可以定义为
膨胀的特点:采用结构元素B1
总体上看白色区域扩大“一圈”;
白色外角失去角尖,变得圆滑;
腐蚀
注:符号应是圆圈里面减号
简单理解为:把结构元素想象成橡皮擦。结构元素绕边界区域一圈,抹去了部分图像
总体上白色区域“瘦了一圈”;
白色区域内角失去角尖,变圆滑;
开运算
开运算可以看做是,结构元素B在A内贴着边界转了一圈,不能超出A,扫掠到的范围及其内部就是开运算的结果
开运算的结果:
尖角处被圆滑、细颈被断开(这点在图上没有体现出来);
孤立点被削去(限于disk)
闭运算
闭运算可以看做是(不太准确),结构元素B在A外贴着A的外边界转了一圈,围成的区域构成闭运算的结果
闭运算结果:
内部小孔被填补(限于disk);
内部细通道被填补;