8.5.2 颗粒参数提取
在实际应用中一般可以通过颗粒物体的大小、形状和颜色特征等来对颗粒进行描述。颗粒的大小是最容易区分不同颗粒的一个特征,在数字图像处理中可以计算出颗粒的粒径、面积、周长、长轴和短轴等参数来表示大小特征。而颗粒具有各种各样的形状,如定性的分析可分为球状、多角状、针状、枝状等不同形的分水岭,具有封闭性的特点,因此可以通过求出完整区域的颜色特征来区分不同的颗粒状,定量的分析则可根据颗粒的形状因子、偏心率、圆形度等来表示形状特征。
1.颗粒大小特征参数提取
(1)周长特征参数提取
图像颗粒物体的周长是一个简单的边界全局特征,它是指包围目标区域的轮廓的边界长度。目标区域的周长特征值在识别复杂形状目标时特别有用。对于图像中的目标区域R,其边界像素p 满足以下两个条件:①像素p属于目标区域R 的集合。②像素p 的邻域像素中含有不属于R 的像素。若像素只满足第一个条件,则此像素为目标区域内部的像素,只满足第二个条件的像素点为背景像素点。在测量周长的过程中经常包含有许多90°的转弯,使得周长值比实际值要大。周长的表示方法有多种,其测量出的结果也有差异。周长的测量方法有:
1)利用隙码求目标区域的周长。可以将图像中的每个像素都看成一个小正方形的区域,如图8.42所示。目标像素与背景像素的粘连处为小正方形的一条边界,可用隙码表示。目标区域的周长就是计算区域所有隙码的长度和。
2)利用链码求目标区域的周长。链码是图像目标区域边界点的一种编码表示方式,它利用一组规定长度和方向的直线来表示目标的边界。边界的起点需要用绝对坐标表示,其他点可以用后续的方向链码所代表的偏移量来表示。链码表示利用一个方向值来代替一点的二维坐标,因此可以减少数据量。图8.43为4方向链码和8方向链码的示意图。其中4方向的链码长度为1,8方向链码中水平和竖直方向的链码长度为1,对角线方向的链码长度为
。

图8.42 边界编码图形

图8.43 方向与链码的对应关系
(a)4方向链码;(b)8方向链码
对于图8.43所示的目标区域边界,若将点O(0,0)当做起始点,则其4方向链码表示:(0,0)1 1 1 2 3 2 3 2 3 0 0;8方向链码表示为:(0,0)2 2 2 4 5 5 6 0 0。
目标边界的周长即为水平和竖直方向上的链码个数加上
乘以对角线上链码的个数。由于8方向链码具有更高的准确性,通常使用它来计算周长。对于某个目标区域,在计算过程中,所有水平与竖直方向的链码为偶数,其总数记为Ne。所有对角线方向的链码为奇数,其总数记为No,目标周长P 可用如下公式计算:
![]()
3)将目标区域的边界像素的总数作为目标的周长,该方法计算简单,具有统计意义。
对图8.43(a)所示的由0、1、2、3连接所构成的目标区域,利用三种不同的方法所得的结果为:缝码计算结果为16,利用链码表示时周长计算结果为
,利用统计像素个数作周长时结果最小为10。
上述三种方法计算出的周长结果都是具有统计学上的特征,与实际的周长有较大的差异,其中方法3)最简单,可以利用该方法来提取玉米颗粒图像中所有玉米粒的周长特征。如对图8.40(a)进行提取,其周长分布如图8.44所示。从结果可以看出,周长在140左右的颗粒数目最多,周长整体分布趋势为中间颗粒数多,越向两边颗粒数越少,呈正态分布。

图8.44 周长分布直方图
(2)面积特征参数提取
面积是目标区域大小特征的一个度量,它只与区域的边界包围的范围有关,与内部像素值无关。实际应用中通常用目标区域中的像素个数总和来表示面积。对于一幅M×N 的二值图像f(x,y),若二值图像灰度中值含有一个感兴趣的目标,则面积A 为像素值为1的点的个数和,即:

