快速左右边界点配对的填充算法的制作方法

文档序号:6561289阅读:303来源:国知局

专利名称::快速左右边界点配对的填充算法的制作方法快速左右边界点配对的填充算法技术糊本发明涉及一种鹏像区域的边界点配对填充算法.属于计算机困像处理
技术领域
-
背景技术
:填充是计算机图形与数宇困处理領域的一个基本算法*在计算机困形学中,如果要在^4f扫描显示器和点阵输出设备上表示一个区域.除了显^l界以外,常常瓣Vtt用填充来为区域着色.在三维真实感显示中,空间物体也常投影在平面上生成平面区械,为此耍在区域添上一定的灰度或色彩以便更滴楚的表示这个区域.数宇图像舰也经常使用填充方法来研究图像的X^性,例如,求出给定区域的面积或得到两传体的相交区域以及糊二僂困像等等.目前,隨着计im耕的賊发展,寻求一种高效的图像填充算法变得tt3MIS要.传统的填充算法可以被分成两类一类是奇偶性1充算法,另一类是种子填充算法。奇偶性检翻填充算法.基于扫描线与困fta界点间交点的奇ii配对.用扫楊线在奇fi交点之间快理填充.但是由于存在将水平扫描线与圉像区^a界交点^NR定义为一个或两个的H题面使算法的复杂度大大増加,使该算法的优点无法充分显示出来.种子填充算法,对于任憲区壤,可以将填充阪制在区域范围内,处理的像素点数较少。但是往往自动寻糊子点比较困难,彩响ir法效率-在数宇困像处理领域中,边界通常由链编码表示,目前研究最详细运用得JKT泛的是Fmmuui链编码,它用0到7八个数宇分别表示如图1所示的八种方向,并以iB4^界点的方向变化推述区壤边界,Fieeman提出Fnen幼链编码以后.首先由Pkvlidis解决了已知Fnemn鍵tt码的填充算法.从那以后,所有的研究都是基于Fneman链编码的填充IT法,奇^811填充》^分析边界点链《^#征,将边界点分成孤立点、标记点和忽略点等不同类型.为f蹇免交点个数的计ir错误,算法普《采用各类边界点单独^处理的方式,致使算法实%1!£程中瓣耍申请足多的内存空间来完成#边界点的存储工作.或者需要对区域外的像紫点进行检翻,极大的影响了tr法效率。基于种子填充的算&w遍存在的问理是快速的寻找有效的种f点比较困难,且对种子点的标iBil常霈要多种簾色.因此对于X^图像,例如二值图像,痛要辅助存储空间。
发明内容本发明的目的是针对Fneman链糖码,将种子填充算法与奇偶性检漏算法的优点相敏合,给出一种接近最小时间ft杂度,即填充区域面积加周长,同时不霱耍附加内存,和输助标记簾色的快速填充算法,本发明的技术方案J^样来实現的首先^区域外边界的链91£时针方向给出,内边界链编码沿頃时针方向给出.具体步il为(1)楦索面像的每条边釈包括区域内边羿与外边界),通过分析Freeman链编码特征,将区域边界右端点着色.(2〉再次搜索图像的每条边界,依次寻找区域边界左端点.如果判断出的左端点已经着色,则继续寻找下一个左壤点,如果此点没有色,脚对其及其右倒的像素点依次着色,直到遇到已经着色的右塌点为止.所有边界处理^A后,整个填充过程结朿.以上步驟中,根据Fieniaii链编码可以直接由图2得出区^i2l界的左右竭点.因为每个边界像素点涉及两个Freeman链编码,分别为到达此点的码C,与K开此点的码C^,(取值范围0到7),所以我们用图2所示的表格形式反映任^界点》码情况.表格的行数表示到达某点时的编码值C,.列数表示离汗此点时的编码值Cw,本算法将边羿点分成三大类左端点、右堠点和尖点,通过分析我们得到图2所示的边界点标记准则,其中L表示左壤点,R表示右Jg点LR表示尖点一即为左端点又为右境点的双重点-"X"表示边界中无需标记的点."一"表示边界点中不存在的链码组合.处理多连通区域时,区域的内边界链码同样可以根据粗2进行标记.拥如.图3是根掘粗2搏出的多连通区域标记结果。经脸证,用±%方法标记出的区域左右場点澳足奇性理,即在图像的每一行中,左端点与右端点个数相等,且交替出现*因此在填充时,只耍用扫ttft填充区壤边羿左右端点之间的线段,即可完成整个填充过程,本算法克IB了传统的4HPI性检M算法可艇造成的配对困难,配对耗时间耗内存的局面,同时也没有寻找种子点耗时的弊端.frtiste不痛要附加内存,和辅助^si^,且接近最小的时间复杂度.表i列出了文献中出aa的几种填充算法的时间fcfe度,其中n表示区域外边界.表示区域内边界,『,//为区域最小外親形的长与宽,Jwal为填充区域面积,爿raa2为区域中孔洞的面积。表1录后一行为我们算法的时间豕杂度,很明显比以上算&率更高.并且我们MJI法在内存空间足4r大的前提下,稍做改进将无限接近最小时间寞杂度(i^+iij)+i4rea1.实現^&如下算法第一步中,不仅为区域边界右端点着色,而且将判断出的左竭点位置用适当的内存空间加以存储.这:l^第二步就可直接从内存中确定左塘点的位置并进行区域填充,省去了第二次的边界接索,改进后的算法复杂度降低为(/1,+n,)+^real+0(n,+n",其中O(n,+)是申内存空间及存储左場点的耗时以牺牲内存空间为代价,改进后的算法运1T速度将进一步提高.表l算法时间复Jtlr度比铰<table>tableseeoriginaldocumentpage5</column></row><table>附困说明困lFnetnan链瞎码中定义的方向图2由fiMmm链糖码得出的边界点标记准則图3基于Fnemaii链tt码的标记结果图4外边界右壤点标记图5内外边界右埔点标记图6外边界左壤点填充后的结果糾实施方式以图3所示困像为拥,灰色表示耍填充nS域.白fi^示宥聚.区域外边界Fnemam链编码的起始点位于区域左上方第一个像衆点处.设坐标",y。).内边IHI码起始点位于区域内边界左上方第一个像K点处,设坐标0^,").编码中定义的方向如围1所示.外边界Freeman链编码为(x0,>^)66666666070100007231013444310114444344344。内边界Freemui链编码为(x:,乂)000076607dS4S44444310Q321443KAbS步骤如下(1)输入外边IMKi(X^yo)66666666070l000072310l3444310114444S44344,根据图2为区域外边界右權点添上新景色<灰色、左端点(粗4中的L点)虽然可以同时判断出来,但此时不tttt理。外边界的右端点填充结果如面4所示.(2)输入内边IMIfi(x;,乂)0000766076S4S44M43100321443K根据图2为区域内边界右端点也添上前景色(灰色>。处理结果如圉5所示(3)输入外边IM^(Xo,yo)66666666070100007231013444310n4444S44344,根据图2判断区城外边界左場点位置*如jmt左墙点已经添上糖景色,fts填充结束,继续寻找下-左端点位豕,否糊感战点开靴次向右进糊充,直到遇到已经着色的右端点为止,^外边界链码处理完成后,填充结果如图6所示")输入内边IMIW(x;,乂)000O76607654544444310(B214431,根据图2判断出区域内边界左袖点位置,如果此左褸点已经添上新景色,Jifcgt壤充接束,继续寻找下一左端点位置。否M从此左ii点开始依次向右进行填充,直到通到已经着色的右端点为止,整条链码处理完成后,图像的填充过程结束.填充结果如翻3所示-本算法无霈区分边界内外,所以以上步骤中,U)(2)步先后序可交換,(3)(4)步先后瓶序也可交換.权利要求1快速左右边界点配对的填充算法,其特征在于通过对图像文件的直接处理,运用单色实现区域的快速标记与填充,处理任何图像都无需辅助存储空间,且整个过程限制在所要填充的区域内部,避免了对孔洞的重复扫描,其具体步骤为(1)搜索图像的每条边界(包括区域内边界与外边界),通过分析Freeman链编码特征,将区域各边界右端点着色。(2)再次搜索图像的每条边界,依次寻找区域边界左端点。如果判断出的左端点已经着色,则继续寻找下一个左端点。如果此点没有着色,则对其及其右侧的像素点依次着色,直到遇到已经着色的右端点为止。所有边界处理完成后,整个填充过程结束。全文摘要快速左右边界点配对的填充算法属于计算机图像处理
技术领域
。主要解决已知Freeman链编码的图像填充问题。其特点是根据区域边界的Freeman链编码特征,将边界点分为左端点、右端点及尖点三大类。算法接近最小时间复杂度,即填充区域面积加周长,同时不需要附加内存,和辅助标记颜色。其技术方案为搜索边界,快速确定右端点位置,并直接在图像上为其着色。再次搜索边界,寻找左端点像素,并对其以及其右边的像素依次着色,直到遇到已经着色的右端点为止。所有链码处理完成后,填充即告完成本算法适用于数字图像处理领域单连通或多连通图像的显示,获得两个物体中的共同区域,获得两个区域的关系,或者存储二值图像。文档编号G06T11/40GK101201938SQ20061011955公开日2008年6月18日申请日期2006年12月13日优先权日2006年12月13日发明者于游洋,陈优广,顾国庆申请人:上海吉量软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1