CN112465930A - 扫描线种子填充方法 - Google Patents

扫描线种子填充方法 Download PDF

Info

Publication number
CN112465930A
CN112465930A CN202011251314.0A CN202011251314A CN112465930A CN 112465930 A CN112465930 A CN 112465930A CN 202011251314 A CN202011251314 A CN 202011251314A CN 112465930 A CN112465930 A CN 112465930A
Authority
CN
China
Prior art keywords
stack
point
scanning
filtering
area
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
Application number
CN202011251314.0A
Other languages
English (en)
Inventor
周力为
陈亚妹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yixin Network Technology Co ltd
Original Assignee
Shenzhen Yixin Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Yixin Network Technology Co ltd filed Critical Shenzhen Yixin Network Technology Co ltd
Priority to CN202011251314.0A priority Critical patent/CN112465930A/zh
Publication of CN112465930A publication Critical patent/CN112465930A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Filtration Of Liquid (AREA)

Abstract

本发明公开了扫描线种子填充方法,该填充方法的具体步骤为:初始化一个空栈,用于存放标记点和过滤区间;将一个起始点压入栈堆,遍历栈堆执行操作,直到栈堆为空;其中,执行操作的具体步骤为:栈顶出栈;沿扫描线以出栈点进行左右扫描,直到遇到边界为止;将上述扫描区间的左右边界记为新的判断区间;以当前扫描点的上下相邻区间,该点的过滤区间的这段区域进行判断,若为非边界和未填充点,则将新区间左边的可扫描点压入栈堆,将该点的过滤区间;重复栈堆执行操作,本发明查询新种子点时,已扫描区域不会被重复查询扫描。栈堆的点会先进行标记判断,已标记过的点直接出栈,不进行扫描标记。

Description

扫描线种子填充方法
技术领域
本发明涉及扫描线种子技术领域,具体是扫描线种子填充方法。
背景技术
在计算机图形学中,区域填充存在着广泛的应用,有四连通和八连通区域不同的计算方法。而不规则联通区域存在着各种复杂情况,例如挖孔和凹凸等特殊情况。同时也可以利用这种方式运用于一些游戏上的设计和实现。一些数字消除类游戏,同样需要进行不规则的区域检测,比较常见的技术时扫描线种子填充算法,但也存在着运算复杂度或空间占用大等相关问题。
发明内容
本发明的目的在于提供扫描线种子填充方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
扫描线种子填充方法,该填充方法的具体步骤为:
初始化一个空栈,用于存放标记点和过滤区间;
将一个起始点压入栈堆,遍历栈堆执行操作,直到栈堆为空;
其中,执行操作的具体步骤为:
栈顶出栈;
沿扫描线以出栈点进行左右扫描,直到遇到边界为止;
将上述扫描区间的左右边界记为新的判断区间;
以当前扫描点的上下相邻区间,该点的过滤区间的这段区域进行判断,若为非边界和未填充点,则将新区间左边的可扫描点压入栈堆,将该点的过滤区间;
重复栈堆执行操作。
作为本发明进一步的方案:初始化一个空栈,用于存放标记点和过滤区间之前的具体操作为:
输入查询区域的二维数组和起始点坐标;
若起始点坐标在二维数组范围内;
则初始化一个空栈,用于存放标记点和过滤区间。
作为本发明进一步的方案:初始化一个空栈,用于存放标记点和过滤区间具体为:
初始化空栈数组、扫描区域和标记值;
初始化和数值同等大小的标记二维数组,并设置数组值。
作为本发明进一步的方案:所述将一个起始点压入栈堆具体为:
将空栈数组、扫描区域和标记值压入栈堆。
与现有技术相比,本发明的有益效果是:常见的种子填充方法中,会存在种子点重复入栈导致栈空间太大,并且没有很好的过滤已扫描的区域,在查询新种子点入栈时往往重复扫描已扫描过的区间,从而增加了运算量。
本扫描线种子填充方法侧重于优化种子点重复入栈和在查询新种子点的查询区域进行过滤已查询区域,减少重复运算的地方。
查询新种子点时,已扫描区域不会被重复查询扫描。栈堆的点会先进行标记判断,已标记过的点直接出栈,不进行扫描标记。
我们在种子点进行上下相邻区间查询时进行区间过滤,缩小查询范围,减少运算复杂度和运算时占用空间。
具体实施方式
下面将结合本发明实施例中,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,扫描线种子填充方法,该填充方法的具体步骤为:
初始化一个空栈,用于存放标记点和过滤区间;
将一个起始点压入栈堆,遍历栈堆执行操作,直到栈堆为空;
其中,执行操作的具体步骤为:
栈顶出栈;
沿扫描线以出栈点进行左右扫描,直到遇到边界为止;
将上述扫描区间的左右边界记为新的判断区间;
以当前扫描点的上下相邻区间,该点的过滤区间的这段区域进行判断,若为非边界和未填充点,则将新区间左边的可扫描点压入栈堆,将该点的过滤区间;
重复栈堆执行操作。
初始化一个空栈,用于存放标记点和过滤区间之前的具体操作为:
输入查询区域的二维数组和起始点坐标;
若起始点坐标在二维数组范围内;
则初始化一个空栈,用于存放标记点和过滤区间。
初始化一个空栈,用于存放标记点和过滤区间具体为:
初始化空栈数组、扫描区域和标记值;
初始化和数值同等大小的标记二维数组,并设置数组值。
将一个起始点压入栈堆具体为:
将空栈数组、扫描区域和标记值压入栈堆。
常见的种子填充方法中,会存在种子点重复入栈导致栈空间太大,并且没有很好的过滤已扫描的区域,在查询新种子点入栈时往往重复扫描已扫描过的区间,从而增加了运算量。
本扫描线种子填充方法侧重于优化种子点重复入栈和在查询新种子点的查询区域进行过滤已查询区域,减少重复运算的地方。
查询新种子点时,已扫描区域不会被重复查询扫描。栈堆的点会先进行标记判断,已标记过的点直接出栈,不进行扫描标记。
虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
故以上所述仅为本申请的较佳实施例,并非用来限定本申请的实施范围;即凡依本申请的权利要求范围所做的各种等同变换,均为本申请权利要求的保护范围。

