CN112270739B - 基于二维的室内区域确认方法、装置、终端及存储介质 - Google Patents
基于二维的室内区域确认方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN112270739B CN112270739B CN202010681031.3A CN202010681031A CN112270739B CN 112270739 B CN112270739 B CN 112270739B CN 202010681031 A CN202010681031 A CN 202010681031A CN 112270739 B CN112270739 B CN 112270739B
- Authority
- CN
- China
- Prior art keywords
- wall
- line segment
- closed area
- wall body
- line segments
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012790 confirmation Methods 0.000 title claims abstract description 30
- 238000013461 design Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于二维的室内区域确认方法、装置、终端及存储介质,其公开了获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将每条墙体线段的值设为2,再从中选取一条起始墙体线段,按某一个方向查询依次连接的墙体线段,从而得到最大封闭区域和最小封闭区域,记录该最小封闭区域,并将最大封闭区域和最小封闭区域各自对应的墙体线段的值减1,再选择一条值为1的墙体线段重复执行上述过程,直至所有墙体线段的至均为0为止,将记录的所有的最小封闭区域作为室内区域并输出。通过上述方式,本发明能够在二维层面自动确认室内区域,提升了室内设计的效率。
Description
技术领域
本申请涉及智能室内设计技术领域,特别是涉及一种基于二维的室内区域确认方法、装置、终端及存储介质。
背景技术
进行室内设计时,由于在二维界面对尺寸把握的更精准,通常是在二维界面绘制户型,即墙体,绘制完成后,进入三维界面中制作立体模型。此时,完全可以依托二维界面的墙体线条自动生成墙体模型,同时根据墙体构成的封闭区域自动生成地面硬装。这个过程需要通过识别而为界面中所绘制墙体所构成的封闭区域,来实现在三维场景中表达该区域的地面硬装效果。
常用的室内设计户型搭建方法是,使用Autodesk公司的二维设计软件AutoCAD先进行精确的尺寸绘制,再将绘制好的图纸导入到三维设计软件Autodesk公司的建模软件3DMAX中,完成三维场景的搭建。这种户型搭建方法不能自动识别户型并生成三维模型,也不便于在三维与二维的自由切换和功能的配合使用。
发明内容
本申请提供一种基于二维的室内区域确认方法、装置、终端及存储介质,以解决现有室内设计工具不能自动识别室内封闭区域的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于二维的室内区域确认方法,包括:获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2;从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域;将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段;再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止;将记录的所有的最小封闭区域作为室内区域并输出。
作为本申请的进一步改进,获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,包括:获取二维平面下墙体框架的所有墙体线段的端点;逐个判断每个墙体线段的两个端点是否分别与其他墙体线段连接;若是,则将墙体线段标记为有效墙体线段,并添加至墙体线段集合。
作为本申请的进一步改进,从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域,包括:从墙体线段集合中随机选取起始墙体线段;以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最小的墙体线段,直至找到起始墙体线段的另一端为止,得到第一封闭区域;以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最大的墙体线段,直至找到起始墙体线段的另一端为止,得到第二封闭区域;遍历第一封闭区域对应的所有第一墙体线段,若每条第一墙体线段的中点均处于第二封闭区域范围内,则第一封闭区域为最小封闭区域,第二封闭区域为最大封闭区域,否则第一封闭区域为最大封闭区域,第二封闭区域为最小封闭区域。
作为本申请的进一步改进,遍历第一封闭区域对应的所有第一墙体线段,若每条第一墙体线段的中点均处于第二封闭区域范围,包括:以中点为起点作射线,得到射线与第二封闭区域对应的所有第二墙体线段的交点个数,射线与每条墙体线段均不重合;当交点个数为奇数时,中点在第二封闭区域内;当交点个数为偶数时,中点在第二封闭区域外。
作为本申请的进一步改进,当墙体线段的两端均仅与一条墙体线段连接时,第一封闭区域与第二封闭区域相同,将第一封闭区域为最小封闭区域。
作为本申请的进一步改进,将记录的所有的最小封闭区域作为室内区域并输出之后,还包括:将二维平面下的墙体框架转换为三维墙体模型,并为每个最小封闭区域自动生成地面。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种基于二维的室内区域确认装置,包括:获取模块,用于获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2;查询模块,用于从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域;记录模块,用于将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段;循环模块,用于再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止;输出模块,用于将记录的所有的最小封闭区域作为室内区域并输出。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种终端,该终端包括处理器、与处理器耦接的存储器,其中,存储器存储有用于实现上述基于二维的室内区域确认方法的程序指令;处理器用于执行存储器存储的程序指令以确认室内设计中的室内区域。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储介质,存储有能够实现上述基于二维的室内区域确认方法的程序文件。
本申请的有益效果是:本申请的基于二维的室内区域确认方法通过将墙体线段集合中的每条墙体线段的值设为2,再随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域,并将两个各自对应的墙体线段减1,并记录最小封闭区域,然后重新选择一条值为1的墙体线段再次执行上述过程,直至所有墙体线段的值均为0为止,再将记录的所有的最小封闭区域作为室内区域,其能够识别二维平面下所绘制的户型中的所有室内区域,精确度高,而且不需要用户手动去抓取或标记室内区域,提升了室内设计时的效率,降低了设计人员的工作量。
附图说明
图1是本发明第一实施例的基于二维的室内区域确认方法的流程示意图;
图2是本发明实施例中亮度块和色度块划分结构示意图;
图3是本发明第二实施例的基于二维的室内区域确认方法的流程示意图;
图4是本发明第三实施例的基于二维的室内区域确认方法的流程示意图;
图5是本发明实施例的基于二维的室内区域确认装置的结构示意图;
图6是本发明实施例的终端的结构示意图;
图7是本发明实施例的存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本发明第一实施例的基于二维的室内区域确认方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:
步骤S101:获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2。
需要说明的是,在进行室内设计时,在二维层面上设计人员对精度的把控更高,因此,目前很多设计人员会在二维界面完成腔体框架的绘制,再将其转换为三维模型。
在步骤S101中,在得到墙体线段集合之后,为墙体线段集合中的每条墙体线段赋值,值为2。
步骤S102:从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域。
在步骤S102中,在墙体线段集合中随机选取一条起始墙体线段,优选地,可以在该平面区域构建平面坐标系,得到每条墙体线段两个端点的坐标值,再遍历墙体线段集合,确认横坐标值最小的一个端点,以包括该端点的一条墙体线段为起始墙体线段,需要说明的是,该起始墙体线段与外界区域邻接,不能是处于室内的墙体线段。选取起始墙体线段之后,按照顺时针方向或逆时针方向查询与该起始墙体线段的一个端点连接的墙体线段,再以该查询到的墙体线段按顺时针方向或逆时针方向查询与与该墙体线段连接的墙体线段,直至查询到与起始墙体线段的另一个端点连接的墙体线段,得到包括有该起始墙体线段的最大封闭区域和最小封闭区域。其中,最大封闭区域必定包括该最小封闭区域
需要理解的是,一条墙体线段可以连接一条或多条其他墙体线段,因此,当墙体线段逐一依次连接时,则仅存在一个封闭区域,当某一墙体线段与多条其他墙体线段连接时,则可查询得到多个封闭区域,本实施例中,取其中的最大封闭区域和最小封闭区域。
进一步的,本实施例中,仅需查询包括起始墙体线段的最大封闭区域和最小封闭区域,因此,本实施例根据墙体线段之间的夹角查询依次连接的墙体线段,该步骤S102具体包括:
1、从墙体线段集合中随机选取起始墙体线段。
2、以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最小的墙体线段,直至找到起始墙体线段的另一端为止,得到第一封闭区域。
3、以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最大的墙体线段,直至找到起始墙体线段的另一端为止,得到第二封闭区域。
本实施例中,以顺时针为例进行说明,其需要使用到向量的叉积和点积计算顺时针方向和墙体线段之间的夹角,假设两条墙体线段的向量a(x1,y1)、b(x2,y2)的夹角为θ,则其叉积为a×b=|a|*|b|*sinθ,(0°≤θ≤180°),当向量a×b>0时,a与b为逆时针连接,若a×b<0时,a与b为顺时针连接,通过这个方法判断两条墙体线段连接方式为顺时针还是逆时针,两个向量点积的计算公式为a·b=x1*x2+y1*y2=|a|*|b|*cosθ,(0°≤θ≤180°),可得θ=arccos((x1*x2+y1*y2)/(|a|*|b|)),从而可以计算得到两条墙体线段的夹角。例如,请参阅图2,以L1为起始墙体线段,按顺时针方向,按最小夹角选取,下一条线段为L2,再经L3,再按最小夹角选取L4,再经过L5,得到封闭区域A1{L1,L2,L3,L4,L5};再以L1为起始墙体线段,按最大夹角选取L6,再按最大夹角选取L4,再经过L5,得到封闭区域A2{L1,L6,L4,L5},A1和A2一个是包括起始墙体线段的最大封闭区域,一个是包括起始墙体线段的最小封闭区域。
4、遍历第一封闭区域对应的所有第一墙体线段,若每条第一墙体线段的中点均处于第二封闭区域范围内,则第一封闭区域为最小封闭区域,第二封闭区域为最大封闭区域,否则第一封闭区域为最大封闭区域,第二封闭区域为最小封闭区域。
本实施例中,封闭区域的大小通过墙体线段的中点进行判断,具体地,通过获取第一封闭区域对应的所有第一墙体线段,再获取每条第一墙体线段的中点,再判断所有中点是否位于第二封闭区域范围内,即可判断第一封闭区域和第二封闭区域的大小,其中,判断所有中点是否位于第二封闭区域范围内可以采用PNPoly算法,具体为:以中点为起点作射线,得到射线与第二封闭区域对应的所有第二墙体线段的交点个数,射线与每条墙体线段均不重合;当交点个数为奇数时,中点在第二封闭区域内;当交点个数为偶数时,中点在第二封闭区域外。
需要说明的是,本实施例中,当墙体线段的两端均仅与一条墙体线段连接时,第一封闭区域与第二封闭区域相同,将第一封闭区域为最小封闭区域。
步骤S103:将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段。
在步骤S103中,在得到最大封闭区域和最小封闭区域后,将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录该最小封闭区域。
步骤S104:再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止。
在步骤S104中,在得到包括起始墙体线段的最小封闭区域之后,再从墙体线段集合中随机选取一条值为1的墙体线段作为新的起始墙体线段,重复执行步骤S102~步骤S103,同样得到最大封闭区域和最小封闭区域,将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录新的最小封闭区域,循环执行上述过程,直至墙体线段集合中的每条墙体线段的值均为0为止,从而得到所有的最小封闭区域。
例如,继续以图2为例,初始时,L1,L2,L3,L4,L5,L6的值均为2,以L1为起始墙体线段,得到最大封闭区域A1{L1,L2,L3,L4,L5}和最小封闭区域A2{L1,L6,L4,L5},将A1对应的墙体墙体线段的值减1,并记录A2,再将A2对应的墙体线段的值减1,则得到L1,L4,L5的值为0,L2,L3,L6的值为1,再从L2,L3中选取L2为起始墙体线段,得到最小封闭区域A3{L2,L3,L6}和最大封闭区域A4{L2,L3,L4,L5,L1},记录A3,并将A3、A4对应的墙体线段均减1(当墙体线段的值为0时,不再变化),此时,所有墙体线段的值均为0,停止查询,得到两个最小封闭区域A2和A3。
步骤S105:将记录的所有的最小封闭区域作为室内区域并输出。
本发明第一实施例的基于二维的室内区域确认方法通过将墙体线段集合中的每条墙体线段的值设为2,再随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域,并将两个各自对应的墙体线段减1,并记录最小封闭区域,然后重新选择一条值为1的墙体线段再次执行上述过程,直至所有墙体线段的值均为0为止,再将记录的所有的最小封闭区域作为室内区域,其能够识别二维平面下所绘制的户型中的所有室内区域,精确度高,而且不需要用户手动去抓取或标记室内区域,提升了室内设计时的效率,降低了设计人员的工作量。
图3是本发明第二实施例的基于二维的室内区域确认方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S201:获取二维平面下墙体框架的所有墙体线段的端点。
步骤S202:逐个判断每个墙体线段的两个端点是否分别与其他墙体线段连接。若是,则执行步骤S203。
步骤S203:将墙体线段标记为有效墙体线段,并添加至墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2。
需要说明的是,墙体框架包括多条线段,由墙体框架可以构成封闭的室内区域,以及半开放式的室外区域,而构成室内封闭区域的墙体线段两端必定分别与其他两条墙体线段连接,因此,本实施例中,通过墙体线段的两个端点的连接情况判断墙体线段是构成室内的封闭区域的墙体还是构成室外的半开放式区域的墙体。
步骤S204:从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域。
在本实施例中,图3中的步骤S204和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S205:将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段。
在本实施例中,图3中的步骤S205和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S206:再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止。
在本实施例中,图3中的步骤S206和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S207:将记录的所有的最小封闭区域作为室内区域并输出。
在本实施例中,图3中的步骤S207和图1中的步骤S105类似,为简约起见,在此不再赘述。
本申请第二实施例的基于二维的室内区域确认方法在第一实施例的基础上通过检测墙体线段两个端点与其他墙体线段之间的连接情况来确认墙体线段是否为组成封闭室内区域的墙体线段,从而将不是组成室内区域的墙体线段剔除。
图4是本发明第三实施例的基于二维的室内区域确认方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。如图4所示,该方法包括步骤:
步骤S301:获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2。
在本实施例中,图4中的步骤S301和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S302:从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域。
在本实施例中,图4中的步骤S302和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S303:将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段。
在本实施例中,图4中的步骤S303和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S304:再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止。
在本实施例中,图4中的步骤S304和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S305:将记录的所有的最小封闭区域作为室内区域并输出。
在本实施例中,图4中的步骤S305和图1中的步骤S105类似,为简约起见,在此不再赘述。
步骤S306:将二维平面下的墙体框架转换为三维墙体模型,并为每个最小封闭区域自动生成地面。
本申请第三实施例的基于二维的室内区域确认方法在第一实施例的基础上通过在将二维平面下的墙体框架转换为三维墙体模型后,自动为每个最小封闭区域生成地面,不需要设计人员手动操作,进一步提升了效率。
图5是本发明实施例的基于二维的室内区域确认装置的结构示意图。如图5所示,该装置50包括获取模块51、查询模块52、记录模块53、循环模块54和输出模块55。
获取模块51,用于获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将墙体线段集合中的每条墙体线段的值设为2。
查询模块52,用于从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域。
记录模块53,用于将最大封闭区域、最小封闭区域各自对应的墙体线段的值均减1,并记录最小封闭区域,以及组成最小封闭区域的所有墙体线段。
循环模块54,用于再次从墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至墙体线段集合中的每条墙体线段的值均为0为止。
输出模块55,用于将记录的所有的最小封闭区域作为室内区域并输出。
可选地,获取模块51获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合的操作还可以为:获取二维平面下墙体框架的所有墙体线段的端点;逐个判断每个墙体线段的两个端点是否分别与其他墙体线段连接;若是,则将墙体线段标记为有效墙体线段,并添加至墙体线段集合。
可选地,查询模块52从墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括起始墙体线段的最大封闭区域和最小封闭区域的操作还可以为:从墙体线段集合中随机选取起始墙体线段;以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最小的墙体线段,直至找到起始墙体线段的另一端为止,得到第一封闭区域;以起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最大的墙体线段,直至找到起始墙体线段的另一端为止,得到第二封闭区域;遍历第一封闭区域对应的所有第一墙体线段,若每条第一墙体线段的中点均处于第二封闭区域范围内,则第一封闭区域为最小封闭区域,第二封闭区域为最大封闭区域,否则第一封闭区域为最大封闭区域,第二封闭区域为最小封闭区域。
可选地,查询模块52遍历第一封闭区域对应的所有第一墙体线段,若每条第一墙体线段的中点均处于第二封闭区域范围的操作还可以为:以中点为起点作射线,得到射线与第二封闭区域对应的所有第二墙体线段的交点个数,射线与每条墙体线段均不重合;当交点个数为奇数时,中点在第二封闭区域内;当交点个数为偶数时,中点在第二封闭区域外。
可选地,当墙体线段的两端均仅与一条墙体线段连接时,第一封闭区域与第二封闭区域相同,将第一封闭区域为最小封闭区域。
可选地,输出模块55将记录的所有的最小封闭区域作为室内区域并输出之后,还用于:将二维平面下的墙体框架转换为三维墙体模型,并为每个最小封闭区域自动生成地面。
请参阅图6,图6为本发明实施例的终端的结构示意图。如图6所示,该终端60包括处理器61及和处理器61耦接的存储器62。
存储器62存储有用于实现上述任一实施例所述的基于二维的室内区域确认方法的程序指令。
处理器61用于执行存储器62存储的程序指令以确认室内设计中的室内区域。
其中,处理器61还可以称为CPU(Central Processing Unit,中央处理单元)。处理器61可能是一种集成电路芯片,具有信号的处理能力。处理器61还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图7,图7为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件71,其中,该程序文件71可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (6)
1.一种基于二维的室内区域确认方法,其特征在于,包括:
获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将所述墙体线段集合中的每条墙体线段的值设为2;
从所述墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括所述起始墙体线段的最大封闭区域和最小封闭区域;
所述从所述墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括所述起始墙体线段的最大封闭区域和最小封闭区域,包括,
从所述墙体线段集合中随机选取所述起始墙体线段;
以所述起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最小的墙体线段,直至找到所述起始墙体线段的另一端为止,得到第一封闭区域;
以所述起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最大的墙体线段,直至找到所述起始墙体线段的另一端为止,得到第二封闭区域;
遍历所述第一封闭区域对应的所有第一墙体线段,若每条所述第一墙体线段的中点均处于所述第二封闭区域范围内,则所述第一封闭区域为所述最小封闭区域,所述第二封闭区域为所述最大封闭区域,否则所述第一封闭区域为所述最大封闭区域,所述第二封闭区域为所述最小封闭区域;
所述遍历所述第一封闭区域对应的所有第一墙体线段,若每条所述第一墙体线段的中点均处于所述第二封闭区域范围,包括,
以所述中点为起点作射线,得到所述射线与所述第二封闭区域对应的所有第二墙体线段的交点个数,所述射线与每条所述墙体线段均不重合;
当所述交点个数为奇数时,所述中点在所述第二封闭区域内;
当所述交点个数为偶数时,所述中点在所述第二封闭区域外;
当墙体线段的两端均仅与一条墙体线段连接时,所述第一封闭区域与所述第二封闭区域相同,所述第一封闭区域为所述最小封闭区域;
将所述最大封闭区域、所述最小封闭区域各自对应的墙体线段的值均减1,并记录所述最小封闭区域,以及组成所述最小封闭区域的所有墙体线段;
再次从所述墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行所述按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至所述墙体线段集合中的每条墙体线段的值均为0为止;
将记录的所有的最小封闭区域作为室内区域并输出。
2.根据权利要求1所述的基于二维的室内区域确认方法,其特征在于,所述获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,包括:
获取二维平面下墙体框架的所有墙体线段的端点;
逐个判断每个所述墙体线段的两个端点是否分别与其他墙体线段连接;
若是,则将所述墙体线段标记为有效墙体线段,并添加至所述墙体线段集合。
3.根据权利要求1所述的基于二维的室内区域确认方法,其特征在于,所述将记录的所有的最小封闭区域作为室内区域并输出之后,还包括:
将所述二维平面下的墙体框架转换为三维墙体模型,并为每个所述最小封闭区域自动生成地面。
4.一种基于二维的室内区域确认装置,其特征在于,包括:
获取模块,用于获取二维平面下的墙体框架的所有墙体线段组成的墙体线段集合,并将所述墙体线段集合中的每条墙体线段的值设为2;
查询模块,用于从所述墙体线段集合中随机选取一条起始墙体线段,按顺时针方向或逆时针方向查询依次连接的墙体线段,得到包括所述起始墙体线段的最大封闭区域和最小封闭区域;
所述查询模块还用于从所述墙体线段集合中随机选取所述起始墙体线段;以所述起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最小的墙体线段,直至找到所述起始墙体线段的另一端为止,得到第一封闭区域;以所述起始墙体线段的一端开始,按顺时针方向或逆时针方向查询依次连接且墙体线段之间夹角最大的墙体线段,直至找到所述起始墙体线段的另一端为止,得到第二封闭区域;遍历所述第一封闭区域对应的所有第一墙体线段,以所述第一墙体线段的中点为起点作射线,得到所述射线与所述第二封闭区域对应的所有第二墙体线段的交点个数,所述射线与每条所述墙体线段均不重合;当所述交点个数为奇数时,所述中点在所述第二封闭区域内;当所述交点个数为偶数时,所述中点在所述第二封闭区域外;若每条所述第一墙体线段的中点均处于所述第二封闭区域范围内,则所述第一封闭区域为所述最小封闭区域,所述第二封闭区域为所述最大封闭区域,否则所述第一封闭区域为所述最大封闭区域,所述第二封闭区域为所述最小封闭区域;当墙体线段的两端均仅与一条墙体线段连接时,所述第一封闭区域与所述第二封闭区域相同,所述第一封闭区域为所述最小封闭区域;
记录模块,用于将所述最大封闭区域、所述最小封闭区域各自对应的墙体线段的值均减1,并记录所述最小封闭区域,以及组成所述最小封闭区域的所有墙体线段;
循环模块,用于再次从所述墙体线段集合中选取一条值为1的墙体线段作为新的起始墙体线段,并执行所述按顺时针方向或逆时针方向寻找相互连接的墙体线段以及后续步骤,直至所述墙体线段集合中的每条墙体线段的值均为0为止;
输出模块,用于将记录的所有的最小封闭区域作为室内区域并输出。
5.一种终端,其特征在于,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现如权利要求1-3中任一项所述的基于二维的室内区域确认方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以确认室内设计中的室内区域。
6.一种存储介质,其特征在于,存储有能够实现如权利要求1-3中任一项所述的基于二维的室内区域确认方法的程序文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681031.3A CN112270739B (zh) | 2020-07-15 | 2020-07-15 | 基于二维的室内区域确认方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681031.3A CN112270739B (zh) | 2020-07-15 | 2020-07-15 | 基于二维的室内区域确认方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112270739A CN112270739A (zh) | 2021-01-26 |
CN112270739B true CN112270739B (zh) | 2024-05-14 |
Family
ID=74349122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010681031.3A Active CN112270739B (zh) | 2020-07-15 | 2020-07-15 | 基于二维的室内区域确认方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270739B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030070524A (ko) * | 2002-02-25 | 2003-08-30 | 삼성에스디에스 주식회사 | 유선 및 무선 인터넷 환경에서의 편리한 2차원 및 3차원인테리어 도면 동시 설계 방법 |
CN108133116A (zh) * | 2018-01-15 | 2018-06-08 | 北京居然设计家家居连锁集团有限公司 | Cad户型图墙厚自动识别方法及系统 |
CN108763606A (zh) * | 2018-03-12 | 2018-11-06 | 江苏艾佳家居用品有限公司 | 一种基于机器视觉的户型图元素自动提取方法与系统 |
CN109711018A (zh) * | 2018-12-15 | 2019-05-03 | 武汉兴联云立方科技有限公司 | 一种二维到三维的户型设计方法 |
CN111275820A (zh) * | 2020-01-15 | 2020-06-12 | 深圳市华橙数字科技有限公司 | 基于二维平面绘制三维墙体方法、装置、终端和存储介质 |
-
2020
- 2020-07-15 CN CN202010681031.3A patent/CN112270739B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030070524A (ko) * | 2002-02-25 | 2003-08-30 | 삼성에스디에스 주식회사 | 유선 및 무선 인터넷 환경에서의 편리한 2차원 및 3차원인테리어 도면 동시 설계 방법 |
CN108133116A (zh) * | 2018-01-15 | 2018-06-08 | 北京居然设计家家居连锁集团有限公司 | Cad户型图墙厚自动识别方法及系统 |
CN108763606A (zh) * | 2018-03-12 | 2018-11-06 | 江苏艾佳家居用品有限公司 | 一种基于机器视觉的户型图元素自动提取方法与系统 |
CN109711018A (zh) * | 2018-12-15 | 2019-05-03 | 武汉兴联云立方科技有限公司 | 一种二维到三维的户型设计方法 |
CN111275820A (zh) * | 2020-01-15 | 2020-06-12 | 深圳市华橙数字科技有限公司 | 基于二维平面绘制三维墙体方法、装置、终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112270739A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102125959B1 (ko) | 포인트 클라우드 데이터 사이의 매칭 관계를 확정하는 방법 및 장치 | |
CN104581111B (zh) | 利用变换的目标区域填充 | |
CN111275820B (zh) | 基于二维平面绘制三维墙体方法、装置、终端和存储介质 | |
CN103900583A (zh) | 用于即时定位与地图构建的设备和方法 | |
CN105046735A (zh) | 一种基于基元分布的三维表面纹理合成方法 | |
CN112381862B (zh) | 一种cad模型与三角网格全自动配准方法和装置 | |
KR20230142627A (ko) | 충돌 데이터 프로세싱 방법 및 장치, 저장 매체, 및 전자 디바이스 | |
WO2022016942A1 (zh) | 一种目标检测方法、装置、电子设备及存储介质 | |
WO2022242259A1 (zh) | 数据处理方法、装置、设备及介质 | |
CN109767391A (zh) | 点云去噪方法、图像处理设备及具有存储功能的装置 | |
CN112825199B (zh) | 碰撞检测方法、装置、设备及存储介质 | |
CN107203962B (zh) | 一种利用2d图片制作伪3d图像的方法及电子设备 | |
CN112509027A (zh) | 重定位方法、机器人及计算机可读存储介质 | |
CN116051734A (zh) | 基于三维激光扫描及实景三维建模的工程量快速统计方法 | |
CN113052954A (zh) | 基于线段匹配的三维重建方法、装置、终端及存储介质 | |
CN112270739B (zh) | 基于二维的室内区域确认方法、装置、终端及存储介质 | |
WO2024067716A1 (zh) | 一种网格重建方法、装置、设备和存储介质 | |
US7181377B1 (en) | Method of modifying a volume mesh using sheet extraction | |
CN114429534A (zh) | 三维模型处理方法、装置、电子设备及存储介质 | |
CN109410336A (zh) | 网格细分方法、图像处理设备及具有存储功能的装置 | |
CN104850820B (zh) | 一种脸部识别方法及装置 | |
CN109767492A (zh) | 一种变电站三维模型的间距计算方法 | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
CN115375699B (zh) | 点云分割方法、移动机器人及计算机可读存储介质 | |
WO2023005195A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |