CN101201938A - 快速左右边界点配对的填充算法 - Google Patents
快速左右边界点配对的填充算法 Download PDFInfo
- Publication number
- CN101201938A CN101201938A CNA2006101195515A CN200610119551A CN101201938A CN 101201938 A CN101201938 A CN 101201938A CN A2006101195515 A CNA2006101195515 A CN A2006101195515A CN 200610119551 A CN200610119551 A CN 200610119551A CN 101201938 A CN101201938 A CN 101201938A
- Authority
- CN
- China
- Prior art keywords
- end point
- boundary
- left end
- point
- zone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
快速左右边界点配对的填充算法属于计算机图像处理技术领域。主要解决已知Freeman链编码的图像填充问题。其特点是:根据区域边界的Freeman链编码特征,将边界点分为左端点、右端点及尖点三大类。算法接近最小时间复杂度,即填充区域面积加周长,同时不需要附加内存,和辅助标记颜色。其技术方案为:搜索边界,快速确定右端点位置,并直接在图像上为其着色。再次搜索边界,寻找左端点像素,并对其以及其右边的像素依次着色,直到遇到已经着色的右端点为止。所有链码处理完成后,填充即告完成本算法适用于数字图像处理领域单连通或多连通图像的显示,获得两个物体中的共同区域,获得两个区域的关系,或者存储二值图像。
Description
技术领域
本发明涉及一种图像区域的边界点配对填充算法,属于计算机图像处理技术领域。
背景技术
填充是计算机图形与数字图像处理领域的一个基本算法。在计算机图形学中,如果要在光栅扫描显示器和点阵输出设备上表示一个区域,除了显示边界以外,常常需要使用填充来为区域着色。在三维真实感显示中,空间物体也常投影在平面上生成平面区域,为此要在区域添上一定的灰度或色彩以便更清楚的表示这个区域。数字图像处理也经常使用填充方法来研究图像的某些特性,例如,求出给定区域的面积或得到两个物体的相交区域以及存储二值图像等等。目前,随着计算机硬件的快速发展,寻求一种高效的图像填充算法变得越来越重要。
传统的填充算法可以被分成两类:一类是奇偶性检测填充算法,另一类是种子填充算法。奇偶性检测填充算法,基于扫描线与图像边界点间交点的奇偶配对,用扫描线在奇偶交点之间快速填充。但是由于存在将水平扫描线与图像区域边界交点个数定义为一个或两个的问题面使算法的复杂度大大增加,使该算法的优点无法充分显示出来。种子填充算法,对于任意区域,可以将填充限制在区域范围内,处理的像素点数较少。但是往往自动寻找种子点比较困难,影响算法效率。
在数字图像处理领域中,边界通常由链编码表示,目前研究最详细运用得最广泛的是Freeman链编码,它用0到7八个数字分别表示如图1所示的八种方向,并以记录边界点的方向变化描述区域边界。Freeman提出Freeman链编码以后,首先由Pavlidis解决了已知Freeman链编码的填充算法。从那以后,所有的研究都是基于Freeman链编码的填充算法。奇偶性检测填充通过分析边界点链码特征,将边界点分成孤立点、标记点和忽略点等不同类型。为了避免交点个数的计算错误,算法普遍采用各类边界点单独存储处理的方式,致使算法实现过程中需要申请足够多的内存空间来完成各类边界点的存储工作,或者需要对区域外的像素点进行检测,极大的影响了算法效率。基于种子填充的算法普遍存在的问题是快速的寻找有效的种子点比较困难,且对种子点的标记通常需要多种颜色,因此对于某些图像,例如二值图像,需要辅助存储空间。
发明内容
本发明的目的是针对Freeman链编码,将种子填充算法与奇偶性检测算法的优点相融合,给出一种接近最小时间复杂度,即填充区域面积加周长,同时不需要附加内存,和辅助标记颜色的快速填充算法。
本发明的技术方案是这样来实现的:首先规定区域外边界的链编码沿逆时针方向给出,内边界链编码沿顺时针方向给出。具体步骤为:
(1)搜索图像的每条边界(包括区域内边界与外边界),通过分析Freeman链编码特征,将区域边界右端点着色。
(2)再次搜索图像的每条边界,依次寻找区域边界左端点。如果判断出的左端点已经着色,则继续寻找下一个左端点。如果此点没有着色,则对其及其右侧的像素点依次着色,直到遇到已经着色的右端点为止。所有边界处理完成后,整个填充过程结束。
以上步骤中,根据Freeman链编码可以直接由图2得出区域边界的左右端点。因为每个边界像素点涉及两个Freeman链编码,分别为到达此点的码Ci与离开此点的码Ci+1(取值范围0到7),所以我们用图2所示的表格形式反映任意边界点的编码情况。表格的行数表示到达某点时的编码值Ci,列数表示离开此点时的编码值Ci+1。本算法将边界点分成三大类:左端点、右端点和尖点。通过分析我们得到图2所示的边界点标记准则,其中L表示左端点,R表示右端点:LR表示尖点——即为左端点又为右端点的双重点。“×”表示边界中无需标记的点。“-”表示边界点中不存在的链码组合。处理多连通区域时,区域的内边界链码同样可以根据图2进行标记。例如,图3是根据图2得出的多连通区域标记结果。
经验证,用上述方法标记出的区域左右端点满足奇偶性原理,即在图像的每一行中,左端点与右端点个数相等,且交替出现。因此在填充时,只要用扫描线填充区域边界左右端点之间的线段,即可完成整个填充过程。
本算法克服了传统的奇偶性检测算法可能造成的配对困难,配对耗时间耗内存的局面,同时也没有寻找种子点耗时的弊端。整个过程不需要附加内存,和辅助标记颜色,且接近最小的时间复杂度。表1列出了文献中出现过的几种填充算法的时间复杂度。其中n1表示区域外边界,n2表示区域内边界,W、H为区域最小外接矩形的长与宽,Area1为填充区域面积,Area2为区域中孔洞的面积。表1最后一行为我们算法的时间复杂度,很明显比以上算法效率更高。并且我们的算法在内存空间足够大的前提下,稍做改进将无限接近最小时间复杂度(n1+n2)+Area1。实现方法如下:算法第一步中,不仅为区域边界右端点着色,而且将判断出的左端点位置用适当的内存空间加以存储。这样在第二步就可直接从内存中确定左端点的位置并进行区域填充,省去了第二次的边界搜索。改进后的算法复杂度降低为(n1+n2)+Area1+O(n1+n2),其中O(n1+n2)是申请内存空间及存储左端点的耗时。以牺牲内存空间为代价,改进后的算法运算速度将进一步提高。
表1 算法时间复杂度比较
算法名称 | 时间复杂度 |
Marius | W×H+O(k′×n1) |
CAI | W×H+O(n1+n2) |
Tang | (1+α)W×H+Area1+O(k×n)α>0 |
Chang | (n1+n2)+Area1+O((n1+n2)log(n1+n2)) |
Ren | (5n1+5n2)+Area1+2Area2 |
New | (2n1+2n2)+Area1 |
附图说明
图1Freeman链编码中定义的方向
图2由freeman链编码得出的边界点标记准则
图3基于Freeman链编码的标记结果
图4外边界右端点标记
图5内外边界右端点标记
图6外边界左端点填充后的结果
具体实施方式
以图3所示图像为例,灰色表示要填充的区域,白色表示背景。区域外边界Freemam链编码的起始点位于区域左上方第一个像素点处,设坐标(x0,y0)。内边界链码起始点位于区域内边界左上方第一个像素点处,设坐标(x′0,y′0)。编码中定义的方向如图1所示。外边界Freeman链编码为:(x0,y0)66666666070100007231013444310114444544344。内边界Freeman链编码为:(x′0,y′0)00007660765454444431003214431。处理步骤如下:
(1)输入外边界链码(x0,y0)66666666070100007231013444310114444544344。根据图2为区域外边界右端点添上前景色(灰色)。左端点(图4中的L点)虽然可以同时判断出来,但此时不做处理。外边界的右端点填充结果如图4所示。
(2)输入内边界链码(x′0,y′0)00007660765454444431003214431。根据图2为区域内边界右端点也添上前景色(灰色)。处理结果如图5所示
(3)输入外边界链码(x0,y0)66666666070100007231013444310114444544344。根据图2判断区域外边界左端点位置。如果此左端点已经添上前景色,此段填充结束,继续寻找下一左端点位置。否则从此左端点开始依次向右进行填充,直到遇到已经着色的右端点为止。当外边界链码处理完成后,填充结果如图6所示
(4)输入内边界链码(x′0,y′0)00007660765454444431003214431。根据图2判断出区域内边界左端点位置。如果此左端点已经添上前景色,此段填充结束,继续寻找下---左端点位置。否则从此左端点开始依次向右进行填充,直到遇到已经着色的右端点为止。整条链码处理完成后,图像的填充过程结束。填充结果如图3所示。
本算法无需区分边界内外,所以以上步骤中,(1)(2)步先后顺序可交换,(3)(4)步先后顺序也可交换。
Claims (2)
1.快速左右边界点配对的填充算法,其特征在于:通过对图像文件的直接处理,运用单色实现区域的快速标记与填充,处理任何图像都无需辅助存储空间,且整个过程限制在所要填充的区域内部,避免了对孔洞的重复扫描,其具体步骤为:
(1)搜索图像的每条边界(包括区域内边界与外边界),通过分析Freeman链编码特征,将区域各边界右端点着色。
(2)再次搜索图像的每条边界,依次寻找区域边界左端点。如果判断出的左端点已经着色,则继续寻找下一个左端点。如果此点没有着色,则对其及其右侧的像素点依次着色,直到遇到已经着色的右端点为止。所有边界处理完成后,整个填充过程结束。
2.如权利要求1所述的快速左右边界点配对的填充算法,其特征在于:通过分析Freeman链编码特征,将边界点分为区域边界左端点、区域边界右端点、区域边界尖点三大类,其中的尖点是二重点——既是左端点又是右端点,以此方式标记的边界点满足奇偶性原理,即在图像每一行中,左端点与右端点个数相等,且交替出现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101195515A CN101201938A (zh) | 2006-12-13 | 2006-12-13 | 快速左右边界点配对的填充算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101195515A CN101201938A (zh) | 2006-12-13 | 2006-12-13 | 快速左右边界点配对的填充算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101201938A true CN101201938A (zh) | 2008-06-18 |
Family
ID=39517091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101195515A Pending CN101201938A (zh) | 2006-12-13 | 2006-12-13 | 快速左右边界点配对的填充算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101201938A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826213A (zh) * | 2010-04-20 | 2010-09-08 | 杭州电子科技大学 | 一种基于链码描述的区域填充方法 |
CN101887582A (zh) * | 2010-06-03 | 2010-11-17 | 西北工业大学 | 基于差别累加值及三点链码差的曲线拐角点检测方法 |
CN109767479A (zh) * | 2018-12-13 | 2019-05-17 | 南京国电南自电网自动化有限公司 | 一种基于动态边界组序列的图元填充方法和系统 |
CN112686919A (zh) * | 2020-12-29 | 2021-04-20 | 上海闻泰信息技术有限公司 | 物体边界线确定方法、装置、电子设备及存储介质 |
CN112733826A (zh) * | 2020-12-28 | 2021-04-30 | 南京披云信息科技有限公司 | 图像处理方法及装置 |
-
2006
- 2006-12-13 CN CNA2006101195515A patent/CN101201938A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826213A (zh) * | 2010-04-20 | 2010-09-08 | 杭州电子科技大学 | 一种基于链码描述的区域填充方法 |
CN101887582A (zh) * | 2010-06-03 | 2010-11-17 | 西北工业大学 | 基于差别累加值及三点链码差的曲线拐角点检测方法 |
CN101887582B (zh) * | 2010-06-03 | 2011-12-14 | 西北工业大学 | 基于差别累加值及三点链码差的图像曲线拐角点检测方法 |
CN109767479A (zh) * | 2018-12-13 | 2019-05-17 | 南京国电南自电网自动化有限公司 | 一种基于动态边界组序列的图元填充方法和系统 |
CN112733826A (zh) * | 2020-12-28 | 2021-04-30 | 南京披云信息科技有限公司 | 图像处理方法及装置 |
CN112733826B (zh) * | 2020-12-28 | 2024-05-31 | 南京披云信息科技有限公司 | 图像处理方法及装置 |
CN112686919A (zh) * | 2020-12-29 | 2021-04-20 | 上海闻泰信息技术有限公司 | 物体边界线确定方法、装置、电子设备及存储介质 |
CN112686919B (zh) * | 2020-12-29 | 2022-10-21 | 上海闻泰信息技术有限公司 | 物体边界线确定方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10803338B2 (en) | Method and device for recognizing the character area in a image | |
KR950005231B1 (ko) | 도형 처리장치 | |
Ren et al. | Tracing boundary contours in a binary image | |
CN101919254B (zh) | 基于预测的图像处理 | |
CN101201938A (zh) | 快速左右边界点配对的填充算法 | |
CN101894370A (zh) | 具有形状参数自适应的甲骨文轮廓字形自动生成方法 | |
CN105868724B (zh) | 一种基于连通域的二维条码识别方法及系统 | |
CN104143096A (zh) | 基于地址事件表达的二值连通域标记方法 | |
CN105095822A (zh) | 一种汉信码特征图形检测方法及系统 | |
US6937765B2 (en) | Method for contour extraction for object representation | |
CN108052799A (zh) | 基于图像处理的多序列比对可视化的方法 | |
CN105046632B (zh) | 时空高效的二值图像二元逻辑运算方法 | |
CN115100185A (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN106097239A (zh) | 一种二维码水印加密并行化快速嵌入及提取方法 | |
CN101763510B (zh) | 交错线矢量化提取及图形识别方法 | |
JP5254250B2 (ja) | ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法 | |
CN112541370B (zh) | 一种基于fpga的qr码位置探测图形定位方法 | |
Roussillon et al. | Faithful polygonal representation of the convex and concave parts of a digital curve | |
CN101082980A (zh) | 一种新型的交点配对填充算法 | |
De Bock et al. | Fast and memory efficient 2-D connected components using linked lists of line segments | |
CN105528798A (zh) | 图片压缩方法及装置 | |
CN116012573A (zh) | 感兴趣区域快速提取方法 | |
CN109146766B (zh) | 对象选择方法及装置 | |
CN103530406A (zh) | 基于纹理内容的旋转图像搜索方法 | |
US8624909B2 (en) | Image processing system and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080618 |