Claims (4)

1.扫描线种子填充方法,其特征在于,该填充方法的具体步骤为:
初始化一个空栈,用于存放标记点和过滤区间;
将一个起始点压入栈堆,遍历栈堆执行操作,直到栈堆为空;
其中,执行操作的具体步骤为:
栈顶出栈;
沿扫描线以出栈点进行左右扫描,直到遇到边界为止;
将上述扫描区间的左右边界记为新的判断区间;
以当前扫描点的上下相邻区间,该点的过滤区间的这段区域进行判断,若为非边界和未填充点,则将新区间左边的可扫描点压入栈堆,将该点的过滤区间;
重复栈堆执行操作。
2.根据权利要求1所述的扫描线种子填充方法,其特征在于,初始化一个空栈,用于存放标记点和过滤区间之前的具体操作为:
输入查询区域的二维数组和起始点坐标;
若起始点坐标在二维数组范围内;
则初始化一个空栈,用于存放标记点和过滤区间。
3.根据权利要求1所述的扫描线种子填充方法,其特征在于,初始化一个空栈,用于存放标记点和过滤区间具体为:
初始化空栈数组、扫描区域和标记值;
初始化和数值同等大小的标记二维数组,并设置数组值。
4.根据权利要求3所述的扫描线种子填充方法,其特征在于,所述将一个起始点压入栈堆具体为:
将空栈数组、扫描区域和标记值压入栈堆。
CN202011251314.0A 2020-11-10 2020-11-10 扫描线种子填充方法 Pending CN112465930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011251314.0A CN112465930A (zh) 2020-11-10 2020-11-10 扫描线种子填充方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011251314.0A CN112465930A (zh) 2020-11-10 2020-11-10 扫描线种子填充方法

Publications (1)

Publication Number Publication Date
CN112465930A true CN112465930A (zh) 2021-03-09

Family

ID=74825429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011251314.0A Pending CN112465930A (zh) 2020-11-10 2020-11-10 扫描线种子填充方法

Country Status (1)

