具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好地理解本申请所提供的技术方案,下面先结合一些附图对本申请提供的数据处理方法进行说明。如图1所示,本申请实施例提供的数据处理方法,包括下文S1-S3。其中,该图1为本申请实施例提供的一种数据处理方法的流程图。
S1:获取图像数据,该图像数据携带有至少一个建筑物对应的像素点。
其中,图像数据是指在分析一些建筑物所处位置时所需参考的数据(比如,图2所示的图像数据);而且该图像数据包括至少一个建筑物对应的像素点,以使该图像数据用于描述这些建筑物。需要说明的是,对于任一建筑物来说,该建筑物对应的像素点用于描述该建筑物在该图像数据中所占区域,以便后续能够借助该建筑物对应的部分或者全部像素点分析该建筑物所处位置;而且本申请不限定该建筑物对应的像素点,比如,该建筑物对应的像素点可以包括该建筑物在该图像数据中所占区域内所出现的像素点。
另外,本申请不限定建筑物,比如,其可以是指楼房,也可以是指其他建筑物。
此外,本申请也不限定上文“至少一个建筑物”,比如,其可以是指某个小区内的所有楼房。
还有,本申请不限定上文图像数据的获取方式,比如,其可以采用现有的或者未来出现的任意一种能够获取到能够描述一些建筑物所处位置的图像数据进行实施。
实际上,因地图可以描述出建筑物所处位置,故可以利用地图确定上文图像数据。基于此,本申请还提供了上文图像数据的一种获取方式,其具体可以包括下文步骤11-步骤12。
步骤11:当地图处于展示状态时,按照目标建筑群对应的地图展示配置参数调整该地图的展示状态,以使调整后的地图用于展示该目标建筑群,该地图展示配置参数包括中心点参数和缩放参数,该中心点参数是依据该目标建筑群的中心位置信息所确定的,该缩放参数是依据该目标建筑群在该地图上所占区域进行确定的。
其中,地图用于描述一些建筑物所处位置;而且本申请不限定该地图,其可以采用现有的或者未来出现的任意一种数字地图进行实施。
另外,本申请不限定上文地图的展示方式,比如,其可以借助某些应用程序进行展示,也可以借助某些网页进行展示。
目标建筑群是指需要进行建筑物位置确定处理的建筑群体;而且该目标建筑群包括至少一个建筑物。需要说明的是,本申请不限定该目标建筑群,比如,其可以是某小区,也可以是图2所示的建筑群体。
目标建筑群对应的地图展示配置参数是指在针对该目标建筑群进行定位处理时所需依据的地图展示配置参数;而且该地图展示配置参数是依据该目标建筑群的相关信息(比如,中心点坐标、所占区域的尺寸等)进行确定的。
另外,对于上文目标建筑群对应的地图展示配置参数来说,该地图展示配置参数可以至少包括中心点参数和缩放参数。下面分别介绍这两种参数。
中心点参数用于描述在地图展示时所需依据的展示中心位置;而且该中心点参数可以依据目标建筑群的中心位置信息进行确定,以使按照该中心点参数进行展示的地图的中心点能够定位至该目标建筑群的中心位置。其中,该目标建筑群的中心位置信息用于描述该目标建筑群的中心;而且本申请不限定该目标建筑群的中心位置信息,比如,其可以采用该目标建筑群的中心坐标进行实施。需要说明的是,本申请不限定该目标建筑群的中心位置信息的获取方式,比如,可以由人工标注进行实施。另外,本申请也不限定该中心点参数的确定过程,比如,其具体可以为:直接利用该目标建筑群的中心位置信息,自动调整该地图的中心点参数,以使调整后的中心点参数所描述的位置就是该目标建筑群的中心位置信息所描述的位置,从而使得按照该调整后的中心点参数进行展示的地图的中心点能够定位至该目标建筑群的中心位置。
缩放参数用于描述在地图展示时所需依据的缩放比例;而且该缩放参数可以依据该目标建筑群在该地图上所占区域进行确定,以使按照该缩放参数进行展示的地图恰好能够完整地展示出该目标建筑群。需要说明的是,本申请不限定该缩放参数的确定过程,比如,当该地图利用预设窗口进行展示时,该缩放参数的确定过程具体可以为:按照该预设窗口的尺寸以及该目标建筑群在该地图上所占区域的尺寸,计算该缩放参数,以使按照该该缩放参数进行展示的地图恰好能够在该预设窗口内完整地展示出该目标建筑群,如此能够实现在确保该目标建筑群完整的前提下提高该目标建筑群的展示清晰程度。
基于上文步骤11的相关内容可知,对于一个正在展示的地图来说,如果想要针对目标建筑群进行位置确定处理,则可以先依据该目标建筑群的相关信息(比如,中心点坐标、所占区域的尺寸等),确定该目标建筑群对应的地图展示配置参数,以使该地图展示配置参数能够表示出在利用该地图清晰完整地展示该目标建筑群时所需依据的配置参数;再按照该地图展示配置参数调整该地图的展示状态,得到调整后的地图,以使该调整后的地图的中心点就是该目标建筑群的中心位置,并使得该调整后的地图能够清晰完整地展示该目标建筑群,从而使得针对该调整后的地图通过截图方式所获取的图像数据能够在确保该目标建筑群完整的前提下更清晰地描述出该目标建筑群,如此有利于提高针对该目标建筑群的位置确定效果。
步骤12:对调整后的地图进行截图处理,得到图像数据。
本申请中,在按照目标建筑群对应的地图展示配置参数调整地图的展示状态之后,可以针对调整后的地图进行截图处理,以得到该目标建筑群对应的图像数据,以使该图像数据的中心像素点用于描述该目标建筑群的中心位置,并使得该图像数据能够清晰完整地展示目标建筑群。
基于上文步骤11至步骤12的相关内容可知,在一些应用场景下,当地图处于展示状态时,如果想要针对目标建筑群进行位置确定处理,则可以先利用该目标建筑群对应的地图展示配置参数调整地图的展示状态,得到调整后的地图,以使该调整后的地图能够在确保该目标建筑群完整的前提下更清晰地描述出该目标建筑群;再针对该调整后的地图进行截图处理,以得到该目标建筑群对应的图像数据,以使该图像数据能够清晰完整地展示目标建筑群,以便后续能够借助针对该图像数据的处理过程(比如,下文S2-S3所示的处理过程),确定出该目标建筑群中各个建筑物所处位置。
基于上文S1的相关内容可知,如果想要针对目标建筑群进行位置确定处理,则获取该目标建筑群对应的图像数据,以使该图像数据携带有该目标建筑群中各个建筑物对应的像素点,从而使得该图像数据能够表示出该目标建筑群中各个建筑物所处位置。
S2:从图像数据中确定各建筑物对应的边缘点集合。
其中,对于任一建筑物来说,该建筑物对应的边缘点集合用于记录该建筑物在上文图像数据上所占用的所有像素点中位于边缘位置的像素点,以使该建筑物对应的边缘点集合能够描述出该建筑物在该图像数据中所呈现的轮廓。
另外,本申请不限定上文S2的实施方式,比如,该S2可以采用现有的或者未来出现的任意一种能够从图像数据中提取出一些对象的边缘信息的方法(比如,任意一种边缘提取方法)进行实施。
实际上,为了更好地提高边缘点集合的确定效果,本申请还提供了上文S2的一种可能的实施方式,在该实施方式中,当上文图像数据至少包括至少一个建筑物对应的像素点时,该S2具体可以包括下文步骤21-步骤23。
步骤21:对上文图像数据中除了至少一个建筑物对应的像素点以外的其他像素点进行挖空处理,得到建筑物描述图像,该建筑物描述图像包括上文至少一个建筑物对应的像素点。
其中,建筑物描述图像用于只记录上文图像数据所描述的各个建筑物在该图像数据上所占用的像素点,以使该建筑物描述图像能够表示出上文图像数据所描述的所有建筑物。可见,该建筑物描述图像只包括上文至少一个建筑物对应的像素点。
另外,本申请不限定挖空处理的实施方式,比如,其具体可以为:只是单纯地删除了像素点的像素值,并保留了像素点所处位置。作为示例,当上文图像数据采用下文公式(1)所示的F1进行实施时,如果需要针对该F1中第2行第2列像素点进行挖空处理,则可以得到下文公式(2)所示的F2这一图像数据。
其中,F1表示挖空处理前的图像数据;F2表示针对该F1中第2行第2列像素点进行挖空处理之后的图像数据。
基于上文步骤21的相关内容可知,在获取到包括至少一个建筑物对应的像素点的图像数据之后,可以利用该图像数据中所记录的所有建筑物对应的像素点,构建建筑物描述图像,以使该建筑物描述图像只包括这些建筑物对应的像素点,从而使得该建筑物描述图像只用于描述这些建筑物在该图像数据中所呈现的状态,如此能够有效地避免该图像数据中其他像素点(比如,用于两个建筑物之间的空地的像素点)对建筑物位置确定所造成的干扰,从而有利于提高位置确定效果。
步骤22:若上文建筑物描述图像中存在第六类点以及该第六类点对应的相邻点,而且该第六类点对应的相邻点的个数达到第四阈值,则对该建筑物描述图像中的第六类点进行挖空处理,得到边缘点描述图像,该边缘点描述图像包括所述至少一个建筑物对应的边缘点。
其中,第六类点用于代表上文建筑物描述图像中存在的、位于某个建筑物所占区域内部的像素点,以使该第六类点能够代表内部点(也就是,非边缘点)。其中,该内部点是指该建筑物描述图像中存在的、位于某个建筑物所占区域内部的像素点。可见,在一种可能的实施方式下,该第六类点可以包括所有建筑物对应的内部点。
另外,对于上文第六类点来说,因该第六类点属于内部点,以使该第六类点在上文建筑物描述图像中存在很多相邻点(比如,在前、后、左、右、以及四个斜角方向上出现的相邻点),从而使得该第六类点具有以下特点:该建筑物描述图像中存在该第六类点以及该第六类点对应的相邻点,而且该第六类点对应的相邻点的个数达到第四阈值。其中,该第四阈值可以预先设定,比如,其可以为8。该第六类点对应的相邻点是指在该建筑物描述图像中存在的与该第六类点位置相邻(比如,在前、后、左、右、以及四个斜角方向上相邻)的有效像素点。该有效像素点是指该建筑物描述图像中存在的、具有像素值的像素点(也就是,用于描述某个建筑物的像素点)。
边缘点描述图像用于描述在上文图像数据中所呈现的各个建筑物的轮廓;而且该边缘点描述图像只包括上文至少一个建筑物对应的边缘点。其中,对于任一建筑物,该建筑物对应的边缘点用于描述该建筑物在该图像数据中所呈现的轮廓。
基于上文步骤22的相关内容可知,在获取到用于描述上文至少有一个建筑物所处状态的建筑物描述图像之后,可以从该建筑物描述图像中挖空每个建筑物对应的内部点,以使挖空处理后的图像数据中只保留了每个建筑物对应的边缘点,以使该挖空处理后的建筑物描述图像能够以较少像素点表示出每个建筑物所处位置。
步骤23:对上文边缘点描述图像中的像素点进行分组处理,得到各建筑物对应的边缘点集合。
需要说明的是,本申请不限定步骤23的实施方式,例如,其可以采用现有的或者未来出现的任意一种能够将上文边缘点描述图像中像素点进行分组处理的方案进行实施。
又如,上文步骤23可以借助近邻传播方式进行实现,其具体为:首先,从该边缘点描述图像中随机选择一个像素点,并利用该像素点初始化一个建筑物对应的边缘点集合,以使该边缘点集合包括该像素点;其次,查找距离该像素点最近的像素点,并将该“距离该像素点最近的像素点”添加至该边缘点集合;然后,查找距离该“距离该像素点最近的像素点”最近的像素点,并将该查找到的像素点添加至该边缘点集合;如此迭代多次即可构成该建筑物对应的边缘点集合;而且每个建筑物对应的边缘点集合的确定过程均采用前述过程进行实现即可。需要说明的是,本段所涉及的迭代过程的停止条件为:在查找过程中,查找到的像素点与作为查找关键词的像素点之间的距离大于预设距离阈值,该预设距离阈值可以依据实际的应用场景进行设定。
基于上文步骤21至步骤23的相关内容可知,在获取到用于描述至少一个建筑物的图像数据之后,可以先从该图像数据中获取所有建筑物对应的像素点;再挖空每个建筑物对应的内部点;最后,对剩余点进行分组处理,即可得到各个建筑物对应的边缘点集合,以便后续能够基于各个建筑物对应的边缘点集合,分别分析各个建筑物所处位置。
基于上文S2的相关内容可知,在获取到用于描述上文至少一个建筑物的图像数据之后,可以从该图像数据中提取出各个建筑物对应的边缘点集合,以使各个建筑物对应的边缘点集合分别能够描述出各个建筑物在该图像数据中所呈现的轮廓,以便后续能够基于各个建筑物对应的边缘点集合,分别分析各个建筑物所处位置。
S3:对于任一建筑物,利用该建筑物对应的边缘点集合,分析该建筑物的位置信息。
其中,对于任一建筑物来说,该建筑物的位置信息用于描述该建筑物所处的地理位置;而且本申请不限定该建筑物的位置信息的表示方式,比如,其可以借助任意一种地理位置表示方法(比如,经纬度等表示方法)进行实施。
另外,本申请不限定上文S3的实施方式,例如,当上文“至少一个建筑物”包括N个建筑物时,该S3具体可以为:先将第n个建筑物对应的边缘点集合中各个像素点的图像坐标转换为地理坐标,得到该边缘点集合中各个像素点对应的地理坐标;再将该边缘点集合中所有像素点对应的地理坐标进行集合,得到该第n个建筑物的位置信息,以使该位置信息包括该边缘点集合中所有像素点对应的地理坐标。其中,该像素点的图像坐标用于描述该像素点在上文图像数据的图像坐标系下所具有的坐标;而且本申请不限定该图像坐标系,比如,该图像坐标系是指将该图像数据的左上角作为原点所建立的坐标系。需要说明的是,本申请不限定坐标转换的实施方式,比如,其可以采用现有的或者未来出现的任意一种能够将地图截图中的图像坐标转换为实际的地理坐标的方法(比如,按照某种预先设定的转换规则进行坐标转换等实施方式)进行实施。其中,n为正整数,n≤N,N为正整数,N表示上文图像数据所描述的建筑物的个数。还需要说明的是,在一些应用场景下,本申请所涉及的坐标转换过程可能需要使用上文图像数据自身所具有的地理坐标信息(比如,该图像数据所描述的建筑群所处区域的地理坐标范围等)。
实际上,对于上文边缘点集合来说,该边缘点集合中存在的像素点依旧比较多,故为了更好地节省资源(比如,存储资源、计算资源、时间资源等),本申请还提供了上文S3的一种可能的实施方式,在该实施方式中,当上文“至少一个建筑物”包括N个建筑物时,该S3具体可以包括下文步骤31-步骤32。
步骤31:对第n个建筑物对应的边缘点集合进行简化处理,得到该第n个建筑物对应的简化处理后的边缘点集合,以使该第n个建筑物对应的简化处理后的边缘点集合中的像素点个数少于该第n个建筑物对应的边缘点集合的像素点个数。其中,n为正整数,n≤N,N为正整数。
其中,简化处理用于删除一个建筑物对应的边缘点集合中存在的一些使用价值比较小的像素点。
另外,本申请不限定简化处理的实施方式,比如,其可以为:按照预先依据应用场景所设定的简化处理规则,对第n个建筑物对应的边缘点集合进行简化处理,得到该第n个建筑物对应的简化处理后的边缘点集合。其中,n为正整数,n≤N,N为正整数。
此外,为了更好地理解简化处理,下面结合一些情况进行说明。
情况1,在一些应用场景下,对于由上文边缘点集合中多个像素点所构成的斜线来说,该斜线可能会因为矢量像素化的原因产生的锯齿情况(比如,由图3或者图4中“处理前的斜线”所示的锯齿情况),以使该锯齿情况下作为尖齿的像素点所提供的位置信息的使用价值不大。
基于上段内容可知,为了更好地提高简化效果,可以针对上文边缘点集合进行锯齿简化处理。基于此可知,在一种可能的实施方式下,上文简化处理可以至少包括下文步骤311。
步骤310:若第n个建筑物对应的边缘点集合中存在第一类点,则从该第n个建筑物对应的边缘点集合中删除该第一类点;该第n个建筑物对应的边缘点集合包括该第一类点对应的第一邻点和该第一类点对应的第二邻点;该第一邻点与该第二邻点位于同一条直线上,该第一类点不位于该直线上。其中,n为正整数,n≤N,N为正整数。
其中,第一类点是指满足预设锯齿简化条件的像素点,以使该第一类点能够代表充当尖齿的像素点(比如,图4所示的Pn这一像素点)。
预设锯齿简化条件用于筛选锯齿情况下所需删除的像素点(也就是,上文第一类点);而且本申请不限定该预设锯齿简化条件,比如,当上文第n个建筑物对应的边缘点集合包括该第一类点(比如,图4所示的Pn这一像素点)、该第一类点对应的第一邻点(比如,图4所示的Pn-1这一像素点)、以及该第一类点对应的第二邻点(比如,图4所示的Pn+1这一像素点)时,该预设锯齿简化条件具体可以为:该第一邻点与该第二邻点位于同一条直线上,而且该第一类点不位于该直线上。其中,该第一邻点是指在某个方向(比如,图4所示的斜线方向等)上排列位置比该第一类点所处位置靠前,而且与该第一类点所处位置相邻的像素点。该第二邻点是指在该方向上排列位置比该第一类点所处位置靠后,而且与该第一类点所处位置相邻的像素点。可见,该第一邻点、该第一类点以及该第二邻点是一组位置依次相邻的像素点。
又如,在一些应用场景下,上文预设锯齿简化条件可以用于筛选锯齿情况下充当尖齿的像素点(比如,图4所示的Pn这一像素点)。基于此可知,在一种可能的实施方式下,当上文第n个建筑物对应的边缘点集合包括该第一类点(比如,图4所示的Pn这一像素点)、该第一类点对应的第一邻点(比如,图4所示的Pn-1这一像素点)、以及该第一类点对应的第二邻点(比如,图4所示的Pn+1这一像素点)时,该预设锯齿简化条件具体可以为:该第一类点位于由该第一类点、该第一邻点以及该第二邻点所构成的锯齿形状(比如,图4中左边虚线框所框定的形状)中的尖齿位置(比如,图4中Pn这一像素点在图4中左边虚线框所框定的形状内所处位置)。可见,该第一类点可以位于其前后相邻点之间的犄角位置,比如,左-中上-右。
基于上文步骤310的相关内容可知,在一些应用场景中,对于任一建筑物来说,当获取到该建筑物对应的边缘点集合之后,可以检测该边缘点集合中是否存在满足预设锯齿简化条件的第一类点,若存在,则为了更好地提高简化效果,可以直接从该边缘点集合中删除该第一类点,以使删除处理后的边缘点集合中不存在满足预设锯齿简化条件的第一类点,从而使得删除处理后的边缘点集合中不存在因锯齿情况而导致的具有较小使用价值的像素点,进而使得该删除处理后的边缘点集合能够以更少的像素点表示出该建筑物所处位置。
情况2,在一些应用场景下,对于由上文边缘点集合来说,该边缘点集合中多个位置依次相邻的像素点可以形成一条直线,以使该直线内处于中间位置的像素点所提供的位置信息的使用价值不大。
基于上段内容可知,为了更好地提高简化效果,可以针对上文边缘点集合进行中心点简化处理。基于此可知,在一种可能的实施方式下,上文简化处理可以至少包括下文步骤311。
步骤311:若第n个建筑物对应的边缘点集合中存在第二类点,则从该第n个建筑物对应的边缘点集合中删除该第二类点;该第n个建筑物对应的边缘点集合包括位置依次相邻的若干候选点,该若干候选点位于同一条直线上,该第二类点包括该直线上除了两个端点以外的其他点。其中,n为正整数,n≤N,N为正整数。
其中,第二类点是指满足预设中间点简化条件的像素点(比如,图5所示的Pn+1这一像素点、Pn+2这一像素点、……、Pn+N-1这一像素点),以使该第二类点能够代表在由多个像素点所构成的直线上处于中间位置的像素点。
预设中间点简化条件用于筛选在中间点简化情况下所需删除的像素点(也就是,上文第二类点);而且本申请不限定该预设中间点简化条件,比如,当上文第n个建筑物对应的边缘点集合包括位置依次相邻的若干候选点(比如,该若干候选点可以包括图5所示的Pn这一像素点、Pn+1这一像素点、……、以及Pn+N这一像素点),而且该若干候选点位于同一条直线上时,该预设中间点简化条件具体可以为:该直线上除了两个端点以外的其他点。其中,该若干候选点用于表示位置依次相邻、而且位于同一条直线上的多个像素点。端点指在该若干候选点中存在的、位于该直线的边缘位置的像素点;而且本申请不限定该两个端点,比如,该两个端点可以包括首位点和尾位点,该首位点是指在该若干候选点中存在的、用于作为该直线的起始端点的像素点(比如,图5所示的Pn这一像素点)。该尾位点是指在该若干候选点中存在的、用于作为该直线的终止端点的像素点(比如,图5所示的Pn+N这一像素点)。
基于上文步骤311的相关内容可知,在一些应用场景中,对于任一建筑物来说,当获取到该建筑物对应的边缘点集合(或者,利用上文步骤310处理后的边缘点集合)之后,可以检测该边缘点集合中是否存在满足预设中间点简化条件的第二类点,若存在,则为了更好地提高简化效果,可以直接从该边缘点集合中删除该第二类点,以使删除处理后的边缘点集合中不存在满足预设中间点简化条件的第二类点,从而使得删除处理后的边缘点集合中不存在由多个位置依次相邻的像素点形成的直线中出现的具有较小使用价值的像素点,进而使得该删除处理后的边缘点集合能够以更少的像素点表示出该建筑物所处位置。
情况3,在一些应用场景下,对于由上文边缘点集合来说,该边缘点集合中可能存在一些靠近边缘位置的内部点,而且该内部点具有较小的使用价值。
基于上段内容可知,为了更好地提高简化效果,可以针对上文边缘点集合进行三点距离简化处理。基于此可知,在一种可能的实施方式下,上文简化处理可以至少包括下文步骤312。
步骤312:若第n个建筑物对应的边缘点集合中存在第三类点,则从该第n个建筑物对应的边缘点集合中删除该第三类点;该第n个建筑物对应的边缘点集合包括该第三类点对应的第三邻点和该第三类点对应的第四邻点,该第三类点到由该第三邻点与该第四邻点构成的直线的距离小于第一阈值。其中,n为正整数,n≤N,N为正整数。
其中,第三类点是指满足预设三点距离简化条件的像素点,以使该第三类点能够代表靠近边缘位置的内部点(比如,图6所示的Pn这一像素点)。
预设三点距离简化条件用于筛选三点距离简化情况下所需删除的像素点(也就是,上文第三类点);而且本申请不限定该预设三点距离简化条件,比如,当上文第n个建筑物对应的边缘点集合包括该第三类点(比如,图6所示的Pn这一像素点)、该第三类点对应的第三邻点(比如,图6所示的Pn-1这一像素点)、以及该第三类点对应的第四邻点(比如,图6所示的Pn+1这一像素点)时,该预设三点距离简化条件具体可以为:该第三类点到由该第三邻点与该第四邻点构成的直线的距离小于第一阈值。其中,该第三邻点是指在某个方向(比如,图6所示的水平方向等)上排列位置比该第三类点所处位置靠前,而且与该第三类点所处位置相邻的像素点。该第四邻点是指在该方向上排列位置比该第三类点所处位置靠后,而且与该第三类点所处位置相邻的像素点。
基于上文步骤312的相关内容可知,在一些应用场景中,对于任一建筑物来说,当获取到该建筑物对应的边缘点集合(或者,依次利用上文步骤310-步骤311处理后的边缘点集合)之后,可以检测该边缘点集合中是否存在满足预设三点距离简化条件的第三类点,若存在,则为了更好地提高简化效果,可以直接从该边缘点集合中删除该第三类点,以使删除处理后的边缘点集合中不存在满足预设三点距离简化条件的第三类点,从而使得删除处理后的边缘点集合中不存在靠近该建筑物所处区域的边缘位置的内部点,进而使得该删除处理后的边缘点集合能够以更少的像素点表示出该建筑物所处位置。
情况4,在一些应用场景下,对于由上文边缘点集合来说,该边缘点集合中可能存在一些类似于图7中Pn+1这一像素点所示的内部点,而且该内部点具有较小的使用价值。
基于上段内容可知,为了更好地提高简化效果,可以针对上文边缘点集合进行四点角度简化处理。基于此可知,在一种可能的实施方式下,上文简化处理可以至少包括下文步骤313。
步骤313:若第n个建筑物对应的边缘点集合中存在第四类点,则从该第n个建筑物对应的边缘点集合中删除该第四类点;该第n个建筑物对应的边缘点集合包括该第四类点对应的第五邻点、该第四类点对应的第六邻点、以及该第六邻点对应的第七邻点;该第五邻点与该第四类点之间的距离大于第二阈值,该第四类点和该第六邻点之间的距离不大于第二阈值,该第六邻点与该第七邻点之间的距离大于第二阈值,该第四类点到由该第五邻点与该第七邻点构成的直线的距离不大于第三阈值,该第六邻点到由该第五邻点与该第七邻点构成的直线的距离不大于第三阈值。其中,n为正整数,n≤N,N为正整数。
其中,第四类点是指满足预设四点角度简化条件的像素点,以使该第四类点能够代表类似于图7中Pn+1这一像素点所示的内部点。
预设四点角度简化条件用于筛选在四点角度简化情况下所需删除的像素点(也就是,上文第四类点);而且本申请不限定该预设四点角度简化条件,比如,当上文第n个建筑物对应的边缘点集合包括该第四类点(比如,图7中Pn+1这一像素点)、该第四类点对应的第五邻点(比如,图7中Pn这一像素点)、该第四类点对应的第六邻点(比如,图7中Pn+2这一像素点)、以及该第六邻点对应的第七邻点(比如,图7中Pn+3这一像素点)时,该预设四点角度简化条件具体可以为:该第五邻点与该第四类点之间的距离(比如,由图7所示D1这一线段所描述的距离)大于第二阈值,该第四类点和该第六邻点之间的距离(比如,由图7所示D2这一线段所描述的距离)小于或者等于该第二阈值,该第六邻点与该第七邻点之间的距离(比如,由图7所示D3这一线段所描述的距离)大于该第二阈值,该第四类点到由该第五邻点与该第七邻点构成的直线的距离(比如,由图7所示D4这一线段所描述的距离)小于或者等于第三阈值,该第六邻点到由该第五邻点与该第七邻点构成的直线的距离(比如,由图7所示D5这一线段所描述的距离)小于或者等于第三阈值。其中,该第二阈值可以预先设定,比如,该第二阈值等于上文第一阈值;该第三阈值也可以预先设定,比如,该第三阈值等于该第二阈值的二倍。该第五邻点是指在某个方向(比如,图7所示的水平方向等)上排列位置比该第四类点所处位置靠前,而且与该第四类点所处位置相邻的像素点。该第六邻点是指在该方向上排列位置比该第四类点所处位置靠后,而且与该第四类点所处位置相邻的像素点。第七邻点是指在该方向上排列位置比该第六邻点所处位置靠后,而且与该第六邻点所处位置相邻的像素点。
基于上文步骤313的相关内容可知,在一些应用场景中,对于任一建筑物来说,当获取到该建筑物对应的边缘点集合(或者,依次利用上文步骤310-步骤312处理后的边缘点集合)之后,可以检测该边缘点集合中是否存在满足预设四点角度简化条件的第四类点,若存在,则为了更好地提高简化效果,可以直接从该边缘点集合中删除该第四类点,以使删除处理后的边缘点集合中不存在满足预设四点角度简化条件的第四类点,从而使得删除处理后的边缘点集合中不存在类似于图7中Pn+1这一像素点所示的内部点,进而使得该删除处理后的边缘点集合能够以更少的像素点表示出该建筑物所处位置。
情况5,在一些应用场景下,对于由上文边缘点集合来说,该边缘点集合中可能存在一些类似于图7中Pn+2这一像素点所示、靠近边缘位置的内部点,而且该内部点具有较小的使用价值。
基于上段内容可知,为了更好地提高简化效果,可以针对上文边缘点集合进行校正简化处理。基于此可知,在一种可能的实施方式下,上文简化处理可以至少包括下文步骤314。
步骤314:若第n个建筑物对应的边缘点集合中存在第五类点,则从该第n个建筑物对应的边缘点集合中删除该第五类点;该第n个建筑物对应的边缘点集合包括该第五类点对应的第八邻点、该第五类点对应的第九邻点、以及该第八邻点对应的第十邻点;该第十邻点与该第八邻点之间的距离大于第二阈值,该第八邻点和该第五类点之间的距离不大于第二阈值,该第五类点与该第九邻点之间的距离大于第二阈值,该第八邻点到由该第十邻点与该第九邻点构成的直线的距离不大于第三阈值,该第五类点到由该第十邻点与该第九邻点构成的直线的距离不大于第三阈值,该第五类点到由该第十邻点与该第九邻点构成的直线的距离小于第一阈值。其中,n为正整数,n≤N,N为正整数。
其中,第五类点是指满足预设校正条件的像素点,以使该第五类点能够代表类似于图7中Pn+2这一像素点所示、靠近边缘位置的内部点。
预设校正条件用于筛选在校正简化处理时所需删除的像素点(也就是,上文第五类点);而且本申请不限定该预设校正条件,比如,当上文第n个建筑物对应的边缘点集合包括第五类点(比如,图7中Pn+2这一像素点)、该第五类点对应的第八邻点(比如,图7中Pn+1这一像素点)、该第五类点对应的第九邻点(比如,图7中Pn+3这一像素点)、以及该第八邻点对应的第十邻点(比如,图7中Pn这一像素点)时,该预设校正条件具体可以为:该第十邻点与该第八邻点之间的距离(比如,由图7所示D1这一线段所描述的距离)大于第二阈值,该第八邻点和该第五类点之间的距离(比如,由图7所示D2这一线段所描述的距离)小于或者等于第二阈值,该第五类点与该第九邻点之间的距离(比如,由图7所示D3这一线段所描述的距离)大于第二阈值,该第八邻点到由该第十邻点与该第九邻点构成的直线的距离(比如,由图7所示D4这一线段所描述的距离)小于或者等于第三阈值,该第五类点到由该第十邻点与该第九邻点构成的直线的距离(比如,由图7所示D5这一线段所描述的距离)小于或者等于第三阈值,该第五类点到由该第十邻点与该第九邻点构成的直线的距离小于第一阈值。其中,该第八邻点是指在某个方向(比如,图7所示的水平方向等)上排列位置比该第五类点所处位置靠前,而且与该第五类点所处位置相邻的像素点。该第九邻点是指在该方向上排列位置比该第五类点所处位置靠后,而且与该第五类点所处位置相邻的像素点。该第十邻点是指在该方向上排列位置比该第八邻点所处位置靠前,而且与该第八邻点所处位置相邻的像素点。需要说明的是,本申请不限定该第三阈值与该第一阈值之间的关联关系,比如,该第三阈值是该第一阈值的二倍。
基于上文步骤314的相关内容可知,在一些应用场景中,对于任一建筑物来说,当获取到该建筑物对应的边缘点集合(或者,依次利用上文步骤310-步骤312处理后的边缘点集合)之后,可以检测该边缘点集合中是否存在满足预设校正条件的第五类点,若存在,则为了更好地提高简化效果,可以直接从该边缘点集合中删除该第五类点,以使删除处理后的边缘点集合中不存在满足预设校正条件的第五类点,从而使得删除处理后的边缘点集合中不存在类似于图7中Pn+2这一像素点所示的、靠近边缘位置的内部点,进而使得该删除处理后的边缘点集合能够以更少的像素点表示出该建筑物所处位置。
情况6,在一些应用场景下,为了更好地提高简化效果以及简化效率,可以依次针对某个建筑物对应的边缘点集合进行上文所示的多种简化处理。基于此,本申请还提供了上文步骤31的一种可能的实施方式,其具体可以包括下文步骤315-步骤319。
步骤315:如果第n个建筑物对应的边缘点集合中存在满足预设锯齿简化条件的第一类点,则从该第n个建筑物对应的边缘点集合中删除该第一类点,得到该第n个建筑物对应的锯齿简化后集合。其中,n为正整数,n≤N,N为正整数。
本申请中,在从上文图像数据中提取出第n个建筑物对应的边缘点集合之后,可以检测该边缘点集合中是否存在满足预设锯齿简化条件的第一类点(比如,充当尖齿的像素点或者类似于图4所示的Pn这一像素点),若存在,则可以直接从该边缘点集合中删除该第一类点,得到该第n个建筑物对应的锯齿简化后集合,以使该锯齿简化后集合中不存在满足预设锯齿简化条件的第一类点,如此能够实现锯齿简化处理。其中,n为正整数,n≤N,N为正整数。
步骤316:如果上文第n个建筑物对应的锯齿简化后集合中存在满足预设中间点简化条件的第二类点,则从该第n个建筑物对应的锯齿简化后集合中删除该第二类点,得到该第n个建筑物对应的中间点简化后集合。其中,n为正整数,n≤N,N为正整数。
本申请中,在借助锯齿简化处理得到第n个建筑物对应的锯齿简化后集合之后,可以检测该锯齿简化后集合中是否存在满足预设中间点简化条件的第二类点(比如,图5所示的Pn+1这一像素点、Pn+2这一像素点、……、Pn+N-1这一像素点),若存在,则直接从该锯齿简化后集合中删除该第二类点,得到该第n个建筑物对应的中间点简化后集合,以使该中间点简化后集合中不存在满足满足预设中间点简化条件的第二类点,如此能够实现中间点简化处理。其中,n为正整数,n≤N,N为正整数。需要说明的是,本申请不限定本段中检测的实施方式,比如,其可以采用递归方式进行实施。
步骤317:如果上文第n个建筑物对应的中间点简化后集合中存在满足预设三点距离简化条件的第三类点,则从该第n个建筑物对应的中间点简化后集合中删除该第三类点,得到该第n个建筑物对应的三点距离简化后集合;其中,n为正整数,n≤N,N为正整数。
本申请中,在借助中间点简化处理得到第n个建筑物对应的中间点简化后集合之后,可以检测该中间点简化后集合中是否存在满足预设三点距离简化条件的第三类点(比如,图6所示的Pn这一像素点),若存在,则从该中间点简化后集合中删除该第三类点,得到该第n个建筑物对应的三点距离简化后集合,以使该三点距离简化后集合中不存在满足预设三点距离简化条件的第三类点,如此能够实现三点距离简化处理。其中,n为正整数,n≤N,N为正整数。需要说明的是,本申请不限定本段中检测的实施方式,比如,其可以采用递归方式进行实施。
步骤318:如果上文第n个建筑物对应的三点距离简化后集合中存在满足预设四点角度简化条件的第四类点,则从该三点距离简化后集合中删除该第四类点,得到该第n个建筑物对应的四点角度简化后集合;其中,n为正整数,n≤N,N为正整数。
本申请中,在借助三点距离简化处理得到第n个建筑物对应的三点距离简化后集合之后,可以检测该三点距离简化后集合中是否存在满足预设四点角度简化条件的第四类点(比如,图7中Pn+1这一像素点),若存在,则从该三点距离简化后集合中删除该第四类点,得到该第n个建筑物对应的四点角度简化后集合,以使该四点角度简化后集合中不存在满足预设四点角度简化条件的第四类点,如此能够实现四点角度简化处理。其中,n为正整数,n≤N,N为正整数。需要说明的是,本申请不限定本段中检测的实施方式,比如,其可以采用递归方式进行实施。
步骤319:如果上文第n个建筑物对应的四点角度简化后集合中存在满足预设中间点简化条件的第五类点,则从该第n个建筑物对应的四点角度简化后集合中删除该第五类点,得到该第n个建筑物对应的简化处理后的边缘点集合。其中,n为正整数,n≤N,N为正整数。
本申请中,在借助四点角度简化处理得到第n个建筑物对应的四点角度简化后集合之后,可以再次检测该四点角度简化后集合中存在满足预设中间点简化条件的第五类点,若存在,则从该四点角度简化后集合中删除该第五类点,得到该第n个建筑物对应的简化处理后的边缘点集合,以使该简化处理后的边缘点集合不存在类似于图7中Pn+2这一像素点所示、靠近边缘位置的内部点,如此能够实现校正简化处理。其中,n为正整数,n≤N,N为正整数。需要说明的是,本申请不限定本段中检测的实施方式,比如,其可以采用递归方式进行实施。
基于上文步骤315至步骤319的相关内容可知,在从上文图像数据中提取出一个建筑物对应的边缘点集合之后,可以依次针对该边缘点集合进行锯齿简化处理、中间点简化处理、第一次三点距离简化处理、四点角度简化处理、以及第二次三点距离简化处理,得到该建筑物对应的简化处理后的边缘点集合,以使该边缘点集合能够以较少像素点表示该建筑物所处位置。
基于上文步骤31的相关内容可知,在从上文图像数据中提取出各个建筑物对应的边缘点集合之后,可以分别针对各个建筑物对应的边缘点集合进行简化处理,得到各个建筑物对应的简化处理后的边缘点集合(比如,图8所示的各个建筑物对应的边缘点集合),以使各个建筑物对应的简化处理后的边缘点集合中的像素点个数少于其简化前的边缘点集合的像素点个数。
步骤32:根据上文第n个建筑物对应的简化处理后的边缘点集合,确定该第n个建筑物的位置信息。其中,n为正整数,n≤N,N为正整数。
需要说明的是,本申请不限定步骤32的实施方式,例如,其具体可以为:先将第n个建筑物对应的简化处理后的边缘点集合中各个像素点的图像坐标转换为地理坐标,得到该简化处理后的边缘点集合中各个像素点对应的地理坐标;再将该简化处理后的边缘点集合中所有像素点对应的地理坐标进行集合,得到该第n个建筑物的位置信息,以使该位置信息包括该简化处理后的边缘点集合中所有像素点对应的地理坐标。其中,n为正整数,n≤N,N为正整数。需要说明的是,本申请所涉及的坐标转换的相关内容请参见上文。
基于上文步骤31至步骤32的相关内容可知,在从上文图像数据中提取出各个建筑物对应的边缘点集合之后,先针对各个建筑物对应的边缘点集合进行简化处理,以得到各个建筑物对应的简化处理后的边缘点集合;再利用各个建筑物对应的简化处理后的边缘点集合,分别分析各个建筑物的位置信息。其中,因该简化处理后的边缘点集合能够以最少像素点描述出相应建筑物所处位置,以使基于该简化处理后的边缘点集合所实现的位置分析过程,能够有效地克服在基于大量像素点坐标进行位置分析时所产生的缺陷(比如,资源消耗过大、基于大量像素点坐标所构建的三维模型的数据量过大、基于大量像素点坐标所构建的三维模型的显示性能较差等缺陷),如此有利于提高位置确定效果。
基于上文S1至S3的相关内容可知,对于本申请实施例提供的数据处理方法来说,在获取到用于描述至少一个建筑物的图像数据(比如,地图截图等)之后,先从该图像数据中确定各建筑物对应的边缘点集合,以使该边缘点集合用于记录相应的建筑物在该图像数据上所占用的所有像素点中位于边缘位置的像素点,从而使得该边缘点集合能够以较少像素点坐标描述出相应的建筑物在该图像数据中所处位置;然后,对于任一建筑物,利用该建筑物对应的边缘点集合,分析该建筑物的位置信息,以使该位置信息能够表示出该建筑物所处位置,如此能够实现从图像数据中自动分析建筑物所处位置的目的。
另外,因一个建筑物对应的边缘点集合用于记录该建筑物在图像数据上所占用的所有像素点中位于边缘位置的像素点,以使该边缘点集合能够以尽可能少的像素点描述出该建筑物在该图像数据中所处位置,从而使得基于该边缘点集合分析该建筑物的位置信息时所需消耗的资源(比如,时间资源、计算资源等)比较少,如此有利于降低位置分析过程的资源消耗。
此外,本申请不限定数据处理方法的执行主体,例如,本申请实施例提供的数据处理方法的任一实施方式可以应用于终端设备或服务器等具有数据处理功能的设备。又如,本申请实施例提供的数据处理方法的任一实施方式也可以借助不同设备(例如,终端设备与服务器、两个终端设备、或者两个服务器)之间的数据通信过程进行实现。其中,终端设备可以为智能手机、计算机、个人数字助理(Personal Digital Assitant,PDA)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。
还有,在一些应用场景下,在获取到一些建筑物的位置信息之后,可以基于这些位置信息构建这些建筑物的三维模型。基于此,本申请还提供了上文数据处理方法的一种可能的实施方式,在该实施方式中,该数据处理方法不仅包括上文S1-S3,可以还包括下文步骤41-步骤42。其中,步骤41的执行时间晚于上文S3的执行时间。
步骤41:对于任一建筑物,利用该建筑物的位置信息,构建该建筑物的三维模型。
其中,对于任一建筑物,该建筑物的三维模型用于在三维空间中描述该建筑物;而且本申请不限定该三维模型,比如,该三维模型可以是指用于模拟采光情况的三维模型。
另外,本申请不限定上文步骤41的实施方式,比如,其可以采用现有的或者未来出现的任意一种能够基于建筑物的位置信息,构建该建筑物的三维模型的方法进行实施。
步骤42:展示上文至少一个建筑物的三维模型。
基于上文步骤41至步骤42的相关内容可知,在一些应用场景下,在获取到用于描述至少一个建筑物的图像数据(比如,地图截图等)之后,先从该图像数据中确定各建筑物对应的边缘点集合,以使该边缘点集合用于记录相应的建筑物在该图像数据上所占用的所有像素点中位于边缘位置的像素点,从而使得该边缘点集合能够以较少像素点坐标描述出相应的建筑物在该图像数据中所处位置;然后,对于任一建筑物,利用该建筑物对应的边缘点集合,分析该建筑物的位置信息,以使该位置信息能够表示出该建筑物所处位置;最后,对于任一建筑物,利用该建筑物的位置信息,构建并展示该建筑物的三维模型,以使该三维模型能够按照该建筑物的位置信息展示给用户。其中,因该建筑物的位置信息是基于少量像素点坐标进行确定的,以使该建筑物的位置信息的数据量较少,从而使得基于该建筑物的位置信息所构建的三维模型的数据量也比较少,如此能够有效地减少该三维模型的数据量,从而有利于提高该三维模型的显示性能。
基于本申请实施例提供的数据处理方法,本申请实施例还提供了一种数据处理装置,下面结合图9进行解释和说明。其中,图9为本申请实施例提供的一种数据处理装置的结构示意图。需要说明的是,本申请实施例提供的数据处理装置的技术详情,请参照上文数据处理方法的相关内容。
如图9所示,本申请实施例提供的数据处理装置900,包括:
获取单元901,用于获取图像数据,所述图像数据携带有至少一个建筑物对应的像素点;
确定单元902,用于从所述图像数据中确定各所述建筑物对应的边缘点集合;
分析单元903,用于对于任一所述建筑物,利用该建筑物对应的边缘点集合,分析该建筑物的位置信息。
在一种可能的实施方式下,所述分析单元903,包括:
简化处理子单元,用于对该建筑物对应的边缘点集合进行简化处理;
位置确定子单元,用于根据简化处理后的边缘点集合,确定该建筑物的位置信息。
在一种可能的实施方式下,所述简化处理子单元包括:
第一删除子单元,用于若该建筑物对应的边缘点集合中存在第一类点,则从该建筑物对应的边缘点集合中删除所述第一类点;该建筑物对应的边缘点集合包括所述第一类点对应的第一邻点和所述第一类点对应的第二邻点;所述第一邻点与所述第二邻点位于同一条直线上,所述第一类点不位于所述直线上。
在一种可能的实施方式下,所述第一类点位于由所述第一类点、所述第一邻点以及所述第二邻点所构成的锯齿形状中的尖齿位置。
在一种可能的实施方式下,所述简化处理子单元包括:
第二删除子单元,用于若该建筑物对应的边缘点集合中存在第二类点,则从该建筑物对应的边缘点集合中删除所述第二类点;该建筑物对应的边缘点集合包括位置依次相邻的若干候选点,所述若干候选点位于同一条直线上,所述第二类点包括所述直线上除了两个端点以外的其他点。
在一种可能的实施方式下,所述简化处理子单元包括:
第三删除子单元,用于若该建筑物对应的边缘点集合中存在第三类点,则从该建筑物对应的边缘点集合中删除所述第三类点;该建筑物对应的边缘点集合包括所述第三类点对应的第三邻点和所述第三类点对应的第四邻点,所述第三类点到由所述第三邻点与所述第四邻点构成的直线的距离小于第一阈值。
在一种可能的实施方式下,所述简化处理子单元包括:
第四删除子单元,用于若该建筑物对应的边缘点集合中存在第四类点,则从该建筑物对应的边缘点集合中删除所述第四类点;该建筑物对应的边缘点集合包括所述第四类点对应的第五邻点、所述第四类点对应的第六邻点、以及所述第六邻点对应的第七邻点;所述第五邻点与所述第四类点之间的距离大于第二阈值,所述第四类点和所述第六邻点之间的距离不大于所述第二阈值,所述第六邻点与所述第七邻点之间的距离大于所述第二阈值,所述第四类点到由所述第五邻点与所述第七邻点构成的直线的距离不大于第三阈值,所述第六邻点到由所述第五邻点与所述第七邻点构成的直线的距离不大于第三阈值。
在一种可能的实施方式下,所述简化处理子单元包括:
第五删除子单元,用于若该建筑物对应的边缘点集合中存在第五类点,则从该建筑物对应的边缘点集合中删除所述第五类点;该建筑物对应的边缘点集合包括所述第五类点对应的第八邻点、所述第五类点对应的第九邻点、以及所述第八邻点对应的第十邻点;所述第十邻点与所述第八邻点之间的距离大于第二阈值,所述第八邻点和所述第五类点之间的距离不大于所述第二阈值,所述第五类点与所述第九邻点之间的距离大于所述第二阈值,所述第八邻点到由所述第十邻点与所述第九邻点构成的直线的距离不大于第三阈值,所述第五类点到由所述第十邻点与所述第九邻点构成的直线的距离不大于第三阈值,所述第五类点到由所述第十邻点与所述第九邻点构成的直线的距离小于第一阈值。
在一种可能的实施方式下,所述简化处理子单元具体用于:如果该建筑物对应的边缘点集合中存在满足预设锯齿简化条件的第一类点,则从该建筑物对应的边缘点集合中删除所述第一类点,得到锯齿简化后集合;如果所述锯齿简化后集合中存在满足预设中间点简化条件的第二类点,则从所述锯齿简化后集合中删除所述第二类点,得到中间点简化后集合;如果所述中间点简化后集合中存在满足预设三点距离简化条件的第三类点,则从所述中间点简化后集合中删除所述第三类点,得到三点距离简化后集合;如果所述三点距离简化后集合中存在满足预设四点角度简化条件的第四类点,则从所述三点距离简化后集合中删除所述第四类点,得到四点角度简化后集合;如果所述四点角度简化后集合中存在满足预设中间点简化条件的第五类点,则从所述四点角度简化后集合中删除所述第五类点,得到简化处理后的边缘点集合。
在一种可能的实施方式下,所述数据处理装置900还包括:
构建单元,用于对于任一所述建筑物,利用该建筑物的位置信息,构建该建筑物的三维模型;
展示单元,用于展示所述至少一个建筑物的三维模型。
在一种可能的实施方式下,所述获取单元901,具体用于:当地图处于展示状态时,按照目标建筑群对应的地图展示配置参数,调整所述地图的展示状态,以使调整后的地图用于展示所述目标建筑群,所述地图展示配置参数包括中心点参数和缩放参数,所述中心点参数是依据所述目标建筑群的中心位置信息所确定的,所述缩放参数是依据所述目标建筑群在所述地图上所占区域进行确定的;对调整后的地图进行截图处理,得到所述图像数据。
在一种可能的实施方式下,所述确定单元902,具体用于:对所述图像数据中除了至少一个建筑物对应的像素点以外的其他像素点进行挖空处理,得到建筑物描述图像,所述建筑物描述图像包括所述至少一个建筑物对应的像素点;若所述建筑物描述图像中存在第六类点以及所述第六类点对应的相邻点,而且所述第六类点对应的相邻点的个数达到第四阈值,则对所述建筑物描述图像中的第六类点进行挖空处理,得到边缘点描述图像,该边缘点描述图像包括所述至少一个建筑物对应的边缘点;对所述边缘点描述图像中的像素点进行分组处理,得到各所述建筑物对应的边缘点集合。
基于上述数据处理装置900的相关内容可知,对于本申请实施例提供的数据处理装置900来说,在获取到用于描述至少一个建筑物的图像数据(比如,地图截图等)之后,先从该图像数据中确定各建筑物对应的边缘点集合,以使该边缘点集合用于记录相应的建筑物在该图像数据上所占用的所有像素点中位于边缘位置的像素点,从而使得该边缘点集合能够以较少像素点坐标描述出相应的建筑物在该图像数据中所处位置;然后,对于任一建筑物,利用该建筑物对应的边缘点集合,分析该建筑物的位置信息,以使该位置信息能够表示出该建筑物所处位置,如此能够实现从图像数据中自动分析建筑物所处位置的目的。
另外,因一个建筑物对应的边缘点集合用于记录该建筑物在图像数据上所占用的所有像素点中位于边缘位置的像素点,以使该边缘点集合能够以尽可能少的像素点描述出该建筑物在该图像数据中所处位置,从而使得基于该边缘点集合分析该建筑物的位置信息时所需消耗的资源(比如,时间资源、计算资源等)比较少,如此有利于降低位置分析过程的资源消耗。
此外,本申请实施例还提供了一种电子设备,所述设备包括处理器以及存储器:所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请实施例提供的数据处理方法的任一实施方式。
参见图10,其示出了适于用来实现本公开实施例的电子设备1000的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM1003中,还存储有电子设备1000操作所需的各种程序和数据。处理装置1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
通常,以下装置可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许电子设备1000与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从ROM1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施例提供的电子设备与上述实施例提供的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本申请实施例还提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请实施例提供的数据处理方法的任一实施方式。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备可以执行上述方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。