CN103116900A - 提取最小封闭图形的方法 - Google Patents
提取最小封闭图形的方法 Download PDFInfo
- Publication number
- CN103116900A CN103116900A CN2013100348392A CN201310034839A CN103116900A CN 103116900 A CN103116900 A CN 103116900A CN 2013100348392 A CN2013100348392 A CN 2013100348392A CN 201310034839 A CN201310034839 A CN 201310034839A CN 103116900 A CN103116900 A CN 103116900A
- Authority
- CN
- China
- Prior art keywords
- line segment
- closed
- intersection point
- point
- intersection
- 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.)
- Granted
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种提取最小封闭图形的方法,包括:S1、建立交点信息表;S2、根据交点信息表,确定构成封闭图形的交点;S3、逐一判断确定的多个封闭图形中,是否存在包含了所有交点的封闭图形,如是,则删除所述封闭图形;S4、保存为最终结果。本发明可快速提取最小封闭图像,尤其是在交点数量大的时候,可快速提取互不覆盖的最小封闭图形,效率高。
Description
技术领域
本发明涉及图形处理技术领域,尤其涉及一种计算任意交叉的直线线段提取所有互不覆盖的最小封闭图形的方法。
背景技术
开发CAD图形平台的时候,需要针对对用户绘制的线条切割出互不覆盖的最小的封闭图形。
现有的任意相交直线线段提取所有互不覆盖的封闭图形算法的方法,如图1所示,一般是遍历所有线条,提取所有封闭图形,将提取的封闭图形进行覆盖判断,过滤互相覆盖的图形,得到所有互不覆盖的最小单元封闭图形。当线条复杂、交点数量大的时候提取封闭图形的的效率低、需时长。
发明内容
本发明要解决的技术问题在于,针对现有技术提取最小封闭图形效率低、需时长等的缺陷,提供一种计算任意交叉的直线线段提取所有互不覆盖的最小封闭图形的方法。
本发明解决其技术问题所采用的技术方案是:
根据本发明的一方面,提供一种提取最小封闭图形的方法,包括:
S1、建立交点信息表;
S2、根据交点信息表,确定构成封闭图形的交点;
S3、逐一判断确定的多个封闭图形中,是否存在包含了所有交点的封闭图形,如是,则删除封闭图形;
S4、保存为最终结果。
优选的,所述S1具体包括:
S11、计算所有线段的交点;
S12、提取所有交点组成的有向线段列表;
S13、提取以同一起点的关联线段列表;
S14、以起点为原点及水平方向射线为基线,计算关联线段的终点与基线形成的象限角;
S15、根据象限角的大小,对同一起点的关联线段进行排序形成有向线段集合。
优选的,所述S2具体包括:
S21、判断交点信息表中的有向线段集合是否为空,若是,则跳转S3;若否,则执行S22;
S22、从有向线段集合中提取任意一条有向线段作为起始边,确定封闭图形的起点和第二个点;
S23、在有向线段集合中,找到有向线段的反向边的序列位置L;
S24、判断L是否是最后一个序列位置,如是,则执行S25;如否,则执行S26;
S25、提取序列位置为1的有向线段作为封闭图形的下一条边线,并执行S27;
S26、提取L的下一序列位置的有向线段,作为组成封闭图形的下一条边线;
S27、把确定的有向线段从有向线段集合中删除;
S28、判断确定的交点是否和起点相同;若否,则提取下一条边线,并跳转S22;若是,封闭图形提取成功,保存到封闭图形列表中,并跳转S21。
优选的,所述判断L是否是最后一个序列位置具体为:当交点存在n条关联线段,根据所述象限角排序后,处于第n条线段的就是最后一个序列位置的线段。
实施本发明的提取最小封闭图形的方法的技术方案,具有以下优点或有益效果:本发明可快速提取最小封闭图像,尤其是在交点数量大的时候,可快速提取互不覆盖的最小封闭图形,效率高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,附图中:
图1是现有技术提取封闭图形的方法实施例的流程示意图;
图2是本发明提取封闭图形的方法第一实施例的流程示意图;
图3是本发明提取封闭图形的方法第一实施例的S1的流程示意图;
图4是本发明提取封闭图形的方法第一实施例的S2的流程示意图;
图5是本发明提取封闭图形的方法第二实施例的交点示意图;
图6是本发明提取封闭图形的方法第二实施例的有向线段示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下文将要描述的各种实施例将要参考相应的附图,这些附图构成了实施例的一部分,其中描述了实现本发明可能采用的各种实施例。应明白,还可使用其他的实施例,或者对本文列举的实施例进行结构和功能上的修改,而不会脱离本发明的范围和实质。
本发明提取最小封闭图形的方法第一实施例,如图2所示,包括:
S1、建立交点信息表;
S2、根据交点信息表,确定构成封闭图形的交点;
S3、逐一判断确定的多个封闭图形中,是否存在包含了所有交点的封闭图形,如是,则删除所述封闭图形;如否,则跳转S4;
S4、保存为最终结果。
如图3所示,更为具体的,步骤S1包括:
S11、计算所有线段的交点;
S12、提取由所有交点组成的有向线段列表;
S13、提取以同一起点的关联线段列表;
S14、以起点为原点及水平方向射线为基线,计算关联线段的终点与基线形成的象限角;
S15、根据象限角的大小,对同一起点的关联线段进行排序形成有向线段集合。
其中,计算所有线段的交点具体为:先判断线段是否相交,如果是,则计算交点。判断线段相交,可以使用向量的叉积性质,如果其中一条线段的两个端点在另一条线段的同一侧时,则不相交,否则,相交。计算交点的方法可以有很多。列举一种如下:设直线1上的两点:(ax1,ay1),(ax2,ay2);直线2上的两点:(bx1,by1),(bx2,by2),设交点为(ix,iy)。
那么设d=(ay2-ay1)*(bx2-bx1)-(by2-by1)*(ax2-ax1);如果d=0,直线平行。
ix=((ax2-ax1)*(bx2-bx1)*(by1-ay1)+(ay2-ay1)*(bx2-bx1)*ax1-(by2-by1)*(ax2-ax1)*bx1)/d;
iy=((ay2-ay1)*(by2-by1)*(bx1-ax1)+(ax2-ax1)*(by2-by1)*ay1-(bx2-bx1)*(ay2-ay1)*by1)/-d。
如图4所示,更为具体的,步骤S2包括:
S21、判断交点信息表中的有向线段集合是否为空,若是,则跳转S3;若否,则执行S22;
S22、从有向线段集合中提取任意一条有向线段作为起始边,确定封闭图形的起点和第二个点;
S23、在有向线段集合中,找到该有向线段的反向边的序列位置L;
S24、判断L是否是最后一个序列位置,如是,则执行S25;如否,则执行S26;
S25、提取序列位置为1的有向线段作为封闭图形的下一条边线,并执行S27;
S26、提取L的下一序列位置的有向线段,作为组成封闭图形的下一条边线;
S27、把确定的有向线段从有向线段集合中删除;
S28、判断确定的交点是否和起点相同;若否,则提取下一条边线,并跳转S22;若是,封闭图形提取成功,保存到封闭图形列表中,并跳转S21。
其中,判断L是否为最后一个序列位置具体为:在某一交点当存在n条关联线段,而排序后,处于第n条线段,就是最后一个序列位置的线段。例如,如果交点2有3条关联线段,根据线段和交点2形成的象限角的大小进行排序,如图6所示,线段11所形成的角度最大,所以处于排序后的第三个位置的线段,也就是最后一个序列位置的线段。
本发明可快速提取最小封闭图像,尤其是在交点数量大的时候,可快速提取互不覆盖的最小封闭图形,效率高。
本发明提取最小封闭图形的方法第二实施例,为了更为清楚及更详细阐述本发明的方法,下面以线段A~D为例,如图5所示,具体包括:
S101、计算线段A~D中参与计算的交点,得到交点列表,包括交点1、交点2、交点3、交点4和交点5。
交点列表 |
交点1 |
交点2 |
交点3 |
交点4 |
交点5 |
S102、原线段被交点切割为子线段,提取起点、终点都为交点组成的有向线段列表,如图6所示。形成的有向线段为:
S103、遍历线段集合,提取同一个交点为起点的线段形成此点的关联线段。以起点为原点,水平方向射线为基线,计算各个关联线段的终点与基线形成的象限角,根据象限角的大小进行排序,建立交点信息表。
S104、从有向线段集合中提取任意一条有向线段作为提取封闭图形的第一条直线。假设提取线段①,得知封闭图形1的第一、二个点分别为交点1、交点2;第一条线段为线段①,将线段①从线段集合中删除。
S105、确定封闭图形第二个线段的方法为:
A、从封闭图形的最后确定点的相关的关联线段集合中,查找到上一条边线的反向线的序列位置。当前最后确定点是交点2,上一条边线的反向线是起点为交点2,终点为交点1的线段,也就是线段②。
B、提取此序列位置下一个位置的线条,为封闭图形的下一条组成线段。线段②的下个位置的线条是线段那么线段是封闭图形1的下一条组成线段,封闭图形1组成点的第三点为交点5。其中查找下个序列位置的方式为首尾相连的循环查找。如果当前线段为最后一条线段,那么下一个序列位置的线段为第一个序列位置的线段。
D、判断本次查找的点是否为封闭图形的第一个点,如果是,则图形封闭,此最小封闭图形查找完成。如果否,重复以上步骤,查找下一个边线,直到图形封闭。
S106、当一个封闭图形完成后,判断有向线段集合中是否还存在线段。如果存在,则提取任意线段作为下个封闭图形的第一条线段,查找下个封闭图形,直到所有有向线段集合内线段为空,则所有封闭图形提取结束。获取到封闭图形(即区域)有:
区域名称 | 区域包含的有向点 |
区域1 | 交点1,交点2,交点5,交点4,交点1 |
区域2 | 交点5,交点2,交点3,交点5 |
区域3 | 交点2,交点1,交点4,交点5,交点3,交点2 |
其中区域3包含了所有的交点,属于不合法项。
在结果集中,对包含了所有交点的封闭图形进行过滤,得出最终结果。
区域名称 | 区域包含的有向点 |
区域1 | 交点1,交点2,交点5,交点4,交点1 |
区域2 | 交点5,交点2,交点3,交点5 |
在阅读完下面将要描述的内容之后,本领域的技术人员应当明白,本文描述的各种特征可通过方法、数据处理系统或计算机程序产品来实现。因此,这些特征可部采用硬件的方式、全部采用软件的方式或者采用硬件和软件结合的方式来表现。此外,上述特征也可采用存储在一种或多种计算机可读存储介质上的计算机程序产品的形式来表现,该计算机可读存储介质中包含计算机可读程序代码段或者指令,其存储在存储介质中。可以使用任何使用的计算机可读存储介质,包括硬盘、CD-ROM、光存储设备、磁存储设备和/或上述设备的组合。
以上所述仅为本发明的较佳实施例而已,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等同替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明的保护范围。
Claims (4)
1.一种提取最小封闭图形的方法,其特征在于,包括:
S1、建立交点信息表;
S2、根据所述交点信息表,确定构成封闭图形的交点;
S3、逐一判断确定的多个封闭图形中,是否存在包含了所有交点的封闭图形,如是,则删除所述封闭图形;
S4、保存为最终结果。
2.根据权利要求1所述的提取最小封闭图形的方法,其特征在于,所述S1具体包括:
S11、计算所有线段的交点;
S12、提取所有所述交点组成的有向线段列表;
S13、提取以同一起点的关联线段列表;
S14、以起点为原点及水平方向射线为基线,计算所述关联线段的终点与所述基线形成的象限角;
S15、根据所述象限角的大小,对同一起点的所述关联线段进行排序形成有向线段集合。
3.根据权利要求2所述的提取最小封闭图形的方法,其特征在于,所述S2具体包括:
S21、判断所述交点信息表中的有向线段集合是否为空,若是,则跳转S3;若否,则执行S22;
S22、从所述有向线段集合中提取任意一条有向线段作为起始边,确定封闭图形的起点和第二个点;
S23、在所述有向线段集合中,找到所述有向线段的反向边的序列位置L;
S24、判断所述L是否是最后一个序列位置,如是,则执行S25;如否,则执行S26;
S25、提取序列位置为1的有向线段作为封闭图形的下一条边线,并执行S27;
S26、提取所述L的下一序列位置的有向线段,作为组成封闭图形的下一条边线;
S27、把确定的所述有向线段从所述有向线段集合中删除;
S28、判断确定的交点是否和起点相同;若否,则提取下一条边线,并跳转S22;若是,封闭图形提取成功,保存到封闭图形列表中,并跳转S21。
4.根据权利要求3所述的提取最小封闭图形的方法,其特征在于,所述判断L是否是最后一个序列位置具体为:
当所述交点存在n条关联线段,根据所述象限角排序后,处于第n条线段的就是最后一个序列位置的线段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310034839.2A CN103116900B (zh) | 2013-01-30 | 2013-01-30 | 提取最小封闭图形的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310034839.2A CN103116900B (zh) | 2013-01-30 | 2013-01-30 | 提取最小封闭图形的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103116900A true CN103116900A (zh) | 2013-05-22 |
CN103116900B CN103116900B (zh) | 2015-09-23 |
Family
ID=48415264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310034839.2A Active CN103116900B (zh) | 2013-01-30 | 2013-01-30 | 提取最小封闭图形的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103116900B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650127A (zh) * | 2016-12-28 | 2017-05-10 | 北京华大九天软件有限公司 | 一种自动将多段线转换成封闭图形的方法 |
CN107644449A (zh) * | 2017-09-15 | 2018-01-30 | 江苏大学 | 一种平面图形独立封闭区域识别方法 |
CN109284520A (zh) * | 2018-07-10 | 2019-01-29 | 广东工业大学 | 一种dwg建筑图外墙快速提取方法 |
CN116311338A (zh) * | 2023-03-27 | 2023-06-23 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116757025A (zh) * | 2023-06-07 | 2023-09-15 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101144708A (zh) * | 2007-09-26 | 2008-03-19 | 东南大学 | 三维扫描系统中圆形标志点的检测方法 |
-
2013
- 2013-01-30 CN CN201310034839.2A patent/CN103116900B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101144708A (zh) * | 2007-09-26 | 2008-03-19 | 东南大学 | 三维扫描系统中圆形标志点的检测方法 |
Non-Patent Citations (1)
Title |
---|
雷安民 等: "一种寻找平面图形中最小封闭线框的方法", 《科学技术与工程》, vol. 10, no. 4, 28 February 2010 (2010-02-28), pages 1021 - 1023 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650127A (zh) * | 2016-12-28 | 2017-05-10 | 北京华大九天软件有限公司 | 一种自动将多段线转换成封闭图形的方法 |
CN106650127B (zh) * | 2016-12-28 | 2020-07-10 | 北京华大九天软件有限公司 | 一种自动将多段线转换成封闭图形的方法 |
CN107644449A (zh) * | 2017-09-15 | 2018-01-30 | 江苏大学 | 一种平面图形独立封闭区域识别方法 |
CN107644449B (zh) * | 2017-09-15 | 2021-03-19 | 镇江恒昌彩艺科技有限公司 | 一种平面图形独立封闭区域识别方法 |
CN109284520A (zh) * | 2018-07-10 | 2019-01-29 | 广东工业大学 | 一种dwg建筑图外墙快速提取方法 |
CN109284520B (zh) * | 2018-07-10 | 2022-11-01 | 广东工业大学 | 一种dwg建筑图外墙快速提取方法 |
CN116311338A (zh) * | 2023-03-27 | 2023-06-23 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116311338B (zh) * | 2023-03-27 | 2024-01-26 | 北京数码易知科技发展有限责任公司 | 一种最小闭合区域识别方法、装置、设备和计算机可读介质 |
CN116757025A (zh) * | 2023-06-07 | 2023-09-15 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
CN116757025B (zh) * | 2023-06-07 | 2024-02-13 | 中国船级社上海规范研究所 | 一种基于dxf格式的船舶舱室图形自动拾取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103116900B (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103116900A (zh) | 提取最小封闭图形的方法 | |
CN101477694B (zh) | 笔迹擦除的方法及装置 | |
ATE456900T1 (de) | Verfahren und system zum organisieren von inzidenten aufzeichnungen in einem mobilfunkendgerät | |
CN103092341A (zh) | 控制终端的方法、装置与终端 | |
CN110109910A (zh) | 数据处理方法及系统、电子设备和计算机可读存储介质 | |
CN105808126A (zh) | 电子教学白板运行方法和装置 | |
CN105955847A (zh) | 一种电子设备文件防误删的方法及系统 | |
CN104778222A (zh) | 基于usb存储设备的媒体库建立及更新方法 | |
CN108491145A (zh) | 书写应用的撤销笔迹方法及装置、存储介质、终端设备 | |
CN106919624A (zh) | 提高网页加载速度的方法及装置 | |
CN102930262A (zh) | 一种从图像中提取文字行的方法及装置 | |
CN107704155A (zh) | 应用程序图标的展示方法、装置、终端和存储介质 | |
CN104871122A (zh) | 显示控制设备和程序 | |
CN103488572B (zh) | 数据储存装置及数据清除方法 | |
CN103823614A (zh) | 信息处理方法、装置及电子设备 | |
CN103425980A (zh) | 一种图片中文字区域的获取方法及装置 | |
CN102682020B (zh) | 文件管理系统及方法 | |
CN101908273B (zh) | 一种交通路况数据的处理方法及装置 | |
CN104615728B (zh) | 一种网页正文提取方法及装置 | |
CN106503740A (zh) | 图片分类方法及装置 | |
Regnauld et al. | Automatic amalgamation of buildings for producing ordnance survey® 1: 50 000 scale maps | |
CN103440181A (zh) | 一种文件修改的方法及系统 | |
CN105653549A (zh) | 一种提取文档信息的方法及装置 | |
Bai et al. | Underline detection and removal in a document image using multiple strategies | |
CN101714149A (zh) | 一种反解版式文件后得到的图片和图说的自动关联方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |