CN109272569A - 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法 - Google Patents

一种autocad建筑二维图快速提取并生成楼层轮廓线的方法 Download PDF

Info

Publication number
CN109272569A
CN109272569A CN201810876707.7A CN201810876707A CN109272569A CN 109272569 A CN109272569 A CN 109272569A CN 201810876707 A CN201810876707 A CN 201810876707A CN 109272569 A CN109272569 A CN 109272569A
Authority
CN
China
Prior art keywords
point
pixel
vector
autocad
boundary
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
Application number
CN201810876707.7A
Other languages
English (en)
Other versions
CN109272569B (zh
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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201810876707.7A priority Critical patent/CN109272569B/zh
Publication of CN109272569A publication Critical patent/CN109272569A/zh
Application granted granted Critical
Publication of CN109272569B publication Critical patent/CN109272569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (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)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种外形提取的方法,更具体地,涉及一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,本发明提供一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,通过设置避开建筑楼层二维图的一些不需要的突出部分,提取楼层外边界的特征点,并且用这些特征点直接在autocad上直线生成近似的多段线,去描述楼层外边界。本发明把斜直线、圆弧和非斜直线归为三类,分别以不同的像素值表示(有利于接下来取特征点,使得较少的特征点就可以描述上述三类图元),再以像素值为4的像素点表示autocad的图元交点(为了跳出边界进入建筑二维图的突出部分),能快速找到建筑二维图的楼层边界特征点,并用这些特征点生成autocad上的多段线,大大的减少了人工操作。

Description

一种autocad建筑二维图快速提取并生成楼层轮廓线的方法
技术领域
本发明涉及一种外形提取的方法,更具体地,涉及一种autocad建筑二维图快速提取并生成楼层轮廓线的方法。
背景技术
建筑二维图高度复杂,但是些项目仅需要建筑二维图楼层的外边界信息,无需其他图元信息。比如,在建立建筑大楼3D模型的时候,只需要建筑大楼每层楼外围形状,因而只需要外边界线及其信息,而不需要其他内部图元的信息。该方法可以实现快速对autoCAD建筑二维图中的边界特征点进行自动化快速提取,进而利用这些特征点集生成autoCAD多段线,如图1的红色多段线,用此多段线描述建筑楼层图的外边界并进行3D建模和后续的处理,大大减少了人工操作,提高效率。该方法还可以应用在其他复杂图纸,对实体边界(轮廓)进行提取,如机械零件图的外边界(轮廓)的自动化提取等等。
现有的图像处理技术可以比较好的找到图形的外围轮廓,但是不避开下图1这种情况。如图1所示,楼层外边界需要的是红色部分,而一般的图像处理找外轮廓无法避开突出的部分,并且传统的图像处理找外轮廓得到的一系列像素点,并不能直接得到autocad上的多段线实体,无法进行其他操作(如给楼层边界添加名称信息等)。并且对于斜直线,圆弧等图形,传统的图形处理需要用很多像素点去描述,这样会导致生成的autocad多段线顶点过多,对于后续的操作带来很多大不便。如:顶点过多的多段线用于3D建模刷新效率太低。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷,提供一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,通过设置避开建筑楼层二维图的一些不需要的突出部分,提取楼层外边界的特征点,并且用这些特征点直接在autocad上直线生成近似的多段线,去描述楼层外边界。
为解决上述技术问题,本发明采用的技术方案是:
提供一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,具体步骤如下:
在软件autocad中框选边界部分的实体;并且对框选的实体中非水平和非垂直的直线进行分类标注,直线中,非水平和非垂直的直线标记为A,水平和垂直的直线归记为C,圆弧标记为B;
(1)在步骤(1)之后,将直线和直线、直线和圆弧、圆弧和圆弧之间的交点坐标都找出来标记为一个集合D;在autocad软件上通过人机交互,提示让用户点选一条线作为起始外轮廓边界,记为S;
(2)在步骤(2)之后,将所框选的实体进行图像数字化,即将标记后的A、B、C、D、S分别给不同的像素值;
(3)在步骤(3)之后,设定外墙轮廓迭代的方向,设定顺时针为迭代方向,即选定起始外围轮廓、startpoint2点、startpoint1点、endpiont点;
(4)在步骤(4)之后,进行算法的计算,以startpoint1点,statrpiont2点作为一个向量的起点和终点,以startpoint2点的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点;然后把向量替换为向量再次进行判断,找出新的向量一直循环到八邻域出现endpiont点则跳出循环;;
(5)在步骤(5)之后,找到建筑楼层二维图的边界像素点集合D;对这些像素点进行采样,取出特征点;
(6)在步骤(6)之后,图像数字化后,像素图和autocad原始图的坐标的比列都不一样,下面对像素图的像素点坐标做变换,旨在得到autocad原图一致的坐标点,从而便于autocad直接生成楼层外边界多段线。
优选地,在步骤(3)中,设定类A的像素值为1,类B的像素值为2,类C的像素值为3,类S的像素点为0。
优选地,在步骤(4)设定外墙轮廓迭代的方向中,具体步骤如下:
若步骤(4)选择的是最下边界作为起始外围轮廓,则把最左的0像素点作为startpoint2点,次最左的0像素点作为startpoint1点,把最右的0像素点作为endpiont点;若步骤(4)选择的是最上边界作为起始外围轮廓,则把最右的0像素点作为startpoint2点,次最右的0像素点作为startpoint1点,把最左的0像素点作为endpiont点;若步骤(4)选择的是最右边界作为起始外围轮廓,则把最下的0像素点作为startpoint2点,次最下的0像素点作为startpoint1点,把最上的0像素点作为endpiont点;若步骤(4)选择的是最左边界作为起始外围轮廓,则把最上的0像素点作为startpoint2点,次最上的0像素点作为startpoint1点,把最下的0像素点作为endpiont点。
优选地,在步骤(5)中,算法的计算的具体步骤如下:
(i)以步骤(4)中的startpoint1,statrpiont2作为一个向量的起点和终点,以startpoint2的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点(已选的边界像素点不进行重复判断);计算向量和向量的余弦值;其中为像素点坐标;从而得出余弦角的公式为:
且计算向量和向量的叉乘:
(ii)进行判断;如果向量和向量的叉乘值大于0,则θ1=θ1,如果叉乘值小于0,则θ1=-θ1,最后取θ1~θ8中最大θ值对应的向量为目标向量,向量的终点为我们要找的外边界像素点;
(iii)设定再以新找到的像素点的八零域进行上述判断,找出下个外边界像素点;方法的几何含义是:以顺时针的方向循环时,边界像素点总在上一次向量的最左边;向量的叉乘的正负能判断向量先对向量时处于左边还是右边,结合θ角能求出相对与向量最左的向量,且对应的θ角最大。
优选地,在步骤(iii)中,
在startpoint2的八邻域内有向量,将向量分别与向量按照上面所述求出θ1和θ2的值,得到θ1<θ2,则选择向量为对应的像素值为4的点为外边界像素点(contourpoint);接着向量变为刚才得到的向量,再以contourpoint的八邻域像素点进行下次判断,一直循环到contourpoint的八邻域出现endpoint点则跳出循环;每次搜索的八邻域中,如果含有像素值为4的像素点,在找到外边界像素点(contourpoint)后,把与contourpoint点最近的像素值为4的点激活。
优选地,在步骤(7)中,
对集合D1的每个像素点坐标进行坐标变换,公式如下:
为变换后的坐标,为变换前的坐标,并即变换后的点集合为D2
优选地,在步骤(7)中,在autoCAD上输入一个建筑二维图边界的放置基准点setpoint(即在该点生成楼层边界多段线);假设以点集合为D2第一个像素点与setpoint坐标对应。setpoint.x为setpoint的横坐标,setpoint.y因为setpoint的纵坐标。Δx为基准点横坐标和第一个像素点横坐标的差值,Δy为基准点横坐标和第一个像素点纵坐标的差值。
然后对点集合D2每一个点进行变换,即
优选地,在步骤(7)中,求1个像素点对应实际工程图中的距离(即使像素点距离大小与实际建筑二维图距离一致),记为R;具体步骤如下:根据建筑二维图的边界外形,选择最上最下点(或最左最右点);若选择的是最上最下点,则记录这两点的纵坐标差Δd,若选择的是最左最右点则记录这两点的横坐标差Δd;对应的求出点集合D1中的最上最下像素点的纵坐标差ΔD(或者最左最右像素点横坐标差ΔD)
优选地,在步骤(7)中,生成建筑二维楼层边界线的具体步骤如下:以点集合D2的第一个点为标准点,对其余的像素点坐标进行R比例变换,假设点集合D2第一个点为rate_point1,其余点为rate_point_n;x代表横坐标,y代表纵坐标;Δpx两点间的横像素坐标差;
Δpx=rate_point_n.x-rate_point1.x
Δpy=rate_point_n.y-rate_pointl.y
rate_point_n.x=rate_point1.x+R*Δpx
rate_point_n.y=rate_point1.y+R*Δpy
记经过该步骤变换的像素点坐标为点集合D3,点集合D3则为建筑二维楼层边界图的特征点,用这个点集D3作为autoCAD的多段线顶点,则可以在基点setpoint处生成建筑二维楼层边界线
与现有技术相比,本发明的有益效果是:
本发明提供一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,通过设置避开建筑楼层二维图的一些不需要的突出部分,提取楼层外边界的特征点,并且用这些特征点直接在autocad上直线生成近似的多段线,去描述楼层外边界。本发明把斜直线、圆弧和非斜直线归为三类,分别以不同的像素值表示(有利于接下来取特征点,使得较少的特征点就可以描述上述三类图元),再以像素值为4的像素点表示autocad的图元交点(为了跳出边界进入建筑二维图的突出部分),能快速找到建筑二维图的楼层边界特征点,并用这些特征点生成autocad上的多段线,大大的减少了人工操作。
附图说明
图1为本发明现有技术处理的图形外围轮廓的结构示意图。
图2为本发明的流程图。
图3为本发明步骤(6)中边界像素点寻找的示意图。
图4为点集合D生成多段线的示意图。
图5为坐标变换的结构示意图。
图6为本发明的具体工作流程图。
图7为算法生成的效果图。
具体实施方式
下面结合具体实施方式对本发明作进一步的说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
实施例
如图1至7所示为本发明一种autocad建筑二维图快速提取并生成楼层轮廓线的方法的实施例,具体步骤如下:
(1)在软件autocad中框选边界部分的实体;并且对框选的实体中非水平和非垂直的直线进行分类标注,直线中,非水平和非垂直的直线标记为A,水平和垂直的直线归记为C,圆弧标记为B;
(2)在步骤(1)之后,将直线和直线、直线和圆弧、圆弧和圆弧之间的交点坐标都找出来标记为一个集合D;在autocad软件上通过人机交互,提示让用户点选一条线作为起始外轮廓边界,记为S;
(3)在步骤(2)之后,将所框选的实体进行图像数字化,即将标记后的A、B、C、D、S分别给不同的像素值;
(4)在步骤(3)之后,设定外墙轮廓迭代的方向,设定顺时针为迭代方向,即选定起始外围轮廓、startpoint2点、startpoint1点、endpiont点;
(5)在步骤(4)之后,进行算法的计算,以startpoint1点,statrpiont2点作为一个向量的起点和终点,以startpoint2点的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点;然后把向量替换为向量再次进行判断,找出新的向量一直循环到八邻域出现endpiont点则跳出循环;
(6)在步骤(5)之后,找到建筑楼层二维图的边界像素点集合D;对这些像素点进行采样,取出特征点;
(7)在步骤(6)之后,图像数字化后,像素图和autocad原始图的坐标的比列都不一样,下面对像素图的像素点坐标做变换,旨在得到autocad原图一致的坐标点,从而便于autocad直接生成楼层外边界多段线。
其中,在步骤(3)中,设定类A的像素值为1,类B的像素值为2,类C的像素值为3,类S的像素点为0。
另外,在步骤(4)设定外墙轮廓迭代的方向中,具体步骤如下:
若步骤(4)选择的是最下边界作为起始外围轮廓,则把最左的0像素点作为startpoint2点,次最左的0像素点作为startpoint1点,把最右的0像素点作为endpiont点;若步骤(4)选择的是最上边界作为起始外围轮廓,则把最右的0像素点作为startpoint2点,次最右的0像素点作为startpoint1点,把最左的0像素点作为endpiont点;若步骤(4)选择的是最右边界作为起始外围轮廓,则把最下的0像素点作为startpoint2点,次最下的0像素点作为startpoint1点,把最上的0像素点作为endpiont点;若步骤(4)选择的是最左边界作为起始外围轮廓,则把最上的0像素点作为startpoint2点,次最上的0像素点作为startpoint1点,把最下的0像素点作为endpiont点。
其中,在步骤(5)中,算法的计算的具体步骤如下:
(i)以步骤(4)中的startpoint1,statrpiont2作为一个向量的起点和终点,以startpoint2的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点(已选的边界像素点不进行重复判断);计算向量和向量的余弦值;其中为像素点坐标;从而得出余弦角的公式为:
且计算向量和向量的叉乘:
(ii)进行判断;如果向量和向量的叉乘值大于0,则θ1=θ1,如果叉乘值小于0,则θ1=-θ1,最后取θ1~θ8中最大θ值对应的向量为目标向量,向量的终点为我们要找的外边界像素点;
(iii)设定再以新找到的像素点的八零域进行上述判断,找出下个外边界像素点;方法的几何含义是:以顺时针的方向循环时,边界像素点总在上一次向量的最左边;向量的叉乘的正负能判断向量先对向量时处于左边还是右边,结合θ角能求出相对与向量最左的向量,且对应的θ角最大。
另外,在步骤(iii)中,
在startpoint2的八邻域内有向量,将向量分别与向量按照上面所述求出θ1和θ2的值,得到θ1<θ2,则选择向量为对应的像素值为4的点为外边界像素点(contourpoint);接着向量变为刚才得到的向量,再以contourpoint的八邻域像素点进行下次判断,一直循环到contourpoint的八邻域出现endpoint点则跳出循环;每次搜索的八邻域中,如果含有像素值为4的像素点,在找到外边界像素点(contourpoint)后,把与contourpoint点最近的像素值为4的点激活。
其中,在步骤(7)中,对集合D1的每个像素点坐标进行坐标变换,公式如下:
为变换后的坐标,为变换前的坐标,并即变换后的点集合为D2
另外,在步骤(7)中,在autoCAD上输入一个建筑二维图边界的放置基准点setpoint(即在该点生成楼层边界多段线);假设以点集合为D2第一个像素点与setpoint坐标对应。setpoint.x为setpoint的横坐标,setpoint.y因为setpoint的纵坐标。Δx为基准点横坐标和第一个像素点横坐标的差值,Δy为基准点横坐标和第一个像素点纵坐标的差值。
然后对点集合D2每一个点进行变换,即
其中,在步骤(7)中,求1个像素点对应实际工程图中的距离(即使像素点距离大小与实际建筑二维图距离一致),记为R;具体步骤如下:根据建筑二维图的边界外形,选择最上最下点(或最左最右点);若选择的是最上最下点,则记录这两点的纵坐标差Δd,若选择的是最左最右点则记录这两点的横坐标差Δd;对应的求出点集合D1中的最上最下像素点的纵坐标差ΔD(或者最左最右像素点横坐标差ΔD)
另外,在步骤(7)中,生成建筑二维楼层边界线的具体步骤如下:以点集合D2的第一个点为标准点,对其余的像素点坐标进行R比例变换,假设点集合D2第一个点为rate_point1,其余点为rate_point_n;x代表横坐标,y代表纵坐标;Δpx两点间的横像素坐标差;
Δpy=rate_point_n.x-rate_point1.x
Δpy=rate_point_n.y-rate_point1.y
rate_point_n.x=rate_point1.x+R*Δpx
rate_point_n.y=rate_point1.y+R*Δpy
记经过该步骤变换的像素点坐标为点集合D3,点集合D3则为建筑二维楼层边界图的特征点,用这个点集D3作为autoCAD的多段线顶点,则可以在基点setpoint处生成建筑二维楼层边界线。
具体的原理步骤如下:
(1)先在autocad软件上框选边界部分的实体。(由于建筑平面图一般都很复杂,用autocad有选择性的框选边界附近部分,能加速算法的实现)。
(2)把框选的实体中非水平和非垂直的直线识别出来归为类A,把圆弧识别出来作为类B,把除了上述说明的实体识别出来作为类C。
(3)然后把直线和直线、直线和圆弧、圆弧和圆弧之间的交点坐标都找出来作为一个集合D。(这里只求上述三种实体的交点,是因为一般建筑二维图的边界都由这三种实体组成,如果该边界还有其他类型实体组成,则可以把它们的交点加上,交点用于后面的算法,处理方式一样)。人机交互点选一条(最右,最右最上或者最下)边界作为起始外围轮廓边界,记为类S。
(4)把上述的所框选的实体进行图像数字化,数字化过程中,类A、类B、类C、类S分别给不同的像素值(这里假设类A给像素值1,类B给像素值2,类C给像素值3,类S给像素点0),对于3中所述的交点,把交点所在的像素点的像素值设置成4.此外,类S还要记录它是属于类A、B、C的哪一类。
(5)规定外墙轮廓迭代的方向,本说明书以顺时针为迭代方向。若步骤3选择的是最下边界作为起始外围轮廓,则把最左的0像素点极为startpoint2点,次最左的0像素点作为startpoint1点,把最右的0像素点作为endpiont点。(若步骤3选择的是最上边界作为起始外围轮廓,则把最右的0像素点极为startpoint2点,次最右的0像素点作为startpoint1点,把最左的0像素点作为endpiont点。若步骤3选择的是最右边界作为起始外围轮廓,则把最下的0像素点极为startpoint2点,次最下的0像素点作为startpoint1点,把最上的0像素点作为endpiont点。若步骤3选择的是最左边界作为起始外围轮廓,则把最上的0像素点极为startpoint2点,次最上的0像素点作为startpoint1点,把最下的0像素点作为endpiont点。)
(6)算法的主要部分是,以步骤5的startpoint1,statrpiont2作为一个向量的起点和终点,以startpoint2的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点(已选的边界像素点不进行重复判断)。计算向量和向量的余弦值。其中为像素点坐标。
计算向量和向量的叉乘:
如果向量和向量的叉乘值大于0,则θ1=θ1,如果叉乘值小于0,则θ1=-θ1,最后取θ1~θ8中最大θ值对应的向量为目标向量,向量的终点为我们要找的外边界像素点。然后再以新找到的像素点的八零域进行上述判断,找出下个外边界像素点。方法的几何含义是:以顺时针的方向循环时,边界像素点总在上一次向量的最左边。向量的叉乘的正负能判断向量先对向量时处于左边还是右边,结合θ角能求出相对与向量最左的向量(对应的θ角最大)。如图2所示,在startpoint2的八邻域内有向量,将向量分别与向量按照上面所述求出θ1和θ2的值,得到θ1<θ2,则选择向量为对应的像素值为4的点为外边界像素点(contourpoint)。接着向量变为刚才得到的向量,再以contourpoint的八邻域像素点进行下次判断,一直循环到contourpoint的八邻域出现endpoint点则跳出循环。此间所找的contourpoint和像素值为0的像素点构成了建筑平面图的外边界像素点集合D。
(7)上述步骤每次搜索的八邻域中,如果含有像素值为4的像素点,在找到外边界像素点(contourpoint)后,把与contourpoint点最近的像素值为4的点激活。
(8)如果步骤6遇到八邻域中没有可选的像素点了,且没有回到endpoint点,那说明程序进入了突出边界路径。此时需要把循环点跳回到最近激活的像素值为4的点,从这个点八邻域进行步骤6的边界像素点的寻找。寻找过程不能与之前走过的突出边界路径一样,即在最近激活的4像素点八领域寻找新的边界路径。如果循环点跳回最近激活的4像素值点依旧没有新的路径选择,则继续往上一个激活的4像素值点调回,重复上述寻找步骤。举例如图3:红色的方向皆不是我们想要找的建筑二维图边界,当步骤6的循环到了A方向的3像素点时,已经无法继续循环下去,则需要跳回最近激活的4像素点,从该店继续步骤6判断,选择到B方向,此时4像素点再次被激活,又到B方向尽头时,发现无法再进行下去,则又跳回4像素点,找到了C方向。接着按照步骤6会继续走到D方向尽头,又出现无法循环的且没有回到endpoint的情况,则跳回最近激活的4像素点,发现没有新的路径可以走,则该4像素点没被激活,继续往上一个4像素点跳回,则可以找到E方向。如图2所示。
(9)根据前面的步骤,我们能找到建筑楼层二维图的边界像素点集合D。下面则对这些像素点进行采样,因为该集合的点太多,最终生成的autoCAD的多段线不需要这么多点,只需要特征点。如果把全部的点集合D都用来生成多段线,则会使得画出来的autoCAD多段线的点太多,给以后的边界可视化和使用带来很大不便。如图3所示。把步骤10、11、12优化后的点集记为集合D1
(10)把相邻的像素值为3或者4的点进行判断,是否在统一直线上。具体的方法为:判断相邻的像素值为3的像素点的横坐标或纵坐标是否一致。如果如果一致,说明它们是一条直线上的点,则只取首尾两点,其他的像素点删除。
(11)把相邻的像素点为1的点集只取首尾两点,取完之后,若…11411…这种情况,可以通过判断前一对11像素点的斜率,和后一对11像素点的斜率是否一致,若一致或者两者斜率的差低于阈值K,可将两者合并为一条斜直线。(K的值可以视情况而给)
(12)相邻像素值为2的点集,说明这些点集是圆弧实体组成的,这可以根据实际需要的建筑二维图边界的精度来确定一个阈值F。这个阈值F决定最后边界多段线拟合圆弧的精度。如阈值F取3,即在相邻像素点为2的点集中,每3个像素点,取一个点。
(13)图像数字化后,像素图和autocad原始图的坐标的比列都不一样,下面对像素图的像素点坐标做变换,旨在得到autocad原图一致的坐标点,用于autocad直接生成楼层外边界多段线。一般情况下,图像数字化之后的坐标系如图3左边所示,而autoCAD的坐标系则如图4右边所示,故需要对集合D1的每个像素点坐标进行坐标变换,公式如下:
为变换后的坐标,为变换前的坐标,并即变换后的点集合为D2
(14)在autoCAD上输入一个建筑二维图边界的放置基准点setpoint(即在该点生成楼层边界多段线)。假设以点集合为D2第一个像素点与setpoint坐标对应。setpoint.x为setpoint的横坐标,setpoint.y因为setpoint的纵坐标。Δx为基准点横坐标和第一个像素点横坐标的差值,Δy为基准点横坐标和第一个像素点纵坐标的差值。
然后对点集合D2每一个点进行变换,即
(15)求1个像素点对应实际工程图中的距离(即使像素点距离大小与实际建筑二维图距离一致),记为R。根据建筑二维图的边界外形,选择最上最下点(或最左最右点)。若选择的是最上最下点,则记录这两点的纵坐标差Δd,若选择的是最左最右点则记录这两点的横坐标差Δd。对应的,求出点集合D1中的最上最下像素点的纵坐标差ΔD(或者最左最右像素点横坐标差ΔD)。
(16)以点集合D2的第一个点为标准点,对其余的像素点坐标进行R比例变换。假设点集合D2第一个点为rate_point1,其余点为rate_point_n。x代表横坐标,y代表纵坐标。Δpx两点间的横像素坐标差
Δpx=rate_point_n.x-rate_point1.x
Δpy=rate_point_n.y-rate_point1.y
rate_point_n.x=rate_point1.x+R*Δpx
rate_point_n.y=rate_point1.y+R*Δpy
记经过步骤16变换的像素点坐标为点集合D3。点集合D3则为建筑二维楼层边界图的特征点,用这个点集D3作为autoCAD的多段线顶点,则可以在基点setpoint处生成建筑二维楼层边界线。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (9)

1.一种autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,具体步骤如下:
(1)在软件autocad中框选边界部分的实体;并且对框选的实体中非水平和非垂直的直线进行分类标注,直线中,非水平和非垂直的直线标记为A,水平和垂直的直线归记为C,圆弧标记为B;
(2)在步骤(1)之后,将直线和直线、直线和圆弧、圆弧和圆弧之间的交点坐标都找出来标记为一个集合D;在autocad软件上通过人机交互,提示让用户点选一条线作为起始外轮廓边界,记为S;
(3)在步骤(2)之后,将所框选的实体进行图像数字化,即将标记后的A、B、C、D、S分别给不同的像素值;
(4)在步骤(3)之后,设定外墙轮廓迭代的方向,设定顺时针为迭代方向,即选定起始外围轮廓、startpoint2点、startpoint1点、endpiont点;
(5)在步骤(4)之后,进行算法的计算,以startpoint1点,statrpiont2点作为一个向量的起点和终点,以startpoint2点的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点;然后把向量替换为向量再次进行判断,找出新的向量一直循环到八邻域出现endpiont点则跳出循环;
(6)在步骤(5)之后,找到建筑楼层二维图的边界像素点集合D;对这些像素点进行采样,取出特征点;
(7)在步骤(6)之后,图像数字化后,像素图和autocad原始图的坐标的比列都不一样,下面对像素图的像素点坐标做变换,旨在得到autocad原图一致的坐标点,从而便于autocad直接生成楼层外边界多段线。
2.根据权利要求1所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(3)中,设定类A的像素值为1,类B的像素值为2,类C的像素值为3,类S的像素点为0。
3.根据权利要求2所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(4)设定外墙轮廓迭代的方向中,具体步骤如下:
若步骤(4)选择的是最下边界作为起始外围轮廓,则把最左的0像素点作为startpoint2点,次最左的0像素点作为startpoint1点,把最右的0像素点作为endpiont点;若步骤(4)选择的是最上边界作为起始外围轮廓,则把最右的0像素点作为startpoint2点,次最右的0像素点作为startpoint1点,把最左的0像素点作为endpiont点;若步骤(4)选择的是最右边界作为起始外围轮廓,则把最下的0像素点作为startpoint2点,次最下的0像素点作为startpoint1点,把最上的0像素点作为endpiont点;若步骤(4)选择的是最左边界作为起始外围轮廓,则把最上的0像素点作为startpoint2点,次最上的0像素点作为startpoint1点,把最下的0像素点作为endpiont点。
4.根据权利要求3所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(5)中,算法的计算的具体步骤如下:
(i)以步骤(4)中的startpoint1,statrpiont2作为一个向量的起点和终点,以startpoint2的八邻域像素点为搜索范围,再以startpoint2为向量的起点,以八邻域像素点作为向量的终点(已选的边界像素点不进行重复判断);计算向量和向量的余弦值;其中为像素点坐标;从而得出余弦角的公式为:
且计算向量和向量的叉乘:
(ii)进行判断;如果向量和向量的叉乘值大于0,则θ1=θ1,如果叉乘值小于0,则θ1=-θ1,最后取θ1~θ8中最大θ值对应的向量为目标向量,向量的终点为我们要找的外边界像素点;
(iii)设定再以新找到的像素点的八零域进行上述判断,找出下个外边界像素点;方法的几何含义是:以顺时针的方向循环时,边界像素点总在上一次向量的最左边;向量的叉乘的正负能判断向量先对向量时处于左边还是右边,结合θ角能求出相对与向量最左的向量,且对应的θ角最大。
5.根据权利要求4所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(iii)中,
在startpoint2的八邻域内有向量,将向量分别与向量按照上面所述求出θ1和θ2的值,得到θ1<θ2,则选择向量为对应的像素值为4的点为外边界像素点(contourpoint);接着向量变为刚才得到的向量,再以contourpoint的八邻域像素点进行下次判断,一直循环到contourpoint的八邻域出现endpoint点则跳出循环;每次搜索的八邻域中,如果含有像素值为4的像素点,在找到外边界像素点(contourpoint)后,把与contourpoint点最近的像素值为4的点激活。
6.根据权利要求4所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(7)中,
对集合D1的每个像素点坐标进行坐标变换,公式如下:
为变换后的坐标,为变换前的坐标,并即变换后的点集合为D2
7.根据权利要求4所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(7)中,
在autoCAD上输入一个建筑二维图边界的放置基准点setpoint(即在该点生成楼层边界多段线);假设以点集合为D2第一个像素点与setpoint坐标对应。setpoint.x为setpoint的横坐标,setpoint.y因为setpoint的纵坐标。Δx为基准点横坐标和第一个像素点横坐标的差值,Δy为基准点横坐标和第一个像素点纵坐标的差值,
然后对点集合D2每一个点进行变换,即
8.根据权利要求7所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(7)中,求1个像素点对应实际工程图中的距离(即使像素点距离大小与实际建筑二维图距离一致),记为R;具体步骤如下:根据建筑二维图的边界外形,选择最上最下点(或最左最右点);若选择的是最上最下点,则记录这两点的纵坐标差Δd;若选择的是最左最右点则记录这两点的横坐标差Δd;对应的求出点集合D1中的最上最下像素点的纵坐标差ΔD(或者最左最右像素点横坐标差ΔD)
9.根据权利要求8所述的autocad建筑二维图快速提取并生成楼层轮廓线的方法,其特征在于,在步骤(7)中,生成建筑二维楼层边界线的具体步骤如下:以点集合D2的第一个点为标准点,对其余的像素点坐标进行R比例变换,假设点集合D2第一个点为rate_point1,其余点为rate_point_n;x代表横坐标,y代表纵坐标;Δpx两点间的横像素坐标差;
Δpx=rate_point_n.x-rate_point1.x
Δpy=rate_point_n.y-rate_point1.y
rate_point_n.x=rate_point1.x+R*Δpx
rate_point_n.y=rate_point1.y+R*Δpy
记经过该步骤变换的像素点坐标为点集合D3,点集合D3则为建筑二维楼层边界图的特征点,用这个点集D3作为autoCAD的多段线顶点,则可以在基点setpoint处生成建筑二维楼层边界线。
CN201810876707.7A 2018-08-03 2018-08-03 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法 Active CN109272569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810876707.7A CN109272569B (zh) 2018-08-03 2018-08-03 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810876707.7A CN109272569B (zh) 2018-08-03 2018-08-03 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法

Publications (2)

Publication Number Publication Date
CN109272569A true CN109272569A (zh) 2019-01-25
CN109272569B CN109272569B (zh) 2023-07-11

Family

ID=65153052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810876707.7A Active CN109272569B (zh) 2018-08-03 2018-08-03 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法

Country Status (1)

Country Link
CN (1) CN109272569B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934866A (zh) * 2019-03-07 2019-06-25 武大吉奥信息技术有限公司 一种图斑划分模式的提取方法、拷贝方法及装置
CN113392453A (zh) * 2021-06-10 2021-09-14 万翼科技有限公司 工程图纸中的空间提取方法、装置、电子设备和存储介质
CN113781648A (zh) * 2021-08-06 2021-12-10 清华大学建筑设计研究院有限公司 一种建筑平面交通空间的骨架提取与特征识别方法
CN114329715A (zh) * 2021-12-29 2022-04-12 深圳须弥云图空间科技有限公司 面积边界线生成方法、装置、介质与电子设备
CN115797591A (zh) * 2022-12-05 2023-03-14 浙江柒和环境艺术设计有限公司 一种虚拟建筑模型生成方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177315A1 (en) * 2004-02-06 2005-08-11 Srinka Ghosh Feature extraction of partial microarray images
US20070120844A1 (en) * 2005-11-28 2007-05-31 Baumer Optronic Gmbh Method and apparatus for the graphical operation of real-time image processing systems
JP2011085410A (ja) * 2009-10-13 2011-04-28 Nippon Steel Corp エッジ検出装置、エッジ検出方法、およびプログラム
CN104200212A (zh) * 2014-06-25 2014-12-10 西安煤航信息产业有限公司 一种基于机载LiDAR数据的建筑物外边界线提取方法
CN105046201A (zh) * 2015-06-19 2015-11-11 东南大学 一种基于形态学对建筑物图像快速识别的方法
CN106203476A (zh) * 2016-06-24 2016-12-07 浙江大学 一种基于最近邻分类与模糊算法的猪头尾轮廓识别方法
CN106650608A (zh) * 2016-10-31 2017-05-10 广东工业大学 一种无定位点试卷中矩形定位框的识别方法
CN107622499A (zh) * 2017-08-24 2018-01-23 中国东方电气集团有限公司 一种基于目标二维轮廓模型的识别与空间定位方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177315A1 (en) * 2004-02-06 2005-08-11 Srinka Ghosh Feature extraction of partial microarray images
US20070120844A1 (en) * 2005-11-28 2007-05-31 Baumer Optronic Gmbh Method and apparatus for the graphical operation of real-time image processing systems
JP2011085410A (ja) * 2009-10-13 2011-04-28 Nippon Steel Corp エッジ検出装置、エッジ検出方法、およびプログラム
CN104200212A (zh) * 2014-06-25 2014-12-10 西安煤航信息产业有限公司 一种基于机载LiDAR数据的建筑物外边界线提取方法
CN105046201A (zh) * 2015-06-19 2015-11-11 东南大学 一种基于形态学对建筑物图像快速识别的方法
CN106203476A (zh) * 2016-06-24 2016-12-07 浙江大学 一种基于最近邻分类与模糊算法的猪头尾轮廓识别方法
CN106650608A (zh) * 2016-10-31 2017-05-10 广东工业大学 一种无定位点试卷中矩形定位框的识别方法
CN107622499A (zh) * 2017-08-24 2018-01-23 中国东方电气集团有限公司 一种基于目标二维轮廓模型的识别与空间定位方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
H F XING ET AL: "Incremental Contour Fusion Based on Line/Line Topological Relation", 《2010 INTERNATIONAL CONFERENCE ON MULTIMEDIA TECHNOLOGY》 *
XU-QING ZHANG ET AL: "Building Contour Extraction Based on LiDAR Point Cloud", 《2017 INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND TECHNOLOGY (IST 2017)》 *
师顿: "基于TIN法向量的边缘检测与建筑物提取方法研究", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 *
章琦 等: "快速成形逆向工程扫描实体重构法研究", 《电加工与模具》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934866A (zh) * 2019-03-07 2019-06-25 武大吉奥信息技术有限公司 一种图斑划分模式的提取方法、拷贝方法及装置
CN109934866B (zh) * 2019-03-07 2020-12-08 武大吉奥信息技术有限公司 一种图斑划分模式的提取方法、拷贝方法及装置
CN113392453A (zh) * 2021-06-10 2021-09-14 万翼科技有限公司 工程图纸中的空间提取方法、装置、电子设备和存储介质
CN113781648A (zh) * 2021-08-06 2021-12-10 清华大学建筑设计研究院有限公司 一种建筑平面交通空间的骨架提取与特征识别方法
CN113781648B (zh) * 2021-08-06 2023-05-26 清华大学建筑设计研究院有限公司 一种建筑平面交通空间的骨架提取与特征识别方法
CN114329715A (zh) * 2021-12-29 2022-04-12 深圳须弥云图空间科技有限公司 面积边界线生成方法、装置、介质与电子设备
CN115797591A (zh) * 2022-12-05 2023-03-14 浙江柒和环境艺术设计有限公司 一种虚拟建筑模型生成方法及系统
CN115797591B (zh) * 2022-12-05 2023-06-09 浙江柒和环境艺术设计有限公司 一种虚拟建筑模型生成方法及系统

Also Published As

Publication number Publication date
CN109272569B (zh) 2023-07-11

Similar Documents

Publication Publication Date Title
CN109272569A (zh) 一种autocad建筑二维图快速提取并生成楼层轮廓线的方法
Liu et al. Autoshape: Real-time shape-aware monocular 3d object detection
CN104376548B (zh) 一种基于改进型surf算法的图像快速拼接方法
Li et al. RGB-T semantic segmentation with location, activation, and sharpening
CN101388115B (zh) 一种结合纹理信息的深度图像自动配准方法
CN100349185C (zh) 地图生成设备、地图发送方法
CN110827398B (zh) 基于深度神经网络的室内三维点云自动语义分割方法
CN104732506A (zh) 一种基于人脸语义分析的人物照片颜色风格转换方法
CN110796143A (zh) 一种基于人机协同的场景文本识别方法
CN100369064C (zh) 一种基于视频内容的人体姿态变形方法
CN114926699B (zh) 一种室内三维点云语义分类方法、装置、介质及终端
CN110704559B (zh) 一种多尺度矢量面数据匹配方法
CN109784297A (zh) 一种基于深度学习的三维目标识别与最优抓取方法
CN114494199A (zh) 一种基于深度学习的肝脏ct肿瘤分割与分类的方法
CN107133260A (zh) 一种地标图像的匹配识别方法和装置
He et al. Ssd-monodetr: Supervised scale-aware deformable transformer for monocular 3d object detection
CN109859308A (zh) 基于城市矢量数据的房屋简单三维模型构建方法
CN102724530B (zh) 基于反馈控制的平面视频立体化方法
CN106952301A (zh) 一种rgb‑d图像显著性计算方法
CN107480804B (zh) 一种基于线面空间关系的迷宫求解方法
CN112561995B (zh) 一种实时高效的6d姿态估计网络、构建方法及估计方法
Cheng et al. Understanding depth map progressively: Adaptive distance interval separation for monocular 3d object detection
Liu et al. DS Augmentation: Density-semantics augmentation for 3-D object detection
Qian et al. Image mosaic algorithm based on improved AKAZE
CN109509249B (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