基于图像处理的目标面计算方法_图像处理目标检测

聂秀珍 山西轻工职业技术学院 030013

【文章摘要】

在数字图像处理领域,有一种描述方式来表示目标的边界—链码。它可以借助于直线进行图像处理,这些直线具有长度和方向。本文利用多种方法对目标的面积进行计算之后发现, Freeman 链码矢量方法原理简单,相比之前的链码面积计算方法,更容易实现,而且计算的结果也比较准确。因此,利用图像测量技术测量目标表面积具有一定的优势。

【关键词】

Freeman 链码; 面积;图像处理

0 概述

Freeman 链码通过一定长度和方向的直线表示目标轮廓的边界,这样就可以求得目标的周长、面积,以及从某个方向上来看它的宽度。在图像处理中,我们可通过Freeman 链码来求得x 轴的二阶矩和一阶矩。链中角点和直线段、形心的位置以及链与直线的距离仍然可以表示。

1 原有的链码面积计算方法

本文是按照数字图像采集的方式来表示图像的,即通过矩形栅格来表示图像。

1.1 基于Freeman4- 链码的面积计算

Freeman4- 链码是用0 码值所在的y 坐标之和减去2 码值所在的y 坐标之和, 以此来表示轮廓的水平和垂直两组成部分。

该方法的缺点:

(1) Freeman4- 链码来表示目标的话, 可能会把一个目标化分成多个目标。所以, Freeman4- 链码计算目标面积是不合适的。

(2) 区域面积如果被链码边界包围的话,可以以轮廓链码的形式来表示,但是区域目标边界部分的大小却被忽略了。

1.2 基于Freeman8- 链码的面积计算

如果是采用Freeman8- 链码对目标的面积进行计算的话,可以通过对轮廓像素点的x 轴积分,这样就可以算出区域目标的面积。

该方法的缺点:Freeman8- 链码将区域目标的边界面积以轮廓链码的形式表达计算,但是如果区域目标的边界部分的大小却容易被忽略了。

1.3 基于三角形的面积计算

基于三角形的面积计算的原理是通过将多边形的每一个顶点和区域目标的内部任意的一点连起来,这样就构成了各个三角形,将这些三角形的全部面积求和,即为三角形的目标面积计算。

该方法的缺点:链码将区域目标的边界面积以轮廓链码的形式表达计算,但是如果区域目标的边界部分的大小却容易被忽略了。

1.4 基于Freeman8- 链码的Tang 计算方法

目标面积Tang 计算方法是基于Green 的理论—离散化,该方法是指在一个区域目标内,如果存在很多条水平线,将水平线和x 方向的尖点相连,这样组成了目标的面积。

由于Tang 的离散计算方法是基于Freeman8- 链码,它计算的目标面积还包括了区域目标中边界的大小,所以在计算小目标和大目标时都比较精确。

2 基于Freeman 链码进行的矢量分析方法

2.1 对目标的边界提取

本文是对目标的边界进行分析和研究的,如图1 所示。

目标边界的跟踪起始点定为左下方的元素起点,这是按照区域目标的边界跟踪的一般性原则,这样,我们就可以定义左下角的坐标 (0,0) 为跟踪目标的起始点, x 坐标的增大方向是向右, y 坐标的增大的方向是向上的方向。我们通过图像分割得到目标边界,边界提取和跟踪可以将边界上的每一个像素点的坐标值求得。即可以得出pixl[i].x、pixl[i].y(i 表示第个像素点,i=0ΛN-1)。

2.2 目标的边界点进行矢量分析

在数字图像中,以Freeman 链码来表示目标的相邻点的矢量关系的话,一般是采用8 连通折线的方式,即:依次通过表示0°、45°、90°、135°、180°、225°、270°、315°的八个方向的8 个方向符0、1、2、3、4、5、6、7 来表示边界上两个相邻像素点的8 个可能的相连方向。

2.3 对边界的像素点进行标注

Freeman 链码计算方法是进行前矢量标注和后矢量标注,每个像素

点进行两次标注。其中前矢量标注定义为目标边界的前一像素点和边界上该像素点的相对位置关系,后矢量标注是用来表示边界上的本像素点和目标边界上的下一像素点的相对位置关系。

边界上的像素点通过Freeman 链码进行标注的话,标注原则如下:

对图1 的前矢量标注可简化为由下列关系得到( 式1):

对图1 的后矢量标注表示为(式2):

首先将前矢量标注和与后矢量标注对应相加, 然后按照一定的规则处理得到最终矢量的值,如图2 所示。

图2 最终矢量标注

Fig.2 The last vector’s label

2.4 面积计算

根据上述讨论, 最终的目标面积可以表示为:

  

其中为S[i] 为1 的个数。

计算得A=105, 与图例所显示的面积完全一样。原理是在相同的y 值条件下, 利用较大的x 值减去较小的x 值, 再进行累加, 就可得到面积值。能够快速准确的对目标的边界像素进行标注的话,该方法就比较简单方便。要体现准确的话,就必须将边界的每一个凹凸点和拐点处理准确。

该方法的缺点:因为目标的边界上的每一个单像素宽部分的像素点,都进行了多次的标注,所以边界上的单像素宽部分的像素点的轮廓就不能正确标注。所以本文的方法不能计算带有单线宽组成的目标。

3 结束语

基于Freeman 链码的矢量方法在计算多连通区域且存在空洞的目标面积时,与计算单通区域面积的原理基本类似,与单通区域面积计算公式一样的计算方法即可求得面积,但必须将空洞的边界像素标注与外界标注方法相反。本文的Freeman 链码矢量分析目标的面积计算方法结果相对准确,实现起来也比较容易,而且计算的工作量也小。在对血液细胞和尿液中的成千上万的细胞进行面积计算时,也可以采用本文的方法。结果表明Freeman 链码的矢量方法简单准确,普遍适应于各种形状的封闭区域。

式1

式2032