形态学图像处理.ppt
文本预览下载声明
一些基本的形态学算法 一些基本的形态学算法 形态学的主要应用之一是提取用于表示和描述形状的图像成分。 边界提取 连通分量的提取 凸壳 骨架 孔洞填充 细化 粗化 修剪 边界提取 集合A的边界β(A)可以通过先用B对A腐蚀,然后执行A和腐蚀结果之间的差得到,即 其中B是一个适当的结构元。 边界提取 边界提取 孔洞填充 孔洞:由前景像素相连接的边界所包围的一个背景区域。 假定每一个孔洞中已经给定了一个 置1的点,此集合为X0,然后如下 过程将用1填充所有的孔洞: 如果Xk=Xk-1,则算法在迭代的第K步结束。然后集合Xk包含了多有被填充的孔洞。 孔洞填充 孔洞填充 孔洞填充 以上是在给定每个孔洞区域内的一个点的假设下进行孔洞填充的。即这一填充算法需要在算法中建立附加的“智能”。 有没有全自动化的孔洞填充算法呢? 连通分量的提取 在定义连通分量之前,必须先指定像素之间的邻接类型:4邻接、8邻接。 对于S中的任何像素p,S中连通到该像素的像素集称为S的连通分量。如果S仅有一个连通分量,则集合S称为连通集。 连通分量的提取 令Y表示一个包含于集合A中的连通分量,并假设Y中的一个点p是已知的(设为X0)。用下列迭代式生成Y的所有元素: 连通分量的提取 连通分量的提取 自动化的连通分量提取 自动提取A中的一个或多个连通分量的步骤如下: (1)先创建一个同样大小的图像B,B仅由背景0组成。 (2)任意选择A中的一点前景点1(可通过循环扫描实现),运用连通分量提取算法得到一个连通分量。 (3)将该连通分量拷贝到图像B的相应位置处,再把A中该连通分量置0。 (4)重复步骤(2),直到A中不再有值为1的点。 最后图像B中包含了A中的所有连通分量。 自动化孔洞填充的讨论 (1)假设球体之间互不接触,并且不接触图像的边界: 我们选取图像边界上的一个背景点,然后利用连通分量提取算法得到整幅图像的背景,将该连通分量的值置为0和1之外的其他值。则图像中剩下的黑色点就在球体内部了。 于是,我们就可以任意选取图像中 一黑色点(该点必在图像内部),利 用孔洞填充算法填充孔洞直到所有 的黑色点都变为白色点。 我们也可以简单地把图像中的所有 黑色点转换为白色点从而填充所有 孔洞,而不借助孔洞填充算法 自动化孔洞填充的讨论 (2)假设球体以任意方式接触,则可能产生“pocket”,即黑色的背景点被白色的球围住或被白色的球与图像边界围住。 自动化孔洞填充的讨论 因为这里处理的对象是球体,它们之间的接触面积很小(一个点),所以我们使用3*3的值都为1的结构元对图像进行腐蚀,这样将在相互接触的球体外围产生一个背景边界,从而将球体分离开来。然后用(1)提到的方法填充孔洞。 自动化孔洞填充的讨论 当腐蚀之后,球体内部的孔洞也被放大了,可能导致球体内部的孔洞与图像的背景相连通,从而导致该孔洞无法被填充。 We recommend making the assumption that the interior black areas are small and near the center. 不含背景运算的击中击不中变换 回顾HMT: 其中B1为与物体有关的结构元,B2为与背景有关的结构元。 不含背景运算的击中击不中变换 实现: 不含背景运算的击中击不中变换 用结构元B对集合A做不含背景匹配的击中击不中变换,相当于在A中找对B的一个模式匹配。 在后面的一些算法中,我们对检测某个集合内由1和0组成的某些模式感兴趣,这种情况下不需要背景的。 不含背景运算的击中击不中变换 凸壳 如果在集合A内连接任意两个点的直线段都在A的内部,则称集合A为是凸形的。 任意集合S的凸壳H是包含S的最小凸集。 集合差H-S称为S的凸缺。 凸壳和凸缺对于物体的描绘是很有用的。 凸壳 计算集合A的凸壳C(A)的形态学算法: 令Bi,i=1,2,3,4表示4个结构元。这个过程通过执行下式实现: 其中X0i=A。当该过程收敛(即当 )时,我们 令 , 则A的凸壳为 凸壳 即该方法由使用B1对A做不需要背景匹配的击中击不中变换,然后将得到的结果与A求并集,再不过重复这一过程,直到不再发生进一步变化,此时得到的结果称为D1。 这一过程使用B2、B3、B4重复。最后得到的4个D的并集组成了A的凸壳。 凸壳 凸壳 上述过程的一个明显缺点是:凸壳可能超过确保凸性所需的最小尺寸。 解决办法:限制生长,以便凸壳不会超过初始点集合在水平和垂直方向的尺寸。 细化
显示全部