机器视觉技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

6.2 二值图像的特征参数

所谓图像的特征,就是图像中包括具有何种特征的物体。如果想从图6.1中提取香蕉,该怎么办?对于计算机来说,它并不知道人们讲的香蕉为何物。人们只能通过所要提取物体的特征来指示计算机,例如,香蕉是细长的物体。也就是说,必须告诉计算机图像中物体的大小、形状等特征,指出诸如大的东西、圆的东西、有棱角的东西等。当然,这种指示依靠的是描述物体形状特征(shape representation and description)的参数。

图6.1 原始图像

以下,说明几个有代表性的特征参数及计算方法。表6.1列出了几个图形以及相应的参数。

表6.1 图形及其特征

[面积](area)

计算物体(或区域)中包含的像素数。

[周长](perimeter)

物体(或区域)轮廓线的周长是指轮廓线上像素间距离之和。像素间距离有图6.2(a)和(b)两种情况。图6.2(a)表示并列的像素,当然,并列方式可以是上、下、左、右4个方向,这种并列像素间的距离是1个像素。图6.2(b)表示的是倾斜方向连接的像素,倾斜方向也有左上角、左下角、右上角、右下角4个方向,这种倾斜方向像素间的距离是像素。在进行周长测量时,需要根据像素间的连接方式,分别计算距离。图6.2(c)是一个周长的测量实例。

图6.2 像素间的距离(像素)

如图6.3所示,提取轮廓线需要按以下步骤对轮廓线进行追踪。

图6.3 轮廓线的追踪

①扫描图像,顺序调查图像上各个像素的值,寻找没有扫描标志a0的边界点。

②如果a0周围全为黑像素(0),说明a0是个孤立点,停止追踪。

③否则,按图6.3的顺序寻找下一个边界点。用同样的方法,追踪每一个边界点。

④到了下一个交界点a0,证明已经围绕物体一周,终止扫描。

[圆形度](compactness)

圆形度是基于面积和周长而计算物体(或区域)的形状复杂程度的特征量。例如,可以考察一下圆和五角星。如果五角星的面积和圆的面积相等,那么它的周长一定比圆长。因此,可以考虑以下参数:

   (6.1)   

e就是圆形度。对于半径为r的圆来说,面积等于πr2,周长等于2πr,所以圆形度e等于1。由表6.1可以看出,形状越接近于圆,e越大,最大为1;形状越复杂e越小,e的值在0和1之间。

[重心](center of gravity或centroid)

重心就是求物体(或区域)中像素坐标的平均值。例如,某白色像素的坐标为(xiyi)(i=0,1,2,…,n-1),其重心坐标(x0y0)可由下式求得:

   (6.2)   

图6.4 图6.1的二值图像

除了上面的参数以外,还有长度和宽度(length and breadth)、欧拉数(Euler’s number)以及可查看物体的长度方向的矩(moment)等许多特征参数,这里不再一一介绍。

利用上述参数,好像能把香蕉与其他水果区别开来。香蕉是那些水果中圆形度最小的。不过,首先需要把所有的东西从背景中提取出来,这可以利用二值化处理提取明亮部分来得到。图6.4是图6.1的图像经过二值化处理(阈值为40以上),再通过2次中值滤波去噪声后的图像。

到此为止还不够,还必须将每一个物体区分开来。为了区分每个物体,必须调查像素是否连接在一起,这样的处理称为区域标记(labeling)。