
第九章 数学形态学 (Mathematical Morphology
第九章 数学形态学 (Mathematical Morphology )

问题: 进行图像分割后,有些目标可 能互相粘连,或者断裂,或者 有多余,或者有缺损,或者有 散粒噪声等。怎么办? 解决: 数学形态学处理
问题: 进行图像分割后,有些目标可 能互相粘连,或者断裂,或者 有多余,或者有缺损,或者有 散粒噪声等。怎么办? 解决: 数学形态学处理

1.简介 l.基本运算(二值图像) l.应用(二值图像)
I. 简介 II.基本运算(二值图像) III.应用(二值图像)

L.简介 1.定义 用数学方法研究物体的形状和结构 2.应用 研究动物,植物,岩石等的形状;工业控 制;放射医学;运动传感;计算机绘图; 图像处理与识别;特征检出;形状描述;
I. 简介 1. 定义 用数学方法研究物体的形状和结构 2. 应用 研究动物,植物,岩石等的形状;工业控 制;放射医学;运动传感;计算机绘图; 图像处理与识别;特征检出;形状描述;

山.基本运算(二值图像) 大多数用于二值图像。 两种基本运算: 膨胀,腐蚀 其它多种:由膨胀,腐蚀组合而成: 开,闭,击中击不中变换(HMT),等
II. 基本运算(二值图像) 大多数用于二值图像。 • 两种基本运算: 膨胀, 腐蚀 • 其它多种:由膨胀, 腐蚀组合而成: 开, 闭, 击中/击不中变换(HMT),等

1.膨胀 根据膨胀模板B(或结构元素B),在区域A 周围添加像素使A膨胀。 用B膨胀A: C=A⊕B={pl[(B)p∩A]≠] B:B关于参考点的映射,p:平移到p点, ∩:与运算。 步骤:B的映射移动到A的(xy)处,与A相 与,结果不为空时,在Cx,y)处加像 素
1. 膨胀 根据膨胀模板B(或结构元素B), 在区域A 周围添加像素使A膨胀。 用 B膨胀 A : C = A B = {p|[(B’)p A] } B’:B关于参考点的映射,p:平移到p点, :与运算。 步骤:B的映射移动到A的(x,y)处,与A相 与,结果不为空时,在C(x,y)处加像 素

例如: B' B A
例如: B B’ A C

技巧:模板下只要有一个目标点, 则在参考点下添如一个目标点。 可见,只需处理背景点。 形状:膨胀模板多为正方形或圆 形。 效果:膨胀区域,填补小的或窄的 孔,口子,湾等平滑边界线),连 接两个或多个区域(粘连)等等
技巧:模板下只要有一个目标点, 则在参考点下添加一个目标点。 可见,只需处理背景点。 形状:膨胀模板多为正方形或圆 形。 效果:膨胀区域,填补小的或窄的 孔,口子,湾等(平滑边界线), 连 接两个或多个区域(粘连)等等

用3x3模板膨胀的例子:红色:膨胀的像素
用3x3模板膨胀的例子:红色:膨胀的像素

C/C++程序: CImage:dilate(BYTE **tmpl,int r,int c,BYTE **out) int i,j,m,n,u,v; u=r/2;V=c/2; for (i=u;i<row-u;i++) for (j=v;j<col-v;j++) if (data[i]])!=0) out[)=1; else
C/C++程序: CImage::dilate(BYTE **tmpl, int r, int c, BYTE **out) { int i,j,m,n,u,v; u=r/2;v=c/2; for (i=u;i<row-u;i++) for (j=v;j<col-v;j++) { if (data[i][j]) !=0) out[i][j] = 1; else