CN110827393A - 图像处理方法、装置、存储介质及电子设备 - Google Patents
图像处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110827393A CN110827393A CN201910647488.XA CN201910647488A CN110827393A CN 110827393 A CN110827393 A CN 110827393A CN 201910647488 A CN201910647488 A CN 201910647488A CN 110827393 A CN110827393 A CN 110827393A
- Authority
- CN
- China
- Prior art keywords
- target
- contour
- sub
- outline
- pixel point
- 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
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/752—Contour matching
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种图像处理方法、装置、存储介质及电子设备,以解决现有技术中手动建模效率不高的问题。所述方法包括:根据目标建筑物的俯视图,确定目标建筑物的轮廓;确定目标轮廓的可用像素点,初始目标轮廓为目标建筑物的轮廓;根据可用像素点,确定是否存在目标切割线,其中,利用目标切割线对目标轮廓切割后得到的两个子轮廓中,面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;若存在目标切割线,利用目标切割线对目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将面积较小的第一子轮廓存储为目标子轮廓;判断模型库中是否存在与第二子轮廓相匹配的轮廓模型;若存在相匹配的轮廓模型,将第二子轮廓存储为目标子轮廓,并停止切割。
Description
技术领域
本公开涉及图像处理领域,具体地,涉及一种图像处理方法、装置、存储介质及电子设备。
背景技术
随着计算机技术的发展,越来越多与建筑相关的工作使用到计算机技术,并且逐渐从二维建筑平面图向三维建筑模型转变。目前,在对建筑物进行3D重建时,一般将建筑物与模型库中已有的三维模型做匹配,以完成对建筑物的3D重建。然而,模型库中的三维模型样式有限,若对某建筑物进行3D重建,但在模型库中无法匹配到合适的三维模型,则需要人为对该建筑物进行手动建模,会花费大量的人力成本,且建模效率不够高。
发明内容
本公开的目的是提供一种图像处理方法、装置、存储介质及电子设备,以提升三维建模效率。
为了实现上述目的,根据本公开的第一方面,提供一种图像处理方法,所述方法包括:
根据目标建筑物的俯视图,确定所述目标建筑物的轮廓,所述轮廓由像素点构成;
确定目标轮廓的可用像素点,初始情况下,所述目标轮廓为所述目标建筑物的轮廓;
根据所述目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线,所述目标切割线由两个所述可用像素点确定,所述第一预设条件至少包括:利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;
若存在所述目标切割线,利用所述目标切割线对所述目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将所述第一子轮廓存储为目标子轮廓,其中,所述第一子轮廓的面积小于所述第二子轮廓的面积;
判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型;
若存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓存储为目标子轮廓,并停止切割。
根据本公开的第二方面,提供一种图像处理装置,所述装置包括:
第一确定模块,用于根据目标建筑物的俯视图,确定所述目标建筑物的轮廓,所述轮廓由像素点构成;
第二确定模块,用于确定目标轮廓的可用像素点,初始情况下,所述目标轮廓为所述目标建筑物的轮廓;
第三确定模块,用于根据所述目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线,所述目标切割线由两个所述可用像素点确定,所述第一预设条件至少包括:利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;
第一处理模块,用于若存在所述目标切割线,利用所述目标切割线对所述目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将所述第一子轮廓存储为目标子轮廓,其中,所述第一子轮廓的面积小于所述第二子轮廓的面积;
判断模块,用于判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型;
第二处理模块,用于若存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓存储为目标子轮廓,并停止切割。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,通过对建筑物轮廓的切割,将建筑物的整个轮廓切割为多个较小的目标子轮廓,且各个目标子轮廓在模型库中均有对应的轮廓模型。并且,在对建筑物进行3D重建时,利用该方法对建筑物的图像进行处理,根据处理后得到的目标子轮廓,从模型库中直接调用相应的轮廓模型用于3D重建,不仅提升3D重建的效率,还可省去手动建模的步骤,节省人力。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的图像处理方法的流程图;
图2是目标轮廓的一种示例性示意图;
图3是切割后的目标轮廓的一种示例性示意图;
图4是根据本公开的另一种实施方式提供的图像处理方法的流程图;
图5是根据本公开的另一种实施方式提供的图像处理方法的流程图;
图6是本公开提供的图像处理方法中,确定目标轮廓的可用像素点的步骤的示例性实现方式的流程图;
图7A和图7B分别表示预处理前后,第二子轮廓的示例性示意图;
图8是本公开提供的图像处理方法中,判断模型库中是否存在与第二子轮廓相匹配的轮廓模型的步骤的示例性实现方式的流程图;
图9A是第二子轮廓及第二外接矩形的示例性示意图;
图9B和图9C分别表示平移操作前后,目标子轮廓的示例性示意图;
图10是根据本公开的一种实施方式提供的图像处理装置的框图;
图11是根据一示例性实施例示出的一种电子设备的框图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。以及,本公开中所使用的第一、第二、第三等描述仅用作区分,而不代表实际的先后顺序。
在介绍本公开的方法前,首先对本公开的应用场景进行简单说明。在对建筑物进行3D重建时,一般需要拍摄建筑物的俯视图,从而利用建筑物俯视图中建筑物的轮廓从模型库中调用相应的轮廓模型,以实现针对建筑物的3D重建。而对于模型库中没有对应的轮廓模型的建筑物,需要手动建模以实现该建筑物的3D重建,效率极低且人力需求高。为了解决这一问题,本公开提供一种图像处理方法,对建筑物的轮廓进行处理,将建筑物的轮廓进行分解,得到多个子轮廓,使每个子轮廓更加贴近模型库中已有的轮廓模型。
图1是根据本公开的一种实施方式提供的图像处理方法的流程图。如图1所示,该方法可以包括以下步骤。
在步骤11中,根据目标建筑物的俯视图,确定目标建筑物的轮廓。
若需要对某一建筑物进行3D重建,且需要针对该建筑物进行图像处理,则可以将该建筑物作为目标建筑物,从而拍摄该建筑物的俯视图。根据目标建筑物的俯视图,可以确定目标建筑物的轮廓。示例地,可以利用边缘检测、轮廓提取等方法确定目标建筑物的轮廓,其中,边缘检测、轮廓提取等均属于现有技术,对于本领域技术人员具有显而易见性,此处不赘述。其中,轮廓由像素点构成。
在步骤12中,确定目标轮廓的可用像素点。
初始情况下,目标轮廓就是目标建筑物的轮廓。从目标轮廓中所包括的像素点中,确定出可用像素点。其中,可用像素点为可一定程度上代表目标轮廓的像素点,也就是说,将目标轮廓所包含的像素点中所代表的信息(例如,位置等)无用、相同或相似的像素点进行相应的删减后,可以得到可用像素点。
在步骤13中,根据目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线。
目标切割线由两个可用像素点确定。其中,第一预设条件至少包括:利用该目标切割线对目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配。若由两个可用像素点确定的连线满足第一预设条件,则可确定该连线为目标切割线。
示例地,在确定连线时,可以以一个可用像素点为一个端点,按照顺时针或者逆时针的顺序遍历其他的可用像素点,从而确定相应的连线是否符合第一预设条件。
在一种可能的实施方式中,在确定是否存在目标切割线时,可以根据目标轮廓的可用像素点,遍历所有可能的连线,并确定连线是否满足第一预设条件,从而确定出所有的目标切割线。
在另一种可能的实施方式中,在确定是否存在目标切割线时,根据目标轮廓的可用像素点,判断两个可用像素点的连线是否满足第一预设条件,若有连线符合第一预设条件,就确定存在目标切割线,而不再继续判断其他可能的连线是否满足第一预设条件,这样可以提升处理效率。
另外,若遍历所有可能的连线,且每一连线均不符合第一预设条件,则可以确定不存在目标切割线。
在步骤14中,若存在目标切割线,利用目标切割线对目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将第一子轮廓存储为目标子轮廓。
示例地,若通过步骤13确定出的目标切割线的数量超过1个,则可以从其中选取任意一条目标切割线,用于对目标轮廓进行切割。
利用目标切割线进行切割后,将目标轮廓切分为第一子轮廓和第二子轮廓,其中,第一子轮廓和第二子轮廓均为封闭图形,也就是说,第一子轮廓和第二子轮廓除了各自包括目标轮廓的一部分外,还各自包括构成目标切割线的两个可用像素点之间的连线。图2中显示目标轮廓A,其中像素点A1和像素点A2为可用像素点(为方便查看,将像素点用“X”形符号标记,不代表实际的显示效果),由可用像素点A1、A2确定的目标切割线用于对目标轮廓切割,则利用目标切割线A1A2对目标轮廓A进行切割后,得到第一子轮廓B1和B2(其中,B1的面积小于B2的面积),如图3中所示,在图3中为了显示清楚,将B1和B2分隔开显示,并不代表实际的切割效果。图2、图3中外围部分的虚线部分无实际意义,且与轮廓无关。
在获得第一子轮廓和第二子轮廓后,将第一子轮廓存储为目标子轮廓。其中,第一子轮廓的面积小于第二子轮廓的面积。由第一预设条件可知,面积较小的子轮廓与模型库中已存储的轮廓模型相匹配,也就是说,将能够与模型库中已存储的轮廓模型相匹配的第一子轮廓存储为目标子轮廓。
回到图1,在步骤15中,判断模型库中是否存在与第二子轮廓相匹配的轮廓模型。
在步骤16中,若存在与第二子轮廓相匹配的轮廓模型,则将第二子轮廓存储为目标子轮廓,并停止切割。
若模型库中存在与第二子轮廓相匹配的轮廓模型,说明第二子轮廓已经能够从模型库中找到与其相匹配的轮廓模型,此时无需再进行切割,因而将第二子轮廓存储为目标子轮廓,同时可以停止切割。此时,对目标建筑物的轮廓进行图像处理后,得到的各个目标子轮廓均能够与模型库中已存储的轮廓模型相匹配。
通过上述技术方案,根据目标建筑物的俯视图确定该目标建筑物的轮廓;确定目标轮廓的可用像素点,初始情况下,目标轮廓为目标建筑物的轮廓;根据目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线;若存在目标切割线,利用目标切割线对目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将面积较小的第一子轮廓存储为目标子轮廓;判断模型库中是否存在与第二子轮廓相匹配的轮廓模型;若存在与第二子轮廓相匹配的轮廓模型,则将第二子轮廓存储为目标子轮廓,并停止切割。由此,通过对建筑物轮廓的切割,将建筑物的整个轮廓切割为多个较小的目标子轮廓,且各个目标子轮廓在模型库中均有对应的轮廓模型。并且,在对建筑物进行3D重建时,利用该方法对建筑物的图像进行处理,根据处理后得到的目标子轮廓,从模型库中直接调用相应的轮廓模型用于3D重建,不仅提升3D重建的效率,还可省去手动建模的步骤,节省人力。
另外,除图1所示的各个步骤之外,本公开提供的方法还可以包括以下步骤,如图4所示。
在步骤41中,若不存在目标切割线,则将目标轮廓存储为目标子轮廓,并停止切割。
若经过步骤13确定不存在符合第一预设条件的目标切割线,说明无论如何对目标轮廓进行切割,切割后得到的目标轮廓的两个子轮廓均无法与模型库中已有的轮廓模型相匹配,不再有切割的必要,因此,可以将目标轮廓存储为目标子轮廓,同时,停止切割。此时,对目标建筑物的轮廓进行图像处理后,得到的各个目标子轮廓中,仅有一个目标子轮廓(最后一次切割所得到的第二子轮廓)无法与模型库中已存储的轮廓模型相匹配,其余的目标子轮廓均能够与模型库中已存储的轮廓模型相匹配。
采用上述方式,对目标建筑物的轮廓进行切割后,可得到多个目标子轮廓,且得到的多个目标子轮廓中,仅有一个目标子轮廓无法与模型库中已存储的轮廓模型相匹配,其余的目标子轮廓均能够与模型库中已存储的轮廓模型相匹配。这样,在对目标建筑物的图像进行处理时,能够最大化地得到能够与模型库中已存储的轮廓模型相匹配的目标子轮廓,从而,在针对目标建筑物进行3D重建时,利用能够与模型库中已存储的轮廓模型相匹配的目标子轮廓从模型库中调用相应的轮廓模型,另外,仅需对无法与模型库中已存储的轮廓模型相匹配的一个目标子轮廓进行手动建模,相较于对整个目标建筑物进行手动建模更加简单,减小手动建模的工作量,节省人力。
在步骤42中,若不存在与第二子轮廓相匹配的轮廓模型,则将第二子轮廓作为新的目标轮廓,并返回步骤12,直至停止切割。
若不存在于第二子轮廓相匹配的轮廓模型,则还需要针对第二子轮廓进行切割。因此,将第二子轮廓作为新的目标轮廓,并返回步骤12,直至停止切割。这样,若未满足停止切割条件,则重复执行切割操作,且每一次切割所针对的是该次切割的上一次切割所得到的第二子轮廓(面积较大的子轮廓)。其中,每一次的切割均可参考本文中所提到的切割方式,此处不再赘述。
为了方便理解本公开方法的处理流程,在图5中示出了本公开所提供的图像处理方法针对目标建筑物的处理流程。其中,对于相应步骤的说明在上文中已经给出,此处不再重复说明。
在S1中,根据目标建筑物的俯视图,确定目标建筑物的轮廓;
在S2中,将目标建筑物的轮廓作为目标轮廓;
在S3中,确定目标轮廓的可用像素点;
在S4中,根据目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线;
若经S4确定存在目标切割线,执行S5,若经S4确定不存在目标切割线,执行S10;
在S5中,利用目标切割线对目标轮廓进行切割,获得第一子轮廓和第二子轮廓;
在S6中,将第一子轮廓存储为目标子轮廓;
在S7中,判断模型库中是否存在与第二子轮廓相匹配的轮廓模型;
若经S7确定不存在与第二子轮廓相匹配的轮廓模型,则执行S8,若经S7确定存在与第二子轮廓相匹配的轮廓模型,则执行S9;
在S8中,将第二子轮廓作为新的目标轮廓,并返回S3;
在S9中,将第二子轮廓存储为目标子轮廓,并转至S11;
在S10中,将目标轮廓存储为目标子轮廓,并转至S11;
在S11中,停止切割。
为了本领域技术人员更加清楚地理解本方案,下面将对本公开提供的方法的相应步骤进行详细说明。
首先,对步骤12,确定目标轮廓的可用像素点进行详细说明。
在一种可能的实施方式中,步骤12可以包括以下步骤,如图6所示。
在步骤61中,根据目标轮廓的各个像素点的梯度值,确定第一像素点。
在一种可能的实施例中,步骤61可以包括以下步骤:
按照预设方向,依次将目标轮廓中的像素点作为第一目标像素点,并执行如下步骤:
计算第一目标像素点的梯度值;
若第一目标像素点的梯度值与第一目标像素点的前一像素点的梯度值不同,则将第一目标像素点确定为第一像素点;
将第一目标像素点的后一像素点作为新的第一目标像素点,并返回计算第一目标像素点的梯度值的步骤。
其中,预设方向可以为顺时针方向或逆时针方向。若预设方向为顺时针方向,则C1像素点的前一像素点为目标轮廓上沿逆时针方向与C1像素点相邻的像素点,C1像素点的后一像素点为目标轮廓上沿顺时针方向与C1像素点相邻的像素点。
初始情况下,从目标轮廓中选择一像素点,将该像素点作为第一目标像素点,并计算第一目标像素点的梯度值,此时,由于第一目标像素点不存在前一像素点,所以处理方式略有不同,可按照如下步骤执行:
计算第一目标像素点的梯度值;
将第一目标像素点的后一像素点作为新的第一目标像素点,并返回计算第一目标像素点的梯度值的步骤。
也就是说,在初始情况下,计算第一目标像素点的梯度值之后,无需确定第一目标像素点是否为第一像素点,而是直接将第一目标像素点的后一像素点作为新的第一目标像素点,并返回计算第一目标像素点的梯度值的步骤。
在针对初始情况处理完毕后,就可以按照上文中提到的步骤确定第一像素点:若第一目标像素点的梯度值与第一目标像素点的前一像素点的梯度值不同,则将第一目标像素点确定为第一像素点,之后,将第一目标像素点的后一像素点作为新的第一目标像素点,并返回计算第一目标像素点的梯度值的步骤;若第一目标像素点的梯度值与第一目标像素点的前一像素点的梯度值相同,说明当前的第一目标像素点并非第一像素点,因此将第一目标像素点的后一像素点作为新的第一目标像素点,并返回计算第一目标像素点的梯度值的步骤。直至目标轮廓的所有像素点均被作为第一目标像素点一次,即可得到所需的第一像素点。若两个像素点梯度值相同,说明这两个像素点在目标轮廓上并无方向变化,若两个像素点梯度值不同,则说明两个像素点在目标轮廓上并非沿同一方向,因此,将其中一个作为第一像素点,通俗来讲,第一像素点就是“拐点”。
示例地,通过如下公式计算第一目标像素点的梯度值G(i,j):
G(i,j)=dx(i,j)+dy(i,j)
其中,在位于目标轮廓所在平面的直角坐标系中,第一目标像素点的坐标为(i,j),I(i,j)为坐标为(i,j)的像素点的像素值,dx(i,j)为第一目标像素点对应横轴方向的梯度值,dy(i,j)为第一目标像素点对应纵轴方向的梯度值,以及,r1为第一预设数值。梯度值不同也就是像素点沿横轴方向和/或纵轴方向的梯度值不同。示例地,第一预设数值r1可以为1。
示例地,若目标轮廓共有3个像素点(示例仅为说明,不代表实际应用情况),预设方向为逆时针方向,且逆时针方向像素点排列为C2、C3、C4,则按照上述处理方式,处理流程为:
将像素点C2作为第一目标像素点,计算像素点C2的梯度值;
将像素点C2的下一像素点C3作为目标像素点;
计算像素点C3的梯度值,并将像素点C3的梯度值与像素点C2的梯度值进行比较;
比较得到像素点C3的梯度值与像素点C2的梯度值不同,从而确定像素点C3为第一像素点;
将像素点C3的下一像素点C4作为目标像素点;
计算像素点C4的梯度值,并将像素点C4的梯度值与像素点C3的梯度值进行比较;
比较得到像素点C4的梯度值与像素点C3的梯度值相同(像素点C4不是第一像素点);
此时,目标轮廓的像素点均被作为第一目标像素点一次,本处理流程可以结束。
因此,该目标轮廓的第一像素点为C3。
另外,在通过上述方式得到第一像素点后,还可以通过聚类算法对所得到的第一像素点进行聚类,得到各个第一像素点所属的类别,之后,仅保留同一类别下的一个(或几个)像素点,作为最终的第一像素点,用于后续的处理。这样,可以减小后续处理的计算量,且不会影响图像处理的准确性。
在步骤62中,针对每一第一像素点,确定与该第一像素点对应的满足第二预设条件的第二像素点。
其中,第二预设条件为:第二像素点与第一像素点的连线与第一外接矩形(即,目标轮廓的最小面积外接矩形)的任意一边之间的夹角小于第一预设角度阈值。
在一种可能的实施方式中,步骤62可以包括以下步骤:
分别将每一第一像素点作为第二目标像素点,并执行如下步骤:
将目标轮廓中除第一像素点之外的其他像素点分别作为第三目标像素点,并分别判断第三目标像素点是否满足第二预设条件;
若第三目标像素点满足第二预设条件,确定第三目标像素点为第二像素点。
示例地,按照如下方式判断第三目标像素点是否满足第二预设条件:
第三目标像素点与第二目标像素点的连线与第一外接矩形的任意一边之间的夹角小于第一预设角度阈值。示例地,第一预设角度阈值可以为4°。
再例如,按照如下方式判断第三目标像素点是否满足第二预设条件:
|(y-y0)-k(x-x0)|<r2
其中,在位于目标轮廓所在平面的直角坐标系中,第二目标像素点的坐标为(x0,y0),第三目标像素点的坐标为(x,y),k为第一外接矩形任意一边的斜率,r2为第二预设数值,以及,第一预设角度阈值与第二预设数值存在对应关系。
两条直线之间夹角还可以通过两条直线在同一直角坐标系中各自对应的斜率反映出来。因此,通过设置第二预设数值r2与第一预设角度阈值之间的对应关系,利用上述公式就可以判断是否符合第一预设角度阈值的要求。示例地,第二预设数值r2可以为1,对应于第一预设角度阈值中的4°。
采用上述方式,利用直线在直角坐标系中的斜率,从侧面计算两条直线之间的夹角,无需直接计算角度,计算简便。
在步骤63中,根据第一像素点和第二像素点,确定可用像素点。
在一种可能的实施方式中,将第一像素点和第二像素点的并集作为可用像素点。
在另一种可能的实施方式中,将第一像素点和第二像素点合并之后,可以对得到的并集进行聚类处理,得到并集中各个像素点所属的类别,并保留同类别中的一个(或几个)像素点,作为可用像素点。
采用上述方式,在得到一系列可用于后续处理的像素点之后,进行聚类处理,从而得到可用像素点,用于后续的处理。这样,可以减小后续步骤的计算量,且不会影响图像处理的准确性。
下面对步骤13中的第一预设条件进行详细说明。
如上文所述,第一预设条件至少包括:利用该目标切割线对目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配。
除上述条件之外,第一预设条件还可以包括:
目标切割线经过目标轮廓内部;
目标切割线与第一外接矩形(目标轮廓的最小面积外接矩形)的任意一边之间的夹角小于第二预设角度阈值;
利用目标切割线对目标轮廓切割后得到的两个子轮廓中,面积较小的子轮廓与面积较大的子轮廓的面积之比大于第三预设数值。
若目标切割线未经过目标轮廓内部,则切割无意义,因此,目标切割线应当经过目标轮廓内部。示例地,第二预设角度阈值可以为4°。示例地,第三预设数值可以为0.15。
示例地,若切割线满足上述第一预设条件的全部内容,可以确定该切割线为目标切割线。
下面对步骤15中,判断模型库中是否存在与第二子轮廓相匹配的轮廓模型进行详细说明。
在一种可能的实施方式中,在执行步骤15之前,还可以对第二子轮廓进行预处理。根据第二子轮廓所包含的目标轮廓的可用像素点,利用像素点之间的连线,以及相邻连线之间的角度,删除多余的像素点。对于某一像素点,在第二子轮廓上存在两个相邻的像素点,将该像素点分别与上述两个相邻的像素点进行连线,得到相邻的两条连线,其夹角范围为[0°,180°]的角度区间,若两连线的夹角小于第一角度或者大于第二角度,则可确定该像素点不可用,将该像素点删除即可。其中,第一角度小于第二角度。示例地,第一角度可以为30°。示例地,第二角度可以为160°。如图7A所示,在第二子轮廓D1中,可确定像素点D2不可用,因此可去掉像素点D2,预处理后得到的第二子轮廓如图7B所示。需要说明的是,在图7A及图7B中,为方便查看,用“X”形符号标记像素点,并不代表实际的显示效果。
在一种可能的实施方式中,步骤15可以包括以下步骤:
分别计算第二子轮廓与模型库中的每个轮廓模型之间的轮廓相似度;
确定是否存在大于相似度阈值的轮廓相似度;
若存在大于相似度阈值的轮廓相似度,确定模型库中存在能够与第二子轮廓相匹配的轮廓模型。
其中,相似度阈值可以预先设定。并且,基于图像的相似度计算属于现有技术,属于本领域的公知常识,此处不赘述。
在另一种可能的实施方式中,如图8所示,步骤15可以包括以下步骤:
在步骤81中,确定第二子轮廓中的第三像素点。
其中,第三像素点取自第二子轮廓包含的目标轮廓的可用像素点。示例地,选取第三像素点的方式可参照上文中给出的对第二子轮廓的预处理。
在步骤82中,根据第三像素点与第二外接矩形各个顶点之间的第一距离、以及第二外接矩形最短边的第一长度,确定第二子轮廓的第一参数。
其中,第二外接矩形为第二子轮廓的最小面积外接矩形。
示例地,步骤82可以包括如下步骤:
计算每一第一距离与第一长度之间的第一比值;
将小于第四预设数值的第一比值的数量确定为第二子轮廓的第一参数。
示例地,第四预设数值可以为0.12。
如图9A所示,轮廓F为第二子轮廓,像素点F1~F12为第二子轮廓F的第三像素点,矩形E1E2E3E4为第二外接矩形,其顶点分别为E1、E2、E3、E4,其中,E1E2(或者,E3E4)为第二外接矩形最短边,其长度为e,则第一长度为e。在图9A中,像素点用“X”形符号标记,外接矩形顶点用圆形符号标记,并不代表实际的显示效果。第一距离包括第二外接矩形的顶点E1(或,E2、E3、E4)与像素点F1(或,F2~F12中的任一像素点)之间的距离,得到所有的第一距离后分别计算第一距离与第一长度e之间的第一比值,并根据所得到的第一比值确定第二子轮廓的第一参数。
在步骤83中,在第二子轮廓中相邻的两个第三像素点的连线中,确定出与第二外接矩形任意一条边之间的夹角大于或等于第三预设角度阈值、或者小于或等于第四预设角度阈值的目标连线。
其中,第三预设角度阈值大于第四预设角度阈值。示例地,第三预设角度阈值可以为15°。示例地,第四预设角度阈值可以为160°。
示例地,如图9A所示,F1、F2为相邻的第三像素点,分别确定连线F1F2与第二外接矩形各边的夹角,若其中存在夹角满足大于或等于第三预设角度阈值、或者小于或等于第四预设角度阈值的条件,则可以确定连线F1F2为目标连线。若连线F1F2与第二外接矩形每条边的夹角均不满足大于或等于第三预设角度阈值、或者小于或等于第四预设角度阈值的条件,则可以确定连线F1F2不属于目标连线。并且,目标连线与第二外接矩形的哪一条边的夹角满足要求,该条边就是第二外接矩形中与该目标连线对应的边。
按照上述方式,可以对各个相邻的两个第三像素点构成的连线进行判断,进而确定目标连线。其中,由于矩形的对称性,实际应用时只需要针对第二外接矩形相邻的两条边进行计算,无需针对每一条边进行计算。
在步骤84中,根据目标连线的长度、以及第二外接矩形中与目标连线对应的边的长度,确定第二子轮廓的第二参数。
示例地,步骤84可以包括如下步骤:
针对每一目标连线,计算目标连线的长度与目标连线在第二外接矩形中对应的边的长度的第二比值;
将大于或等于第五预设数值且小于第六预设数值的第二比值的数量确定为第二子轮廓的第二参数。
示例地,第五预设数值可以为0.85。示例地,第六预设数值可以为1.15。
如图9A所示,若连线F3F4为目标连线,且连线F3F4在第二外接矩形中对应的边是边E1E4(或者,边E2E3),则连线F3F4对应的第二比值为连线F3F4长度与边E1E4长度之比。在得到所有的第二比值后,即可按照上述方式确定第二子轮廓的第二参数。
在步骤85中,根据对应于第二外接矩形中同一边的各个目标连线的长度之和、以及该边的长度,确定第二子轮廓的第三参数。
示例地,步骤85可以包括如下步骤:
计算对应第二外接矩形中同一边的各个目标连线的长度之和与该边的长度之比,得到第三比值和第四比值;
将第三比值和第四比值中、大于或等于第七预设数值且小于或等于第八预设数值的比值的数量确定为第二子轮廓的第三参数。
如图9A所示,若目标连线F1F2、F3F4、F5F6、F7F8、F9F10、F11F12均对应于第二外接矩形的边E1E4(或者,边E2E3),则计算连线F1F2、F3F4、F5F6、F7F8、F9F10、F11F12的长度之和,并根据该长度之和、以及边E1E4(或者,边E2E3)的长度,得到二者的比值,相似地,针对边E1E2(或者,边E3E4)的比值也可参照上述方式得到,从而可以得到第三比值和第四比值,进而确定第三参数。针对上述示例,可知第三参数的值可以为0、1或2。
在步骤86中,根据第二子轮廓的第一参数、第二参数以及第三参数,以及模型库中各个轮廓模型对应的第一参数、第二参数以及第三参数,确定模型库中是否存在与第二子轮廓相匹配的轮廓模型。
模型库中每个轮廓模型均有对应的第一参数、第二参数以及第三参数,将得到的第二子轮廓的上述三个参数与模型库中已有的相应参数进行比较,若能找到三个参数各自对应的轮廓模型,则确定模型库中存在与第二子轮廓相匹配的轮廓模型。示例地,若第二子轮廓的第一参数为2、第二参数为1、第三参数为2,以及,模型库中存储有两个轮廓模型,第一个轮廓模型对应的第一、第二、第三参数依次为2、1、0,第二个轮廓模型对应的第一、第二、第三参数依次为2、1、2,则可知第二子轮廓的三个参数与第二个轮廓模型一一对应,确定模型库中存在与第二子轮廓相匹配的轮廓模型。再例如,若第二子轮廓的第一参数为2、第二参数为1、第三参数为2,以及,模型库中存储有两个轮廓模型,第一个轮廓模型对应的第一、第二、第三参数依次为2、1、0,第二个轮廓模型对应的第一、第二、第三参数依次为0、1、2,则可知不存在与第二子轮廓的三个参数一一对应的轮廓模型,确定模型库中不存在与第二子轮廓相匹配的轮廓模型。
采用上述方式,利用可代表轮廓特征的第一参数、第二参数和第三参数,确定是否存在与轮廓相匹配的轮廓模型,计算简便。
需要说明的是,本公开的其他实施方式中,若需要判断模型库中是否存在与某轮廓相匹配的轮廓模型,均可以参考上文中给出的实施方式,在本公开的其他位置,不再重复赘述。例如,在确定是否存在目标切割线时,判断面积较小的子轮廓是否与模型库中已存储的轮廓模型相匹配,就可以采用上文中给出的确定方式。
另外,除上文中给出的实施例之外,本公开的方法还可以包括以下步骤:
若已经停止切割,对得到的目标子轮廓进行平移操作,以使各个目标子轮廓之间不存在重合区域。
若已经停止切割,则说明对于目标建筑物的轮廓的切割处理已经完成。但是由于切割时轮廓位置不变,因此切割后所得到的各个目标子轮廓相互粘连,不利于查看。因此,可以对得到的目标子轮廓进行平移操作,以使各个目标子轮廓之间不存在重合区域,便于查看,符合可视化要求。
在一种可能的实施方式中,可以分别对每个目标子轮廓进行平移操作,且平移过程中使目标子轮廓与相邻的其他目标子轮廓相互远离,从而达到目标子轮廓之间不存在重合区域的效果。
在另一种可能的实施方式中,对得到的目标子轮廓进行平移操作,可以包括以下步骤:
根据目标建筑物的轮廓,确定第三外接矩形的第一中心;
确定每一目标子轮廓对应的目标外接矩形的目标中心;
对每一目标子轮廓进行平移,其中,针对每一目标子轮廓,其平移方向为第一中心指向该目标子轮廓对应的目标中心的方向。
其中,第三外接矩形为目标建筑物的轮廓的最小面积外接矩形。与目标子轮廓对应的目标外接矩形为该目标子轮廓的最小面积外接矩形。
示例地,如图9B所示,“X”形符号表示第一中心,圆形符号表示各个目标子轮廓对应的目标中心,相应地,图中各个箭头表示各个目标子轮廓的平移方向,图9C中示出了一种可能的平移后的效果图。需要说明的是,图9B和图9C中外围的虚线框仅为圈定所示出的轮廓所处的位置,无实际意义。
示例地,在处于目标子轮廓平面的直角坐标系中,确定第一中心和目标中心连线与横轴(或纵轴)之间的夹角,预先确定沿横轴(或纵轴)的最小移动单位,以该最小移动单位为依据,确定每一次移动后目标中心所处的位置,参考该位置对目标子轮廓进行平移。对每个目标子轮廓进行一次(或多次)平移,直至目标子轮廓之间不存在重合区域。其中,第一中心和目标中心连线与横轴(或纵轴)之间的夹角、横轴方向上的移动距离、纵轴方向上的移动距离这三者满足正切函数。示例地,沿横轴(或纵轴)的最小移动单位可以设定为20px(像素)。
另外,本公开的方法还可以包括以下步骤:
若已经停止切割,根据得到的目标子轮廓,从模型库中确定相应的轮廓模型,以对目标建筑进行三维建模。
采用上述方式,在对目标建筑物进行处理后,得到多个目标子轮廓,根据目标子轮廓可以直接从模型库中调用相应的轮廓模型,从而实现对目标建筑物的3D重建,无需手动建模,提升效率。
图10是根据本公开的一种实施方式提供的图像处理装置的框图,如图10所示,所述装置100包括:
第一确定模块101,用于根据目标建筑物的俯视图,确定所述目标建筑物的轮廓,所述轮廓由像素点构成;
第二确定模块102,用于确定目标轮廓的可用像素点,初始情况下,所述目标轮廓为所述目标建筑物的轮廓;
第三确定模块103,用于根据所述目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线,所述目标切割线由两个所述可用像素点确定,所述第一预设条件至少包括:利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;
第一处理模块104,用于若存在所述目标切割线,利用所述目标切割线对所述目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将所述第一子轮廓存储为目标子轮廓,其中,所述第一子轮廓的面积小于所述第二子轮廓的面积;
判断模块105,用于判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型;
第二处理模块106,用于若存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓存储为目标子轮廓,并停止切割。
可选地,所述装置100还包括:
第三处理模块,用于若不存在所述目标切割线,则将所述目标轮廓存储为目标子轮廓,并停止切割;
第四处理模块,用于若不存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓作为新的所述目标轮廓,并触发所述第二确定模块确定目标轮廓的可用像素点,直至停止切割。
可选地,所述第二确定模块102包括:
第一确定子模块,用于根据所述目标轮廓的各个像素点的梯度值,确定第一像素点;
第二确定子模块,用于针对每一所述第一像素点,确定与该第一像素点对应的满足第二预设条件的第二像素点,所述第二预设条件为:所述第二像素点与所述第一像素点的连线与第一外接矩形的任意一边之间的夹角小于第一预设角度阈值,所述第一外接矩形为所述目标轮廓的最小面积外接矩形;
第三确定子模块,用于根据所述第一像素点和所述第二像素点,确定所述可用像素点。
可选地,所述第一确定子模块包括:
第一处理子模块,用于按照预设方向,依次将所述目标轮廓中的像素点作为第一目标像素点,并且:计算所述第一目标像素点的梯度值;若所述第一目标像素点的梯度值与所述第一目标像素点的前一像素点的梯度值不同,则将所述第一目标像素点确定为所述第一像素点;将所述第一目标像素点的后一像素点作为新的所述第一目标像素点,并返回所述计算所述第一目标像素点的梯度值的步骤;其中,预设方向为顺时针方向或逆时针方向。
可选地,所述第二确定子模块包括:
第二处理子模块,用于分别将每一所述第一像素点作为第二目标像素点,并且:将所述目标轮廓中除所述第一像素点之外的其他像素点分别作为第三目标像素点,并分别判断所述第三目标像素点是否满足所述第二预设条件;若所述第三目标像素点满足所述第二预设条件,确定所述第三目标像素点为所述第二像素点。
可选地,所述第一预设条件还包括:
所述目标切割线经过所述目标轮廓内部;
所述目标切割线与第一外接矩形的任意一边之间的夹角小于第二预设角度阈值,所述第一外接矩形为所述目标轮廓的最小面积外接矩形;
利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓中,面积较小的子轮廓与面积较大的子轮廓的面积之比大于第三预设数值。
可选地,通过如下方式判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型:
确定所述第二子轮廓中的第三像素点,所述第三像素点取自所述第二子轮廓包含的所述目标轮廓的可用像素点;
根据所述第三像素点与第二外接矩形各个顶点之间的第一距离、以及所述第二外接矩形最短边的第一长度,确定所述第二子轮廓的第一参数,其中,所述第二外接矩形为所述第二子轮廓的最小面积外接矩形;
在所述第二子轮廓中相邻的两个所述第三像素点的连线中,确定出与所述第二外接矩形任意一条边之间的夹角大于或等于第三预设角度阈值、或者小于或等于第四预设角度阈值的目标连线,其中,所述第三预设角度阈值大于所述第四预设角度阈值;
根据所述目标连线的长度、以及所述第二外接矩形中与所述目标连线对应的边的长度,确定所述第二子轮廓的第二参数;
根据对应于所述第二外接矩形中同一边的各个目标连线的长度之和、以及该边的长度,确定所述第二子轮廓的第三参数;
根据所述第二子轮廓的第一参数、第二参数以及第三参数,以及所述模型库中各个所述轮廓模型对应的所述第一参数、第二参数以及第三参数,确定所述模型库中是否存在与所述第二子轮廓相匹配的轮廓模型。
可选地,所述装置100还包括:
平移模块,用于若已经停止切割,对得到的所述目标子轮廓进行平移操作,以使各个所述目标子轮廓之间不存在重合区域。
可选地,所述平移模块用于根据所述目标建筑物的轮廓,确定第三外接矩形的第一中心,其中,所述第三外接矩形为所述目标建筑物的轮廓的最小面积外接矩形;确定每一所述目标子轮廓对应的目标外接矩形的目标中心,与目标子轮廓对应的目标外接矩形为该目标子轮廓的最小面积外接矩形;对每一所述目标子轮廓进行平移,其中,针对每一所述目标子轮廓,其平移方向为所述第一中心指向该目标子轮廓对应的目标中心的方向。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备700可以被提供为一终端。如图11所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的图像处理方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如建筑物图像等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图像处理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图像处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的图像处理方法。
图12是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备1900可以被提供为一服务器。参照图12,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的图像处理方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图像处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的图像处理方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的图像处理方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种图像处理方法,其特征在于,所述方法包括:
根据目标建筑物的俯视图,确定所述目标建筑物的轮廓,所述轮廓由像素点构成;
确定目标轮廓的可用像素点,初始情况下,所述目标轮廓为所述目标建筑物的轮廓;
根据所述目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线,所述目标切割线由两个所述可用像素点确定,所述第一预设条件至少包括:利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;
若存在所述目标切割线,利用所述目标切割线对所述目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将所述第一子轮廓存储为目标子轮廓,其中,所述第一子轮廓的面积小于所述第二子轮廓的面积;
判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型;
若存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓存储为目标子轮廓,并停止切割。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在所述目标切割线,则将所述目标轮廓存储为目标子轮廓,并停止切割;
若不存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓作为新的所述目标轮廓,并返回所述确定目标轮廓的可用像素点的步骤,直至停止切割。
3.根据权利要求1所述的方法,其特征在于,所述确定目标轮廓的可用像素点,包括:
根据所述目标轮廓的各个像素点的梯度值,确定第一像素点;
针对每一所述第一像素点,确定与该第一像素点对应的满足第二预设条件的第二像素点,所述第二预设条件为:所述第二像素点与所述第一像素点的连线与第一外接矩形的任意一边之间的夹角小于第一预设角度阈值,所述第一外接矩形为所述目标轮廓的最小面积外接矩形;
根据所述第一像素点和所述第二像素点,确定所述可用像素点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标轮廓的各个像素点的梯度值,确定第一像素点,包括:
按照预设方向,依次将所述目标轮廓中的像素点作为第一目标像素点,并执行如下步骤,其中,预设方向为顺时针方向或逆时针方向:
计算所述第一目标像素点的梯度值;
若所述第一目标像素点的梯度值与所述第一目标像素点的前一像素点的梯度值不同,则将所述第一目标像素点确定为所述第一像素点;
将所述第一目标像素点的后一像素点作为新的所述第一目标像素点,并返回所述计算所述第一目标像素点的梯度值的步骤。
5.根据权利要求3所述的方法,其特征在于,所述针对每一所述第一像素点,确定与该第一像素点对应的满足第二预设条件的第二像素点,包括:
分别将每一所述第一像素点作为第二目标像素点,并执行如下步骤:
将所述目标轮廓中除所述第一像素点之外的其他像素点分别作为第三目标像素点,并分别判断所述第三目标像素点是否满足所述第二预设条件;
若所述第三目标像素点满足所述第二预设条件,确定所述第三目标像素点为所述第二像素点。
6.根据权利要求1所述的方法,其特征在于,所述第一预设条件还包括:
所述目标切割线经过所述目标轮廓内部;
所述目标切割线与第一外接矩形的任意一边之间的夹角小于第二预设角度阈值,所述第一外接矩形为所述目标轮廓的最小面积外接矩形;
利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓中,面积较小的子轮廓与面积较大的子轮廓的面积之比大于第三预设数值。
7.根据权利要求1所述的方法,其特征在于,通过如下方式判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型:
确定所述第二子轮廓中的第三像素点,所述第三像素点取自所述第二子轮廓包含的所述目标轮廓的可用像素点;
根据所述第三像素点与第二外接矩形各个顶点之间的第一距离、以及所述第二外接矩形最短边的第一长度,确定所述第二子轮廓的第一参数,其中,所述第二外接矩形为所述第二子轮廓的最小面积外接矩形;
在所述第二子轮廓中相邻的两个所述第三像素点的连线中,确定出与所述第二外接矩形任意一条边之间的夹角大于或等于第三预设角度阈值、或者小于或等于第四预设角度阈值的目标连线,其中,所述第三预设角度阈值大于所述第四预设角度阈值;
根据所述目标连线的长度、以及所述第二外接矩形中与所述目标连线对应的边的长度,确定所述第二子轮廓的第二参数;
根据对应于所述第二外接矩形中同一边的各个目标连线的长度之和、以及该边的长度,确定所述第二子轮廓的第三参数;
根据所述第二子轮廓的第一参数、第二参数以及第三参数,以及所述模型库中各个所述轮廓模型对应的所述第一参数、第二参数以及第三参数,确定所述模型库中是否存在与所述第二子轮廓相匹配的轮廓模型。
8.一种图像处理装置,其特征在于,所述装置包括:
第一确定模块,用于根据目标建筑物的俯视图,确定所述目标建筑物的轮廓,所述轮廓由像素点构成;
第二确定模块,用于确定目标轮廓的可用像素点,初始情况下,所述目标轮廓为所述目标建筑物的轮廓;
第三确定模块,用于根据所述目标轮廓的可用像素点,确定是否存在符合第一预设条件的目标切割线,所述目标切割线由两个所述可用像素点确定,所述第一预设条件至少包括:利用所述目标切割线对所述目标轮廓切割后得到的两个子轮廓面积不同,且面积较小的子轮廓与模型库中已存储的轮廓模型相匹配;
第一处理模块,用于若存在所述目标切割线,利用所述目标切割线对所述目标轮廓进行切割,获得第一子轮廓和第二子轮廓,并将所述第一子轮廓存储为目标子轮廓,其中,所述第一子轮廓的面积小于所述第二子轮廓的面积;
判断模块,用于判断模型库中是否存在与所述第二子轮廓相匹配的轮廓模型;
第二处理模块,用于若存在与所述第二子轮廓相匹配的轮廓模型,则将所述第二子轮廓存储为目标子轮廓,并停止切割。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647488.XA CN110827393B (zh) | 2019-07-17 | 2019-07-17 | 图像处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910647488.XA CN110827393B (zh) | 2019-07-17 | 2019-07-17 | 图像处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110827393A true CN110827393A (zh) | 2020-02-21 |
CN110827393B CN110827393B (zh) | 2020-07-31 |
Family
ID=69547635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910647488.XA Active CN110827393B (zh) | 2019-07-17 | 2019-07-17 | 图像处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110827393B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113681171A (zh) * | 2021-08-04 | 2021-11-23 | 中车唐山机车车辆有限公司 | 一种板状件的切割方法 |
CN114461104A (zh) * | 2022-02-07 | 2022-05-10 | 深圳须弥云图空间科技有限公司 | 楼型拼合方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006058292A2 (en) * | 2004-11-29 | 2006-06-01 | Purdue Research Foundation | Methods for retrieving shapes and drawings |
CN102770864A (zh) * | 2010-01-29 | 2012-11-07 | 香港科技大学 | 基于图像的建筑物图案检测以及建模 |
CN104297254A (zh) * | 2014-10-08 | 2015-01-21 | 华南理工大学 | 一种基于混合法的印刷电路板缺陷检测方法及系统 |
CN105989606A (zh) * | 2015-03-20 | 2016-10-05 | 纳宝株式会社 | 图像内容产生设备、方法和图像内容显示设备 |
US20170357870A1 (en) * | 2012-08-29 | 2017-12-14 | Micron Technology, Inc. | Descriptor guided fast marching method for analyzing images and systems using the same |
CN108171695A (zh) * | 2017-12-29 | 2018-06-15 | 安徽农业大学 | 一种基于图像处理的高速公路路面检测方法 |
CN108537798A (zh) * | 2017-11-29 | 2018-09-14 | 浙江工业大学 | 一种快速超像素分割方法 |
CN109684938A (zh) * | 2018-12-06 | 2019-04-26 | 广西大学 | 一种基于作物冠层航拍俯视图的甘蔗株数自动识别方法 |
CN109784344A (zh) * | 2019-01-24 | 2019-05-21 | 中南大学 | 一种用于地平面标识识别的图像非目标滤除方法 |
CN109978891A (zh) * | 2019-03-13 | 2019-07-05 | 浙江商汤科技开发有限公司 | 图像处理方法及装置、电子设备和存储介质 |
-
2019
- 2019-07-17 CN CN201910647488.XA patent/CN110827393B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006058292A2 (en) * | 2004-11-29 | 2006-06-01 | Purdue Research Foundation | Methods for retrieving shapes and drawings |
CN102770864A (zh) * | 2010-01-29 | 2012-11-07 | 香港科技大学 | 基于图像的建筑物图案检测以及建模 |
US20170357870A1 (en) * | 2012-08-29 | 2017-12-14 | Micron Technology, Inc. | Descriptor guided fast marching method for analyzing images and systems using the same |
CN104297254A (zh) * | 2014-10-08 | 2015-01-21 | 华南理工大学 | 一种基于混合法的印刷电路板缺陷检测方法及系统 |
CN105989606A (zh) * | 2015-03-20 | 2016-10-05 | 纳宝株式会社 | 图像内容产生设备、方法和图像内容显示设备 |
CN108537798A (zh) * | 2017-11-29 | 2018-09-14 | 浙江工业大学 | 一种快速超像素分割方法 |
CN108171695A (zh) * | 2017-12-29 | 2018-06-15 | 安徽农业大学 | 一种基于图像处理的高速公路路面检测方法 |
CN109684938A (zh) * | 2018-12-06 | 2019-04-26 | 广西大学 | 一种基于作物冠层航拍俯视图的甘蔗株数自动识别方法 |
CN109784344A (zh) * | 2019-01-24 | 2019-05-21 | 中南大学 | 一种用于地平面标识识别的图像非目标滤除方法 |
CN109978891A (zh) * | 2019-03-13 | 2019-07-05 | 浙江商汤科技开发有限公司 | 图像处理方法及装置、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
丁亚洲 等: "多星形约束图割与轮廓规则化的高分遥感图像直角建筑物提取", 《测绘学报》 * |
王斌 等: "一种基于轮廓线的形状描述与匹配方法", 《电子与信息学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113681171A (zh) * | 2021-08-04 | 2021-11-23 | 中车唐山机车车辆有限公司 | 一种板状件的切割方法 |
CN114461104A (zh) * | 2022-02-07 | 2022-05-10 | 深圳须弥云图空间科技有限公司 | 楼型拼合方法、装置、设备及存储介质 |
CN114461104B (zh) * | 2022-02-07 | 2024-04-16 | 深圳须弥云图空间科技有限公司 | 楼型拼合方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110827393B (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110307838B (zh) | 机器人重定位方法、装置、计算机可读存储介质及机器人 | |
EP4027299A2 (en) | Method and apparatus for generating depth map, and storage medium | |
EP3505868A1 (en) | Method and apparatus for adjusting point cloud data acquisition trajectory, and computer readable medium | |
CN110827393B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111640180B (zh) | 一种三维重建方法、装置及终端设备 | |
CN109313809B (zh) | 一种图像匹配方法、装置及存储介质 | |
CN114758337B (zh) | 一种语义实例重建方法、装置、设备及介质 | |
CN110245567B (zh) | 避障方法、装置、存储介质及电子设备 | |
CN111340960B (zh) | 图像的建模方法、装置、存储介质和电子设备 | |
WO2021115061A1 (zh) | 图像分割方法、装置及服务器 | |
CN116051734B (zh) | 基于三维激光扫描及实景三维建模的工程量快速统计方法 | |
CN112070908A (zh) | 三维模型的自动拆分方法、计算机设备以及存储介质 | |
EP4246452A1 (en) | Three-dimensional point cloud densification device, three-dimensional point cloud densification method, and program | |
CN114998433A (zh) | 位姿计算方法、装置、存储介质以及电子设备 | |
CN114063858A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112150491B (zh) | 图像检测方法、装置、电子设备和计算机可读介质 | |
US20230048643A1 (en) | High-Precision Map Construction Method, Apparatus and Electronic Device | |
CN115880555B (zh) | 目标检测方法、模型训练方法、装置、设备及介质 | |
CN111353957A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111739043A (zh) | 一种停车位绘制方法、装置、设备和存储介质 | |
CN116091709A (zh) | 建筑物的三维重建方法、装置、电子设备和存储介质 | |
CN116630912A (zh) | 三维语义占用预测方法、系统、设备、介质及产品 | |
CN113781653B (zh) | 对象模型生成方法、装置、电子设备及存储介质 | |
CN108731648B (zh) | 2000独立坐标系参数获取方法、装置与计算机可读存储介质 | |
CN113362227A (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 307, 3 / F, supporting public building, Mantingfangyuan community, qingyanli, Haidian District, Beijing 100086 Patentee after: Beijing Wuyi Vision digital twin Technology Co.,Ltd. Address before: Room 307, 3 / F, supporting public building, Mantingfangyuan community, qingyanli, Haidian District, Beijing 100086 Patentee before: DANGJIA MOBILE GREEN INTERNET TECHNOLOGY GROUP Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |