1、腐蚀与膨胀的基本原理1.图像形态学处理的概念数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如边界、骨架以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等。图像形态学处理中我们感兴趣的主要是二值图像。在二值图像中,所有黑色像素的集合是图像完整的形态学描述,二值图像的各个分量是 Z2 的元素。假定二值图像 A 和形态学处理的结构元素 B 是定义在笛卡儿网格上的集合,网格中值为 1的点是集合的元素,当结构元素的原点移到点(x,y)时,记为Sxy,为简单起见,结构元素为 3x3,且全都为 1,在这种限制下,决定输出结果的是逻辑运算。2
2、. 膨胀和腐蚀膨胀和腐蚀这两种操作是形态学处理的基础,许多形态学算法都是以这两种运算为基础的。 膨胀是以得到 B 的相对与它自身原点的映像并且由 z 对映像进行移位为基础的。A 被 B 膨胀是所有位移 z 的集合,这样, 和 A 至少有一个元素是重叠的。我们可以把上式改写为:结构元素 B 可以看作一个卷积模板,区别在于膨胀是以集合运算为基础的,卷积是以算术运算为基础的,但两者的处理过程是相似的。 用结构元素 B,扫描图像 A 的每一个像素 用结构元素与其覆盖的二值图像做“与 ”操作 如果都为 0,结果图像的该像素为 0。否则为 1 腐蚀对 Z 中的集合 A 和 B,B 对 A 进行腐蚀的整个过
3、程如下: 用结构元素 B,扫描图像 A 的每一个像素 用结构元素与其覆盖的二值图像做“与 ”操作 如果都为 1,结果图像的该像素为 1。否则为 0腐蚀处理的结果是使原来的二值图像减小一圈。3. 击中(匹配)或击不中变换假设集合 A 是由 3 个子集 X,Y 和 Z 组成的集合,击中(匹配)的目的是要在 A 中找到 X 的位置,我们设 X 被包围在一个小窗口 W 中,与 W 有关的 X 的局部背景定义为集合的差(WX ) ,则 X 在 A 内能得到精确拟合位置集合是由 X 对 A 的腐蚀后由(W X)对 A 的补集 Ac 腐蚀的交集,这个交集就是我们要找的位置,我们用集合 B 来表示由 X 和
4、X 的背景构成的集合,我们可以令 B(B1, B2) ,这里 B1X, B2(WX ) ,则在 A中对 B 进行匹配可以表示为:AB我们称为形态学上的击中或击不中变换。4. 开闭操作开操作是先腐蚀、后膨胀处理。闭操作是先膨胀、后腐蚀处理。5. 细化图像细化一般作为一种图像预处理技术出现,目的是提取源图像的骨架,即是将原图像中线条宽度大于 1 个像素的线条细化成只有一个像素宽,形成“骨架” ,形成骨架后能比较容易的分析图像,如提取图像的特征。细化基本思想是“层层剥夺 ”,即从线条边缘开始一层一层向里剥夺,直到线条剩下一个像素的为止。图像细化大大地压缩了原始图像地数据量,并保持其形状的基本拓扑结构不变,从而为文字识别中的特征抽取等应用奠定了基础。细化算法应满足以下条件: 将条形区域变成一条薄线; 薄线应位与原条形区域的中心; 薄线应保持原图像的拓扑特性。细化分成串行细化和并行细化,串行细化即是一边检测满足细化条件的点,一边删除细化点;并行细化即是检测细化点的时候不进行点的删除只进行标记,而在检测完整幅图像后一次性去除要细化的点。常用的图像细化算法有 hilditch 算法,pavlidis 算法和 rosenfeld算法等。注:进行细化算法前要先对图像进行二值化,即图像中只包含“ 黑”和“白”两种颜色。