对于含有k个目标区域的图像,首先需要将各个分离的目标区域进行标号,以方便各个目标区域的面积计算。区域标号分给每个目标区域唯一的序号,同一区域内的所有像素的灰度值都记为该区域的区域号,其中目标区域的个数与最大的区域序号相同,背景像素的灰度值依然为0。线性扫描的区域标号方法如下:
首先对一幅二值图像进行从上到下、从左到右的扫描,直到扫描到灰度值为1的像素点。此时由于扫描顺序的原因,该像素点p 的8邻域中左、左上、上、右上四个点一定为已经处理过的像素点,当前像素点的标号与四个像素点的值相关,分三种状况:
1)若四个邻域像素点的灰度值都为0,当前像素点赋予新的标号。
2)若四个邻域像素中有像素点已经被标注,且所有像素的标号一致,则当前像素点标上该标号。
3)若四个领域像素点中的已经标注的点标号不同,则按照左、左上、上、右上的顺序寻找不为0的像素标号,将该标号赋予当前像素点。
用上述的方法对所有的像素进行一次扫描后,所有的像素都被标号,如图8.45(b)所示。由图8.45(b)可知第一次扫描完成后,存在着同一目标区域像素点有几个标号的问题。解决该问题的方法是在第一遍扫描过程中如果发生一个区域多标号登记的情况,当扫描完成后对登记表中的标号进行整理。在第二次扫描过程中对同一区域的不同标号子区域进行匹配,使得一个目标区域只有一个标号。


图8.45 线性扫描法区域标号过程
(a) 二值图像矩阵示意图;(b) 一遍扫描结束时的标号结果;(c) 第二遍扫描后的标号图
完成对不同目标区域的标号之后,不同区域像素的灰度值变为该区域的标号,统计不同灰度级的像素个数,就是各个目标区域的面积。
对玉米颗粒图像进行面积特征参数提取,其结果如图8.46所示。从结果可以看出颗粒的面积大小分布在950左右。

图8.46 面积分布直方图
(3)粒径参数提取
粒径是对物体大小特征的一个度量,在圆形物体中,粒径等同于直径,对于其他不规则的物体,无法直接计算其粒径,因此通常使用等效的方法来测量物体的粒径。在实际应用中,由于测量的面积与周长比较真实地反映出目标物体的形状特征,可以与物体有相同面积的圆的直径来定义物体的等效粒径:(https://www.daowen.com)

由于在实际检测中面积特征参数比较真实地反映物体的特征,周长特征参数由于方法不同而结果不一样,因此最后得出的等效粒径存在误差。

图8.47 粒径分布直方图
对玉米颗粒图像进行粒径特征参数提取,其结果如图8.47所示。从结果可以看出颗粒的面积大小分布在950左右。
(4)长轴和宽轴特征参数提取
物体的长轴与宽轴是反映物体外形的重要参数之一。在计算过程中,由于物体的不规则性,无法定义其长宽,可以通过外接矩形的长度与宽度来间接地表示物体的长宽。外接矩形是完全包围住物体的矩形。只要计算出最左与最右边界点的x 轴坐标之差就可以算出外界矩形的长度,最上与最下边界点的y 轴坐标之差就可以算出外界矩形的宽度。对于图像中任意放置的物体,由于其摆放方向的原因,其外接矩形可能并不是最佳的,即不是最小外接矩形。可以将物体沿主轴在90°角范围里旋转,每旋转一次记录一次外接矩形的长度和宽度,当矩形面积最小时则判定为最佳外接矩形,计算出的长度和宽度最接近物体本身长宽值。
对玉米颗粒图像进行长轴特征参数提取,其结果如图8.48所示。从结果可以看出颗粒的长轴大小分布在39左右。颗粒的宽轴特征参数提取方法也相类似。

图8.48 长轴分布直方图
2.颗粒形状特征参数提取
(1)偏心率特征参数提取
偏心率是物体外接椭圆两焦点间的距离与长轴长度的比值,它是反映物体紧凑性(目标区域关于中心点的对称程度)的一个重要参数。由于直接计算偏心率比较复杂,在实际应用中通常是通过简化的方法来计算偏心率,如直接计算目标区域的长轴p 与短轴q的比值作为近似的偏心率:


图8.49 偏心率分布直方图
计算出的偏心率越大,物体外接椭圆越扁,偏心率越小则物体的形状越接近于圆。该方法求出的偏心率不受目标物体的旋转、平移等变换的影响,但是由于是近似计算的原因,结果不是非常精确。
对玉米颗粒图像进行偏心率特征参数提取,其结果如图8.49所示。从结果可以看出颗粒的偏心率主要分布在0.5左右。
(2)形状因子特征参数提取
形状因子是反映物体与圆形接近程度的一个特征参数,圆形的形状因子最小为1,其他形状的物体形状因子都大于1。当目标物体与圆形相差越大时形状因子也越大。利用目标区域的周长P 和面积A 可以定义形状因子F,公式如下:

形状因子对物体的旋转、平移等操作不敏感,但是由于在数字图像处理过程中,提取周长与面积的特征参数只是反映物体特征的一个数字化的度量,与实际值成一定的比例,但是也存在着差异。如图8.50给出了不同形状的物体却拥有相同的周长与面积,其计算的形状因子不能准确地反映物体的形状。因此为了更好地识别目标物体,对物体进行分类,最好是结合物体的几种特征参数一起进行判断。

图8.50 形状因子相同的不同形状(A=5,P=12,F1=F2=F3)
对玉米颗粒图像进行偏心率特征参数提取,其结果如图8.51所示。从结果可以看出颗粒的形状因子主要分布在1.4左右。

图8.51 形状因子分布直方图
(3)颜色特征参数的提取
颗粒物体的颜色特征是区分不同颗粒的重要信息,它不受物体的形状与大小的影响。颜色信息可以分为彩色信息和灰度信息。其中彩色信息可以用RGB颜色空间三个分量来表示,而灰度信息则由像素点的灰色程度来表示,两者的取值范围都为[0,255]。在图像中由于颗粒由不同像素组成,求某个颗粒的颜色信息需要统计该颗粒区域中每个像素点的颜色信息。如利用区域的平均灰度值来表示该颗粒的灰度信息,公式为:
![]()
式中Sn为标号图像中区域n中像素点的集合,h(i,j)为原始图像中像素点的颜色信息,nums(n)为区域n 的像素点的总个数。利用上述公式计算图中的玉米颗粒的R分量上的颜色信息,结果如图8.52所示。从结果中可以看出玉米颗粒在R分量上的灰度值主要集中在175附近,由于图像中只有玉米颗粒,各个物体的颜色信息相似,分布在[140,200]范围内。
随着计算机技术不断提高,基于颗粒图像处理的自动化处理技术在不同领域的应用越来越多。为了解决粘连颗粒图像分割与分析过程中的一些问题,本节以粘连玉米为实验对象,对整个颗粒图像处理过程做了深入的研究,总结出如下结论:
(1)提出了一种新的图像预处理的方法。将彩色图像转化为灰度图,除去图像中不需要的彩色颜色信息。利用中值滤波算法对图像进行平滑,该算法除去了图像中各类噪声的干扰,提高了图像的质量。再利用最大类间方差法选取合适的阈值,将灰度图像转化为二值图像,使得颗粒对象从背景中分割出来,除去了颗粒的细节纹理信息。同时设计了一种数学形态学滤波器,滤去了图像中颗粒不规则的边缘,使得互相接触部分减少,填充颗粒中的孔洞。该滤波器具有处理速度快的特点,在很大程度上优化了图像。

图8.52 颗粒灰度值分布直方图
(2)在分割互相粘连颗粒的过程中,针对传统分水岭分割算法中经常出现过分割现象,提出了一种改进的分水岭算法。该算法通过距离变换将二值图像转换为新的灰度图,消除了原始灰度图像中大量存在的“伪”局部极小值点,对灰度图进行分水岭分割算法,使得互相粘连的颗粒很好地分割开来,在后期对少量过分割产生的小面积区域,采用面积阈值法滤去面积小于阈值的区域,使得分割的效果更好。改进分水岭算法可以适用于不同领域的粘连颗粒图像,具有良好的适应性与鲁棒性,处理速度较快。
(3)提出了两种颗粒自动计数的方法,一种是利用数学形态学腐蚀运算对图像进行处理,再根据面积分布直方图判断不同面积区域含有的颗粒数;另一种是对改进分水岭算法分割后的单独颗粒进行标号,最大标号数作为颗粒总数。另外,提出了利用颗粒的大小、形状、颜色等特征参数来描绘颗粒的特征,提取出各项特征参数的值。该方法得到的特征参数值误差较小、效率高,为颗粒的识别与归类打下了良好的基础。