【集萃网观察】在日常生活中,人们经常需要对一些事物图像进行数字化处理,数字化的图像有位图和矢量图形两种存储和描述方式。
位图认为象素是图像的基本构成单位,位图文件记录了每个象素的颜色,将图像各个象素按照文件中所记录的颜色显示出来便得到了一幅完整的图像。位图通常包括图像长度和宽度、图像位深度和调色板等属性。图像的长度和宽度决定图像中的象素数;如果在一幅位图中表示一个象素需要用n位,那么就称该位图的位深度位n,而且该位图的颜色数位2”。
位图的优点是处理简单直观,可以直接用于多种输出设备。不足之处是:图像数据量大;图像中只存储了象素信息,无法直接得到图像中各个图形的信息。
矢量图形主要通过几何图形元素(如圆和线)描述和记录物体,并根据图形信息绘制图像。矢量图形的关键是如何通过计算机用命令及数学公式来描述物体。
相比位图,矢量图形具有以下特点:所需存储量一般较位图小;存储的是图像的几何特征信息,因而数据结构相对复杂;对图形进行变换不失真;对图形进行局部修改非常方便。
对位图进行自动矢量化,已经成为图像矢量化研究的主流方向。图像矢量化的方法可以大致分为两类:基于细化的矢量化方法和和基于轮廓跟踪的矢量化方法。前者基于细化算法提取出图像的骨架来描述图像;后者将图像看成是由颜色区域组成,通过对图像进行轮廓提取与拟和达到矢量化的目的。
图像矢量化的过程一般分为预处理、细化/轮廓化、图元分割和图元识别四部分。预处理的目的是通过消噪、形态学运算等改善输入图像的质量。细化或轮廓化是把多线宽的原始图像处理成单线宽的轮廓或骨架图像,并通过跟踪矢量化用折线段逼近方式表示。图元的分割目的在于根据曲率、连通性及某些宏观知识,将一些嵌套的复杂图形分割成一个个简单的图形,从而有利于后续识别。而图元识别的任务就是判别每个简单图形的几何图形,并结合其相对位置、尺度等关系,进行综合判别。
细化是简化图像的一种常用方法,其结果是能表征原始图形特征的骨架,为了进一步提高图像处理的效果,更加有利于矢量化工作,在图像细化前需要进行图像的预处理,图像预处理包括图像去噪、图像分割等工作。
图像去噪提供的方法有中值滤波、高斯滤波和自适用滤波等方法。图像去噪的目的是为了去掉噪声污染,取得良好的平滑效果。图形分割是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程,这里的特性可以是灰度、颜色、纹理等,目标可以对应单个区域,也可以多个区域。图像分割是由图像处理上升到图像分析的关键步骤,也是一种基本的计算机视觉技术。图像二值化是最常见的图像分割技术,它关心的特性是灰度值,目标是多个区域,这项技术在模式识别、图像分析中得到广泛应用。图像的二值化的关键是阀值的选取。这项技术目前已是图像处理领域中比较独立的分支。
2图像细化
线图形的细化是图像矢量化处理的关键,细化的结果必须做到:
(1)保证细化后曲线的连通性,细化结果是原曲线的中心线;
(2)去除无关紧要的点;
(3)对那些所在位置很重要,而细化过程中往往又难以继续存在的点,采用变通的方法,即相邻的象素点相互替换;
(4)细化处理速度快,保留细线端点。
2.1基本概念
定义1如图1所示,与图像中任一象素P。相邻的8个象素成为P。的八领域,用Pi(1≤i≤8)来表示,其中Pj成为i一近邻,为了讨论方便,假设在二值图像中,用0表示背景,1表示目标象素。
定义2用A和B标记的象素群中,如果分别至少有一个象素为非零,且P。:1,则P。是多重象素。多重象素决定目标的连通性。联结数就是八领域中相互分离的联结成分的个数。目标象素P。的联结数可表示为
N。=∑(N k-NkN k+1 N k+2),其中K∈S,S=(0,2,4,6),Pk=1时,Nk=0,否则Nk=1。
定义3设象素Po∈R(R为连通的目标象素),若P。的八领域中至少有一个象素Pi不属于R,则称P。为R的轮廓象素。如果轮廓象素不同时满足多重象素的条件,则这种轮廓象素不影响目标R的连通性,在细化中可删除之。
定义4宽度为1的线称处理模板为细线。线细化的最终结果就是把所有线目标都转变为细线,只有细线才便于线跟踪与矢量化。
定义5不断去除曲线上不影响连通性的轮廓象素的过程称为线细化,在这个过程中保留曲线的多重象素,直到目标曲线的所有点都是多重象素为止,即所有线目标都转化为细线。
2.2基本算法
根据各种不同的应用,国内外已经发表了许多细化算法,如Hilditch细化算法、OPTA细化算法、Hall细化算法、Rosenfeld细化算法、Zhang和Suen细化算法以及ZR细化算法等等。
本文采用的是由Hilditch提出的一种有效的二值图像线细化算法,即Hilditch细化算法,其主导思想是每次扫描图像上目标的轮廓象素,直到图像上不存在可删除的轮廓象素为止。
Hilditch的细线化法是用一个33的模板,如图l所示,沿着图像的扫描方向移动,将图像境界的象素逐次削除,最后得到线宽为1的条纹。
算法描述如下:
以上处理针对全部象素逐个进行。
来源: 施月玲(互联网)