基于分水岭和形态学重构的矿石图像分割方法
扫描二维码
随时随地手机看文章
引 言
目前,利用计算机图像处理技术来解决实际问题已经非常普及,人们倾向于用摄像机来构建机器视觉测量系统,实时给出矿石的粒度尺寸分布信息,这样就实现了矿石生产线的自动控制[1]。但矿石现场采集的图像质量较差,待分析矿石往往会连在一起,同时还有噪声多等特点,假如我们不对其进行分割、处理并定位到目标,将会导致矿石粒度分析较差,因此矿石图像中矿石分割是该视觉系统的关键。矿石场景分割涉及把一个矿石场景分为不相交的区域,图像中的每一个矿石都具有一个封闭的轮廓,这些轮廓应尽可能逼近矿石的边缘[2,3]。分水岭方法的优点是计算速度快,能够较好地提取出对象轮廓、边缘,定位准确,这使得其被越来越多的研究人员应用到图像分割的实践中来。但由于本文选择的测量对象是选矿现场位于传送带上破碎后的矿石颗粒,图像受光照影响较大且采集环境恶劣,粉尘较多。因而如果直接使用分水岭算法对矿石图像进行有效分割会存在以下不足:
(1) 由于采集、量化中所产生的图像噪声对分水岭算法将产生极大的影响。矿物加工现场由于环境的特殊性致使图像噪声较多,这类噪声通常具有离散性和随机性特点,影响图像的梯度导致分割时轮廓产生偏移。
(2) 由于某些图像对比度较低,将会导致其轮廓丢失[4]。
(3) 由于矿石表面细密纹理较多导致使用传统的分水岭算法存在检测结果局部极值过多现象,使得后续分割出现大量细小分割区域从而导致图像过度分割。为克服以上缺陷, 本文设计了一套算法流程,结合矿石图像的特点,对采集的图像先进行图像预处理操作,为分水岭算法进行图像分割做准备,根据实验结果的图像显示,图像分割效果较为理想。
1 算法流程
如上所述,由于矿石现场传送带环境恶劣,目标与背景区分度差。通过最初的图像预处理可以增强前景和背景的对比度,为后续矿石定位以及分割做准备。图像处理过程如图 1 所示。
1.1 双边滤波
在图像处理过程中,传统的平滑滤波方法有均值和中值滤波。滤波一般是在空间上对信号进行变换,如加权或取邻域中间值,这样虽然信噪比增强,但输出图像的边缘却变得模糊。为克服这个缺陷,应生了各种具有自适应特征的滤波算法。这些算法在基本思想上是相通的,即滤波时,尽可能根据图像边缘特点来避免模糊现象。而双边滤波是通过卷积过程中组合空域函数和值域核函数,同时考虑灰度域的相互影响,是具有保留边缘特点的算法。
双边滤波器计算图像中每个像素点与模板内像素的空间相邻关系和灰度相似关系,并将两个关系进行高斯映射后作为模板内像素的权值,对模板像素进行加权平均,从而达到滤波效果。在图像灰度变化平缓的区域,双边滤波器变为标准的低通空域滤波器。而在那些图像灰度变化剧烈的区域,如二值图像的边缘,滤波将边缘点邻域内灰度近似的像素点的灰度平均值作为该点的像素值。因此双边滤波器有去除噪声和保留图像细节的功能,是一种具有实际应用价值的滤波器 [3]。
总体来说,双边滤波在使得矿石图像平滑去噪的同时, 会尽可能保留其边缘细节的非线性滤波方法,采用该方法可以去除灰尘杂质及光照不均带来的畸变干扰[5]。图 2(a)所示为一幅初始矿石粒度图像,图 2(b)所示为对原始图像依次进行灰度化和双边滤波处理后的结果示意图。
1.2 分段线性灰度变换
灰度变换为图像增强的一种方法,其能够加强图像前景与背景之间的对比度。因此,可以将灰度变换应用到矿石采集图像中,突出矿石目标特征。对多峰的直方图图像进行灰度变换,则需要在各灰度范围内分段处理。对于两个峰值左右的灰度应该分别进行拉伸,而两峰之间的谷则应进行一定程度的压缩处理,使在分段处理后,图像的细节更为突出。图 2(c) 所示是将矿石图像进行双边滤波处理后的结果使用分段线性灰度变换进行对比度增强后的结果示意图。从图中可以看出, 通过使图像的对比度增强,可以较好地把矿石的前景和背景分割出来。
1.3 梯度计算
图像梯度化属于图像锐化,其目的在于突显图像的轮廓特征,以方便机器识别,梯度图像的主要目的是显示图像变化趋势。基于梯度图像使用分水岭算法比直接在原始图像上利用分水岭分割结果更加准确,梯度图像更适合作为分水岭算法的分割图像[6]。本文中的梯度算法采用Sobel 算子,计算图像f( x,y)的一阶导数,分别为 Gx 和 Gy,梯度定义如下:
图 2(d)为对图 2(c)所示的处理结果进行梯度计算后的结果示意图。从结果可以看出,梯度图像在边缘轮廓位置具有较高的响应值,在非矿石边缘处梯度值较低。
1.4 矿石图像二值化
为了将目标矿石与背景区分开,需要采用二值化方法对矿石图像进行处理,从而生成二值图。二值化就是设定一个阈值 T,图像大于 T的分为一类,小于 T的分为另一类。二值图像的特点是使图像变得简单,可通过布尔运算较方便地描述目标区域的边界,获取目标的位置和大小等。矿石图像二值化是进行形态学变换的基础。图 3(a)给出了对梯度图像进行二值化处理后的结果示意图。从结果能够看出,经二值化处理后, 将梯度响应值比较低的区域均置为 0,为后续极大值区域检测减少了干扰因素。
1.5 闭运算
矿石图像二值化后,会不可避免的在大块矿石内部形成一些小 孔洞 ,或者矿石轮廓存在些许 小毛刺 ,同时还存在一些孤立噪声点。这些小 孔洞 均可以通过腐蚀膨胀等形态学运算进行去除,保证后续分割的准确性。原图经过膨胀运算后,前景目标区域扩大了一圈。原图经过腐蚀运算后,前景目标区域缩小了一圈。先膨胀后腐蚀的方式称为闭运算,其作用是填平小孔,弥合小裂缝,保留图像轮廓而去除易造成过分割的区域细节和噪声,而总的位置和形状不变。闭运算处理后,本算法流程在提取轮廓步骤中,将封闭轮廓面积较小的以及轮廓长度较短的都剔除掉,这样得到的图像空洞较少, 便于分割。图 3(b)给出了对图 3(a)所示的处理结果进行闭运算处理、轮廓提取、小轮廓去除等步骤处理后的结果示意图。从图中可以看出,一些小的孔洞及边缘均已被有效去除。
(a)二值化(b)闭运算等处理后的结果示意图
图 3 矿石图像预处理结果示意图
1.6 距离变换
给定一幅二值图像,可将其所有像素划分为两组,即目标像素和背景像素。二值图像并不能突显图像中的某些特性, 但若对其进行合适的处理,一些未被发现的图像信息就能显现出来。距离变换就是将每一像素的像素值变换为该像素与图像中所有背景像素间的最小距离值。通过距离变换,可以将一幅各像素间没有任何关联的简单二值图像转换为能够展现图像骨架、边缘及各像素间相对位置的丰富的灰度图像。
对于构成某个连接成分的像素来说,给出从背景到每个像素的最小距离的处理或计算一个像素点到背景像素点的最短距离 [7] 称为距离变换。应用距离变换进行处理后,基于距离变换的结果对矿石图像进行形态学重构,从而测定图像距离变换后的峰值,求出图像局部最大值,从而准确得到矿石的中心和个数。图 4(a)给出了对进行距离变换的结果示意图,图 4(b)给出了对距离变换结果进行局部极大值区域检测的结果示意图。检测出的局部极大值区域和边缘线一起可以作为后续分水岭算法的输入。
1.7 分水岭变换
分水岭分割方法就是根据分水岭的构成来考虑图像分割 形成的算法,利用图像灰度来构建山岭的高度,局部值作为集 水盆,其边界就构成了分水岭 [8]。在本文中,将梯度图像和局 部极大值区域作为分水岭算法的输入图像,进行矿石图像的 分割,分割结果如图 5 所示。
2 结 语
对于较为复杂的矿石图像中矿石目标的分割,本文在基于分水岭图像分割算法的基础上,设计了一套切实可行的矿石图像分割方法,其中包括双边滤波、分段线性灰度变换、二值化、距离变换、图像形态学重构等步骤,来达到准确完成矿石粒度图像分割的目的。从结果图可以看出,此算法完成矿石粒度图像分割效果较为理想。为之后进行在线粒度测量分析及自动统计分析结果提供了可行性,具有重要的理论意义和应用价值。