文档介绍:数学形态学图像处理
一个有效的二值图像处理运算集是从数学形态学下的集合论方法发展起来的。尽管它的基本的运算很简单,但它们和它们的推广结合起来可以产生复杂得多的效果。并且,它们适合于用相应的硬件构造查找表的方式,实现快速的流水线处理。这种方法通常用于二值图像,但也可以扩展到灰度级图像的处理。
在通常的情况下,形态学图像处理以在图像中移动一个结构元素并进行一种类似于卷积操作的方式进行。像卷积核一样,结构元素可以具有任意的大小,也可以包含任意的0与1的组合。在每个像素位置,结构元素核与在它下面的二值图像之间进行一种特定的逻辑运算。逻辑运算的二进制结果存在输出图像中对应于该像素的位置上。产生的效果取决于结构元素的大小、内容以及逻辑运算的性质。
纪玉波
1
数字图象处理演示稿纪玉波制作(C)
基本的形态学运算是腐蚀和膨胀,见图9-5所示。根据定义,边界点是位于物体内部,但至少有一个邻点位于物体之外的像素。
(Erosion)
简单的腐蚀是消除物体的所有边界点的一种过程,其结果使剩下的物体沿其周边比原物体小一个像素的面积。如果物体是圆的,它的直径在每次腐蚀后将减少2个像素。如果物体任一点的宽度少于三个像素,那么它在该点将变为非连通的(变为两个物体)。在任何方向的宽度不大于2个像素的物体将被除去。腐蚀对从一幅分割图像中去除小且无意义的物体来说是很有用的。
一般意义的腐蚀概念定义为
E=BS={x,y|SxyB}
纪玉波
2
数字图象处理演示稿纪玉波制作(C)
也就是说,由S对B腐蚀所产生的二值图像E是这样的点(x,y)的集合:如果S的原点位移到点(x,y),那么S将完全包含于B中。使用基本的33结构元素时,一般意义的腐蚀简化为简单腐蚀。
(dilation)
简单膨胀是将与某物体接触的所有背景点合并到该物体中的过程。过程的结果是使物体的面积增大了相应数量的点。如果物体是圆的,它的直径在每次膨胀后增大两个像素。如果两个物体在某一点相隔少于三个像素,它们将在该点连通起来(合并成一个物体)。膨胀在填补分割后物体中的空洞很有用。
一般膨胀定义为
D= BS={x,y|Sxy∩B}
纪玉波
3
数字图象处理演示稿纪玉波制作(C)
也就是说,S对B膨胀产生的二值图像D是由这样的点(x,y)组成的集合,如果S的原点位移到(x,y),那么它与B的交集非空。采用基本的33结构造元素时,一般膨胀简化为简单膨胀。
图9-5
纪玉波
4
数字图象处理演示稿纪玉波制作(C)
开运算先腐蚀后膨胀的过程称为开运算。它具有消除细小物体、在纤细点处分离物体、和平滑较大物体的边界时又不明显改变其面积的作用。开运算定义为
BS=(BS)S
闭运算先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。闭运算定义为:
BS=(BS)S
纪玉波
5
数字图象处理演示稿纪玉波制作(C)
通常,当有噪声的图像用阈值二值化时,所得到的边界往往是很不平滑的,物体区域具有一些错判的孔,背景区域上则散布着一些小的噪声物体。连续的开和闭运算可以显著地改善这种情况。有时连接几次腐蚀迭代之后,加上相同次数的膨胀,才可以产生所期望的效果。
通常反复施以腐蚀运算,将使一个物体变得不存在。类似地,反复膨胀将把一幅图像中的所有物体合并为一个。然而,这些过程可以改变一下,以便在一些应用中产生更合适的结果。
(Shrinking)
当腐蚀以一种不触及单像素物体的方式执行时,这个过程称为收缩。当物体总数必须保持不变时,这种方法很有用。
纪玉波
6
数字图象处理演示稿纪玉波制作(C)
收缩可以迭代方式为一个包含近似圆形物体的二值图像生成物体尺寸的分布。为图像中的单像素物体计数的过程与一个3×3算子交替的执行。每运行一次,半径减了一个像素,并有更多的物体收缩为单像素大小。记录下每次迭代中的单像素物体数目,可给出物体大小的累计分布。但收缩时会使非常不圆的物体(如哑铃状的物体)分解,因此这种技术有它的局限性。
细化(Thinning)
腐蚀可编程为一个两步过程,以免分裂物体。第一步是一个正常的腐蚀,但它是有条件的,也就是说,那些被标为可除去的像素点并不立即消去。在第二步中,只将那些消除后并不破坏连通性的点消除,否则保留。以上每一步都是一个3×3邻域运算,可用查表运算实现。
纪玉波
7
数字图象处理演示稿纪玉波制作(C)
细化将一个曲线形物体细化为一条单像素宽的线,从而图形化地显示