一种快速准确的细化算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2002206208 基金项目:国家“九五”重中之重科技攻关资助项目(962B02203) 作者简介:吴丹(19802),女,江西南昌人,中国地质大学(武汉)信息工程学院硕士研究生,研究方向:GIS ,图像处理。
文章编号:100622475(2003)0120006202
一种快速准确的细化算法
吴 丹
(中国地质大学信息工程学院,湖北武汉 430074)
摘要:细化广泛应用于图像处理与模式识别。从细化得到的骨架不但保持了原图像的几何和拓扑特征,而且更重要的
是减少了图像的冗余。细化算法多种多样,本文介绍了一种简单但却具备其它算法优势的细化算法。本算法仅使用几条简单的规则来决定是否删除像素点,以达到细化的目的。经计算机模拟该算法对汉字的处理过程,证实其快速且易于实现。
关键词:细化;骨架;相邻像素点;0~1模式数中图分类号:TP391 文献标识码:A
A F ast and Accurate Thinning Algorithm
W U Dan
(In formation Engineering Faculty ,China University of G eosciences ,Wuhan 430074,China )
Abstract :Thinning is widely used in image processing and pattern recognition.The skeleton obtained from thinning not only maintains the geometric and topologic features of the original image ,but als o substantially reduces its redundancy.There are all kinds of thinning alg orithms.This paper introduces a thinning alg orithm ,which is simple yet can maintain the same advantages of other key alg orithms.This alg orithm only uses a very small set of rules of criteria for deleting pixels ,it is faster and easier to implement.K eyw ords :thinning ;skeleton ;neighbor pixel ;0~1pattern number
0 引 言
细化,也被称之为骨架化,是广泛应用于图像处理与模式识别的一个重要的图像预处理过程。寻找图像的细化结构是图像处理的一个基本问题,对不同形状的图像目标,如何快速地获得其非畸变骨架,是进行图像目标的形状分析、信息压缩、特征提取、模式识别等应用的前提。例如在文字识别、地质构造识别、工业零件形状识别或理解中,先要对被处理的图像做细化处理,这样有助于突出形状特点并减少冗余的信息量。
细化算法许许多多,目前依据是否使用迭代运算将其分成两类:第一类是非迭代算法,一次即产生骨架,如基于距离变换的方法、游程长度编码细化等。第二类是迭代算法,即重复删除图像边缘满足一定条件的像素,最终得到单像素宽骨架。这类方法依据其检查像素的方法又可再分成串行算法和并行算法,在串行算法中,是否删除像素在每次迭代的执行中是顺序固定的,它不仅仅取决于前次迭代的结果,也取决于本次迭代中已处理过像素的分布情况,而在并行算法中,像素的删除与否与像素在图像中的顺序无关,仅取决于前次迭代的结果。在经典图像细化算法发
展的同时,起源于图像集合运算的形态学细化算法也相应得到发展。
1 骨架的定义
一个图像的骨架,是指图像目标中央的骨骼部分,正如动物的骨骼决定了动物的外形一样,图像的骨架描述了图像目标几何及拓扑性质等重要特征。
骨架有以下几种定义方法:
定义1:骨架可以用中轴来表示。设想在t =0时刻,将目标边界各处同时点燃,火的前沿以匀速向目标内部蔓延,当前沿相交时火焰熄灭,火焰熄灭点的集合就构成了中轴(即骨架)。
定义2:在欧氏二值图像的内部任意给定一点,以该点为圆心存在一个最大的圆盘,其整个盘体都在图像的内部,且至少有两点与目标边界相切,则该点便是骨架上的点,所有最大圆盘的圆心构成了图像的骨架(中轴)。
定义3:影响区骨架(SKIZ )。
2 像素点特征
像素点是构成图像的基本单元,也是对图像实施各种运算的基本操作单元。图像目标的形状特征在
2003年第1期
计 算 机 与 现 代 化
J IS UAN J I Y U XI ANDAIH UA
总第89期
很大程度上要取决于其所包含的各像素点的特征以及像素点间的关系。像素点的特征可由图像值和相邻像素来描述。2.1 图像值
在二值图像上,任一像素(i ,j )的图像值有以下两种可能的取值:
{
P (i ,j )=0P (i ,j )=1
通常情况下,图像值为0表示该像素为背景点,图像值为1表示该像素为前景点。2.2 非零相邻像素数
图像上各像素均有如图1所示的八个相邻像素,各相邻像素及其自身在x 和y 方向上的坐标增量分别为:
bi[]={0,0,21,21,21,0,1,1,1}bj[]={0,21,21,0,1,1,1,0,21}则像素(i ,j )的非零像素数为:
u (i ,j )=∑8
k =1
P (i +bi[k ],j +bj[k ])
P2
P (i -1,j -1)
P1P (i ,j -1)
P8
P (i +1,j -1)
P3P (i 21,j )P0P (i ,j )P7P (i +1,j )
P4
P (i -1,j +1)P5P (i ,j +1)P6
P (i +1,j +1)
图1 相邻像素及其编号
2.3 相邻像素0~1模式数
相邻像素0~1模式数是指某像素的相邻像素中沿规定方向(不妨设为逆时针方向)运行一周其相邻像素的图像值从0变为1的次数。求取相邻像素0~1模式数v (i ,j )的算法如下:
v =0;
for (k =0;k <9;k ++)
{a =P (i +bi[k %8],j +bj[k %8]);if (k ==0)
a0=a ;if (a !=a0) {v ++;a0=a ;}}
v =v Π2;
2.4 边界点
图像区域的边界点在二值图像的分析和处理中有着特别重要的作用,它是图像区域与背景的分界点。边界点应满足如下两个条件:
{P (i ,j )=1P (i +1,j )=0或
{
P (i ,j )=1;
P (i -1,j )=0或{P (i ,j
)=1P (i ,j +1)=0或
{
P (i ,j )=1;P (i ,j -1)=0
3 算法
对于连通目标来说,细化后最终所剩的骨架应满
足以下几个条件:
(1)不改变图像中各分量的拓扑邻接关系;(2)保证骨架连通性及单像素宽度;(3)基于“棋盘”或“街区”距离测度;
(4)基于(3)的距离关系逼近图像的中轴线。简而言之,细化就是从原来的图中去掉一些点,但仍要保持原来的形状。实际上,是保持原图的骨架。那么怎样判断一个点是否能去掉呢?显然,要根据它的八个相邻点的情况来判断,下面我们举几个例子。
图2 根据某点的八个相邻点的情况来判断该点是否能删除
如图2所示,①不能删,因为它是个内部点,我们
要求的是骨架,如果连内部点也删了,骨架也会被掏空的;②不能删,和①是同样的道理;③不能删;④不能删,因为删掉后,原来相连的部分断开了;⑤不能删,这样的点是直线的相交点,删掉后会改变原图像拓扑结构;⑥不能删,因为它是直线的端点,如果这样的点删了,那么最后整个直线也被删了,剩不下什么;⑦不能删,因为孤立点的骨架就是它自身。
总结一下,为保证细化图像不改变原图像的几何和拓扑特征,满足以上所列骨架的条件,具备以下特征的前景像素点不删除:
(1)填充区域内部点 u (i ,j )Ε7;(2)孤立点 u (i ,j )=0;(3)直线端点 u (i ,j )=1 并且 v (i ,j )=1;(4)直线中间点 u (i ,j )Ε2 并且 v (i ,j )Ε2;(5)填充区域边界点 u (i ,j )Ε2 并且 u (i ,j )Φ8 并且 v (i ,j )=1;
(6)填充区域边界交叉点 u (i ,j )>2 并且 v (i ,j )=2。
因此具体算法如下:一幅图像中的一个333区域,如果像素点q =1,下面四个条件如果同时满足,则删除q 。
(1)2Φu (i ,j )Φ6;(2)v (i ,j )=1;(3)v (i -1,j )≠1或者P13P33P7=0;(4)v (i ,j -1)≠1或者P13P33P5=0。
对图像中的每一个点重复这一步骤,直到所有的点都不可删除为止。即得到目标图像细化骨架。
4 实验结果和结论
利用计算机编程实现该算法,对一幅由不同字体组成的汉字图像进行细化处理。如图3所示,(a )为原图像,(b )为细化后图像。
(下转第10页)
7
2003年第1期 吴丹:一种快速准确的细化算法