Country Link
CN (1) CN112465930A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0250868A2 (en) * 1986-06-23 1988-01-07 International Business Machines Corporation Method and apparatus for area fill in a raster graphics system
CA2471168A1 (en) * 1999-05-25 2000-11-25 Nippon Telegraph And Telephone Corporation Image filling method, apparatus and computer readable medium for reducing filling process in producing animation
US6271856B1 (en) * 1998-11-19 2001-08-07 Paraform, Inc. Creating and modifying parameterizations of surfaces
CN102693525A (zh) * 2012-05-08 2012-09-26 北京航空航天大学 一种解决种子填充算法中像素多次出入栈问题的方法
CN105184837A (zh) * 2015-08-31 2015-12-23 武汉云空间地理信息技术有限公司 一种矢量多边形栅格化的算法及系统
CN109767479A (zh) * 2018-12-13 2019-05-17 南京国电南自电网自动化有限公司 一种基于动态边界组序列的图元填充方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0250868A2 (en) * 1986-06-23 1988-01-07 International Business Machines Corporation Method and apparatus for area fill in a raster graphics system
US6271856B1 (en) * 1998-11-19 2001-08-07 Paraform, Inc. Creating and modifying parameterizations of surfaces
CA2471168A1 (en) * 1999-05-25 2000-11-25 Nippon Telegraph And Telephone Corporation Image filling method, apparatus and computer readable medium for reducing filling process in producing animation
CN102693525A (zh) * 2012-05-08 2012-09-26 北京航空航天大学 一种解决种子填充算法中像素多次出入栈问题的方法
CN105184837A (zh) * 2015-08-31 2015-12-23 武汉云空间地理信息技术有限公司 一种矢量多边形栅格化的算法及系统
CN109767479A (zh) * 2018-12-13 2019-05-17 南京国电南自电网自动化有限公司 一种基于动态边界组序列的图元填充方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEE, H. G.等: "Grain-oriented segmentation of images of porous structures using ray casting and curvature energy minimization", JOURNAL OF MICROSCOPY, vol. 257, no. 2, pages 92 - 103 *
杜娟;郑永果;李敏;: "一种改进的扫描线种子填充算法", 信息技术与信息化, no. 03, pages 83 - 84 *
郭文平;龙帮强;: "扫描线种子填充算法的改进", 天津工业大学学报, no. 02, pages 48 - 51 *

Similar Documents

Publication Publication Date Title
CN102945368B (zh) 啤酒瓶盖激光字符的定位识别方法
CN1940932A (zh) 表示或者检索图象中的对象的方法及其装置、计算机程序、计算机系统以及计算机可读存储媒体
CN110136264B (zh) 基于三维激光扫描的料场物料的建模方法及系统
CN107545833B (zh) 一种道路绘制方法及装置
CN109767479B (zh) 一种基于动态边界组序列的图元填充方法和系统
EP3336749A1 (en) Fingerprint image recognition method, apparatus, and terminal
CN107316043A (zh) 一种采摘机器人的堆叠蘑菇快速识别方法
CN1873647A (zh) Cad方法、cad系统以及存储其cad程序的程序存储介质
CN106682366B (zh) 一种基于图像处理的有限元节点坐标提取方法
CN103810300B (zh) 用于非索引覆盖的数据查询方法和装置
CN112465930A (zh) 扫描线种子填充方法
CN113071935A (zh) 一种自动码垛方法
WO2021228194A1 (zh) 线缆检测方法、机器人和存储装置
CN107067430A (zh) 一种基于特征点聚类的麦田作物行检测方法
CN102999931A (zh) 电子笔迹绘制方法及装置
CN102789523A (zh) 基于图像处理的鞋样设计方法
CN106952232A (zh) 一种基于蚁群算法的图文碎片恢复方法
CN110532980B (zh) 复杂背景下基于颜色的书写痕迹提取方法、系统和装置
CN106897989B (zh) 一种基于线密度计算的指纹图像分割方法
CN108897912B (zh) 基于圆堆的孔装饰板设计排布方法
JP2003091727A5 (zh)
CN1035844C (zh) 在字符识别系统中选取候选字符的方法
CN104156696B (zh) 基于双方向图的快速局部不变特征描述子的构造方法
CN110264531A (zh) 一种棋盘格角点的捉取方法、装置、系统及可读存储介质
CN116434225B (zh) 一种菌盖形态数据自动获取方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination