8.3.1 粘连图像数学形态学处理的结果与分析
由于图像中物体表面反光不均匀,本身的边缘不圆滑,外界光强不足,其他杂质混入等原因,即使图像经过平滑预处理,二值化处理后的黑白图像中仍然存在着一些缺陷,如图8.14所示,有些目标物体内部有像素点颜色接近背景而被误判为背景像素,使得物体内部出现孔洞[图8.14(a)颗粒图像用灰色表示,透明部分代表空洞];有些物体的边缘会出现一些不圆滑的突出部分;小面积的杂质被判定为目标物体。这些缺陷都会严重影响后续的分水岭分割的结果,使得物体计数发生错误,同时在特征提取过程中,也会产生错误的面积、周长、质心位置等特征参数。

图8.14 平滑处理后二值图像
(a)原始图像;(b)二值图
针对上述缺陷,可以利用数学形态学对二值图像进行孔洞填充、开运算、多次腐蚀等一系列的滤波处理,以改善二值图像,使其能更准确地反映真实的图像信息,具体的方法如下:
(1)孔洞填充
孔洞填充的思想是首先在各个封闭区域中,选择一个点作为种子点并填充一新的颜色。再搜索该点的4邻域像素点,判断其颜色是否与种子点颜色相同,或者与边界点颜色相同。前者表明已判断过,后者表明为不需处理的点。否则将点作为孔洞点压入堆栈并填充种子点的颜色。重复进行以上处理直到所有点都判断过,最好再将所有孔洞点填充为目标的颜色。具体的处理流程图如图8.15所示。

图8.15 孔洞填充流程图
对图8.14(b)中的二值图像进行填充,其结果如图8.16所示。

图8.16 二值图像进行填充结果
由结果可知,孔洞填充可以将物体内部的黑色像素都填充为目标像素。但当三个或三个以上的物体互相粘连时,也会出现“伪”孔洞现象,如图8.17所示,此时对图像进行孔洞填充会使不同物体完全粘连在一起成为一个物体,由于粘连处的缝隙被完全填充,而失去凹性特征,因此后期分水岭分割也不能将其分割开来。多次实验过程表明,对于会出现多目标粘连而造成“伪”孔洞现象的图像,解决该问题只能通过增加光照强度,或者选用与目标颜色差异很大的背景色,使得在图像二值化过程中物体不会因为光强不足而出现孔洞。对于很多不会出现“伪”孔洞现象的图像,则加入孔洞填充这一图像处理过程,使得结果更精确。

图8.17 “伪”孔洞图像填充结果图(https://www.daowen.com)
(a)“伪”孔洞图像;(b)填充效果图
(2)图像开运算处理
当图像中存在着一些面积微小的杂质物体并且目标物体边缘不圆滑时,会使后续图像分割发生错误,可利用数学形态学中的开运算对图像进行优化。选用5×5的圆形结构元素对图像作开运算,即首先对图像作腐蚀运算,消除图像中的杂质物体,同时腐蚀掉物体边缘突出部分;再对图像作相同结构元素的膨胀运算,使目标物体尽量恢复成原形状。对图作开运算得到的结果如图8.18所示,从结果图中可以看出,开运算在保证目标物体基本形状不变的情况下,可以在一定程度上消除物体边缘的突出部分,剔除杂质物体,使图像更加简洁,并且利于分割。
(3)图像腐蚀运算处理
当图像物体与物体过度粘连时,其粘连处的凹形特征不明显,如图8.18橙色圈内的粘连物体,在分割过程里中间接触部分会多分割出一个扁的长方形,分析阶段也会产生错误的结果。可以利用腐蚀因子对图像进行腐蚀运算,减少粘连处的像素点,使得凹形特征更加明显,有利于后续的分水岭分割。对一幅图像进行多次腐蚀,腐蚀的效果与腐蚀次数和结构元素的形状选取有关。如图8.19分别是利用1×1的圆形结构元素对图像作2次腐蚀运算与4次腐蚀运算。若物体之间的粘连部分较少,则两个物体会被直接分割开来;若粘连部分较多,则多次腐蚀使得粘连部分减少。由于腐蚀运算是针对所有的目标像素点,因此在腐蚀过程中,目标物体的大小与形状也会发生变化。

图8.18 开运算结果图

图8.19 不同次数的腐蚀结果图
(a)1×1的圆形结构元素2次腐蚀结果图;(b)1×1的圆形结构元素4次腐蚀结果图
腐蚀运算的结构因素形状也会对结果产生影响,如图8.20中分别是利用5×5的菱形结构与5×5的圆形结构进行腐蚀,可以看出同样大小的菱形结构元素可以更好地保持物体的圆滑性,而圆形结构元素能腐蚀更多的像素点。容易知道与腐蚀相反的膨胀运算也具有该类性质。

图8.20 不同形状结构因素的腐蚀结果图
(a)5×5菱形结构因素腐蚀结果图;(b)5×5圆形结构因素腐蚀结果图
由以上分析可知,腐蚀运算不仅使粘连物体趋向于分开,也会使物体本身的形状发生变化,这对后期的特征参数提取会造成严重的影响。因此需要选择合适的腐蚀结构元素,在保证物体基本形状不发生变化的情况下,使得物体粘连处的像素点尽量减少。